@charset "UTF-8";
/* *****************************
 *
 * Import file to Scss or Sass.
 *
 **************************** */
/* ----------------------------------------------------------------
* reset *
----------------------------------------------------------------- */
hrml, body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0;
}

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
}

ul {
  list-style: none;
}

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

caption, th {
  text-align: left;
}

q:before, q:after {
  content: "";
}

object, embed {
  vertical-align: top;
}

legend {
  display: none;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
}

img, abbr, acronym, fieldset {
  border: 0;
}

body {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

a {
  text-decoration: none;
}

a:active, a:focus, input:active, input:focus {
  outline: 0;
}

section {
  width: 100%;
}

.wrap {
  overflow: hidden;
  position: relative;
}

/* リセット */
/* Scss Document */
/* ----------------------------------------------------------------
ブレークポイント指定
----------------------------------------------------------------- */
/* mixin */
/* Scss Document */
/* ----------------------------------------------------------------
共通パーツ
----------------------------------------------------------------- */
img {
  display: block;
  width: 100%;
}

.fadein {
  opacity: 0;
  -webkit-transform: translate(0, 50px);
          transform: translate(0, 50px);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

.fadein.scrollin {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.pcClass {
  display: block;
}
@media (max-width: 1280px) {
  .pcClass {
    /*  1280px  */
    /*  1280px  */
    display: block;
  }
}
@media (max-width: 960px) {
  .pcClass {
    /*  1024px  */
    /*  1024px  */
    display: block;
  }
}
@media (max-width: 768px) {
  .pcClass {
    /*  768px  */
    /*  768px  */
    display: none;
  }
}
@media (max-width: 480px) {
  .pcClass {
    /*  480px  */
    /*  480px  */
    display: none;
  }
}
@media (max-width: 320px) {
  .pcClass {
    /*  320px  */
    /*  320px  */
    display: none;
  }
}

.spClass {
  display: none;
}
@media (max-width: 1280px) {
  .spClass {
    /*  1280px  */
    /*  1280px  */
    display: none;
  }
}
@media (max-width: 960px) {
  .spClass {
    /*  1024px  */
    /*  1024px  */
    display: none;
  }
}
@media (max-width: 768px) {
  .spClass {
    /*  768px  */
    /*  768px  */
    display: block;
  }
}
@media (max-width: 480px) {
  .spClass {
    /*  480px  */
    /*  480px  */
    display: block;
  }
}
@media (max-width: 320px) {
  .spClass {
    /*  320px  */
    /*  320px  */
    display: block;
  }
}

h3 {
  font-size: 32px;
  margin-bottom: 30px;
  letter-spacing: 0.1em;
}
@media (max-width: 480px) {
  h3 {
    /*  480px  */
    /*  480px  */
    font-size: 28px;
  }
}
h3 span {
  font-size: 20px;
  display: block;
  letter-spacing: 0;
}

h4 {
  font-size: 24px;
}
@media (max-width: 480px) {
  h4 {
    /*  480px  */
    /*  480px  */
    font-size: 22px;
  }
}

p {
  font-size: 14px;
  line-height: 2;
}

a {
  color: #333333;
  /*display: block;*/
}

#pageTop {
  width: 50px;
  height: 50px;
  position: fixed;
  right: 20px;
  bottom: 190px;
  background-image: url(../img/main-blue_bg.jpg);
  z-index: 11;
}
#pageTop a {
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
}
#pageTop a::before {
  content: url(../img/angle-double-up-solid.svg);
  width: 13px;
  height: 20px;
  color: #fff;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}

.click-btn {
  font-size: 16px;
  max-width: 232px;
  width: 100%;
  line-height: 48px;
  text-align: center;
  display: inline-block;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media (max-width: 480px) {
  .click-btn {
    /*  480px  */
    /*  480px  */
    font-size: 12px;
  }
}

.t-center {
  text-align: center;
}

.t-left {
  text-align: left;
}

.t-right {
  text-align: right;
}

/* 共通パーツCSS */
/* ----------------------------------------------------------------
header
----------------------------------------------------------------- */
.container {
  margin: 0 auto;
}

.clr:after, .col:after, .container:after, .group:after, .row:after {
  content: "";
  display: table;
  clear: both;
}

.row {
  padding-bottom: 0;
}

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

@media (min-width: 980px), print {
  .gutters .col {
    margin-left: 2%;
  }
  .gutters .col:first-child {
    margin-left: 0;
  }
  .gutters .colR:first-child {
    margin-right: 0;
  }
  .sp {
    display: none;
  }
}
@media (max-width: 980px) {
  .sp_none {
    display: none !important;
  }
}
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

img {
  max-width: 100%;
  height: auto;
}

@media only screen and (max-width: 980px) {
  .sbox {
    margin-bottom: 20px;
  }
  .container {
    padding: 0 30px;
  }
  section {
    padding: 100px 0;
  }
}
@media only screen and (max-width: 480px) {
  .container {
    padding: 0 20px;
  }
}
@media only screen and (max-width: 374px) {
  .container {
    padding: 0 10px;
  }
}
@media print, screen and (min-width: 980px) {
  .sbox {
    margin-bottom: 25px;
  }
  .container {
    max-width: 1220px;
    width: 90%;
  }
}
#header {
  border-top: solid 4px #004373;
  -webkit-box-shadow: 0px 3px 15px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 3px 15px rgba(0, 0, 0, 0.2);
  z-index: 10;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background: #fff;
}

#gNav a:hover {
  color: #999;
}

nav li, nav li a {
  font-size: 13px;
  letter-spacing: 0.2em;
}

nav .sub-menu, .mean-container .mean-nav ul ul {
  background: #004373;
  color: #FFFFFF;
  /*background-image: linear-gradient(to top, #fff1eb 0%, #ace0f9 100%);*/
}

nav .sub-menu, .mean-container .mean-nav ul ul a {
  color: #FFFFFF;
}

@media only screen and (max-width: 980px) {
  #header {
    padding: 15px 0;
    height: 60px;
  }
  .h_logo {
    width: 120px;
    z-index: 100;
    position: absolute;
    top: 11px;
  }
  #gNav .nav {
    overflow-y: auto;
    height: 100vh;
  }
  .mean-nav .container {
    padding: 0;
  }
  nav li .fa {
    display: none;
  }
}
@media print, screen and (min-width: 980px) {
  #header {
    height: 80px;
  }
  .h_logo img {
    width: 165px;
  }
  #h_top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #gNav ul {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  #gNav li {
    position: relative;
  }
  #gNav li.contact {
    background-color: #333333;
    color: #FFFFFF;
  }
  #gNav li.contact a {
    color: #FFFFFF;
  }
  #gNav li a {
    padding: 0 20px;
  }
  #gNav li p.no-link {
    padding: 0 20px;
    position: relative;
    display: block;
    text-align: center;
    line-height: 76px;
    font-size: 13px;
    color: #333333;
  }
  #gNav li p.no-link:hover {
    background-color: #004373;
    color: #FFFFFF;
  }
  #gNav li:last-child {
    margin-right: 0;
  }
  #gNav li i {
    font-size: 16px;
    margin-left: 5px;
  }
  #gNav li a {
    position: relative;
    display: block;
    text-align: center;
    line-height: 76px;
  }
  #gNav .sub-menu {
    visibility: hidden;
    opacity: 0;
    z-index: 1;
    display: block;
    position: absolute;
    top: 77px;
    /* left: 50%; */
    margin-left: -17px;
    width: 140px;
  }
  #gNav .sub-menu a {
    display: block;
    border-bottom: none;
    padding: 20px;
    line-height: 1.2em;
  }
  #gNav .sub-menu li a {
    color: #FFFFFF;
  }
  #gNav .sub-menu a:hover:after {
    content: none;
  }
  #gNav .sub-menu li {
    display: block;
    font-size: 16px;
    padding: 0;
    margin: 0;
  }
  #gNav .sub-menu li:last-child {
    border-bottom: none;
  }
  #gNav ul > li:hover a, #gNav .current-menu-item a, #gNav .current-menu-parent a {
    background-color: #004373;
    color: #FFFFFF;
  }
  #gNav li:hover ul.sub-menu {
    top: 76px;
    visibility: visible;
    opacity: 1;
    z-index: 9999;
  }
  #gNav li ul li:after {
    content: none;
  }
  #gNav .sub-menu li a:hover {
    background: #fff;
    color: #004373;
  }
  #gNav .contact_btn a:hover {
    /*  color: #fff;*/
  }
}
@media only screen and (max-width: 980px) {
  .fixed {
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 1;
  }
  #header .mask {
    background: rgba(22, 34, 42, 0.4);
    top: 60px;
    left: 0;
    z-index: 1;
    position: absolute;
    width: 100%;
    height: 100vh;
    opacity: 1;
    display: none;
  }
}
a.meanmenu-reveal {
  display: none;
}

.mean-container .mean-bar {
  width: 100%;
  position: fixed;
  background: none;
  min-height: 60px;
  z-index: 999998;
  top: 0;
  left: 0;
}

.mean-container .mean-bar {
  width: 100%;
  position: fixed;
  background: none;
  min-height: 60px;
  z-index: 98;
  top: 0;
  left: 0;
}

.meanmenu-reveal-btn {
  position: absolute;
  display: block;
  z-index: 99999;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 60px;
  height: 60px;
  right: 0;
  top: 0;
}

.meanmenu-reveal {
  width: 26px;
  height: 20px;
  margin: 20px;
  display: block !important;
  position: relative;
}

.meanmenu-reveal span {
  display: inline-block;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  margin: 0 auto;
}

.meanmenu-reveal span:nth-of-type(1) {
  top: 0;
  background: #004373;
}

.meanmenu-reveal span:nth-of-type(2) {
  top: 8px;
  background: #004373;
}

.meanmenu-reveal span:nth-of-type(3) {
  top: 16px;
  background: #004373;
}

.meanmenu-reveal span:nth-of-type(1) {
  -webkit-animation: menu-ber01 0.75s forwards;
  animation: menu-ber01 0.75s forwards;
}

.meanmenu-reveal span:nth-of-type(2) {
  -webkit-transition: all 0.25s 0.25s;
  transition: all 0.25s 0.25s;
  opacity: 1;
}

.meanmenu-reveal span:nth-of-type(3) {
  -webkit-animation: menu-ber02 0.75s forwards;
  animation: menu-ber02 0.75s forwards;
}

.meanclose span:nth-of-type(1) {
  -webkit-animation: active-menu-ber01 0.75s forwards;
  animation: active-menu-ber01 0.75s forwards;
  top: -2px;
}

.meanclose span:nth-of-type(2) {
  opacity: 0;
}

.meanclose span:nth-of-type(3) {
  -webkit-animation: active-menu-ber03 0.75s forwards;
  animation: active-menu-ber03 0.75s forwards;
}

@-webkit-keyframes menu-ber01 {
  0% {
    -webkit-transform: translateY(8px) rotate(45deg);
  }
  50% {
    -webkit-transform: translateY(8px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(0) rotate(0);
  }
}
@keyframes menu-ber01 {
  0% {
    -webkit-transform: translateY(8px) rotate(45deg);
            transform: translateY(8px) rotate(45deg);
  }
  50% {
    -webkit-transform: translateY(8px) rotate(0);
            transform: translateY(8px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(0) rotate(0);
            transform: translateY(0) rotate(0);
  }
}
@-webkit-keyframes menu-ber02 {
  0% {
    -webkit-transform: translateY(-8px) rotate(-45deg);
  }
  50% {
    -webkit-transform: translateY(-8px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(0) rotate(0);
  }
}
@keyframes menu-ber02 {
  0% {
    -webkit-transform: translateY(-8px) rotate(-45deg);
            transform: translateY(-8px) rotate(-45deg);
  }
  50% {
    -webkit-transform: translateY(-8px) rotate(0);
            transform: translateY(-8px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(0) rotate(0);
            transform: translateY(0) rotate(0);
  }
}
@-webkit-keyframes active-menu-ber01 {
  0% {
    -webkit-transform: translateY(0) rotate(0);
  }
  50% {
    -webkit-transform: translateY(10px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(10px) rotate(45deg);
  }
}
@keyframes active-menu-ber01 {
  0% {
    -webkit-transform: translateY(0) rotate(0);
            transform: translateY(0) rotate(0);
  }
  50% {
    -webkit-transform: translateY(10px) rotate(0);
            transform: translateY(10px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(10px) rotate(45deg);
            transform: translateY(10px) rotate(45deg);
  }
}
@-webkit-keyframes active-menu-ber03 {
  0% {
    -webkit-transform: translateY(0) rotate(0);
  }
  50% {
    -webkit-transform: translateY(-8px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(-8px) rotate(-45deg);
  }
}
@keyframes active-menu-ber03 {
  0% {
    -webkit-transform: translateY(0) rotate(0);
            transform: translateY(0) rotate(0);
  }
  50% {
    -webkit-transform: translateY(-8px) rotate(0);
            transform: translateY(-8px) rotate(0);
  }
  100% {
    -webkit-transform: translateY(-8px) rotate(-45deg);
            transform: translateY(-8px) rotate(-45deg);
  }
}
.mean-container .mean-nav {
  width: 100%;
  margin-top: 60px;
  max-height: 100vh;
  overflow-y: auto;
}

.mean-container .mean-nav ul {
  padding: 0;
  margin: 0;
  width: 100%;
  list-style-type: none;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  position: relative;
  z-index: 99;
  max-height: 100vh;
  max-height: calc(100vh - 60px);
  background: #ffffff;
}

.mean-container .mean-nav ul ul {
  padding-bottom: 0;
  margin-bottom: 0;
}

.mean-container .mean-nav ul li {
  position: relative;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.mean-container .mean-nav ul li a, .mean-container .mean-nav ul li span.pre {
  display: block;
  width: 100%;
  padding: 1em;
  margin: 0;
  text-align: left;
  text-decoration: none;
  text-transform: uppercase;
  color: #333333;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.mean-container .mean-nav ul li p.no-link {
  padding: 1em;
  font-size: 13px;
  color: #333333;
}

.mean-container .mean-nav ul li li a {
  width: 100%;
  padding: 1em 10%;
  text-shadow: none !important;
  visibility: visible;
  color: #FFFFFF;
}

.mean-container .mean-nav ul li.mean-last a {
  border-bottom: none;
  margin-bottom: 0;
}

.mean-container .mean-nav ul li li li a {
  width: 70%;
  padding: 1em 15%;
}

.mean-container .mean-nav ul li li li li a {
  width: 60%;
  padding: 1em 20%;
}

.mean-container .mean-nav ul li li li li li a {
  width: 50%;
  padding: 1em 25%;
}

.mean-container .mean-nav ul li a:hover {
  background: #252525;
  background: rgba(255, 255, 255, 0.1);
}

.mean-container .mean-nav ul li a.mean-expand {
  width: 60px;
  text-align: center;
  position: absolute;
  right: 0;
  top: 0px;
  z-index: 2;
  padding: 0.2em;
  font-size: 24px;
  color: #004373;
}

.mean-container .mean-nav ul li a.mean-expand:hover {
  color: #386382;
}

.mean-container .mean-push {
  float: left;
  width: 100%;
  padding: 0;
  margin: 0;
  clear: both;
}

.mean-nav .wrapper {
  width: 100%;
  padding: 0;
  margin: 0;
}

.mean-container .mean-bar, .mean-container .mean-bar * {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}

.mean-remove {
  display: none !important;
}

/* ヘッダーCSS */
/* ----------------------------------------------------------------
下層ページ CSS
----------------------------------------------------------------- */
/* ----------------------------------------------------------------
keyvisual | 共通パーツ
----------------------------------------------------------------- */
#keyvisual {
  margin-top: 80px;
  padding: 60px 0 140px 0;
  background-size: cover;
  background-image: url(../img/top-main_bg.jpg);
  background-position: center center;
  background-repeat: no-repeat;
  text-align: center;
  background-color: #004373;
  border-bottom-right-radius: 1000px 100px;
  border-bottom-left-radius: 1000px 100px;
  margin-left: -100px;
  margin-right: -100px;
  padding-left: 100px;
  padding-right: 100px;
  padding-top: 60px;
  padding-bottom: 60px;
  background-attachment: fixed;
}
@media (max-width: 960px) {
  #keyvisual {
    /*  1024px  */
    /*  1024px  */
    margin-top: 60px;
  }
}
@media (max-width: 480px) {
  #keyvisual {
    /*  480px  */
    /*  480px  */
    background-attachment: scroll;
    font-size: 26px;
    border-bottom-right-radius: 1000px 500px;
    border-bottom-left-radius: 1000px 500px;
  }
}
#keyvisual .keyvisual-inner {
  display: inline-block;
  background-image: url(../img/main-blue_bg.jpg);
  padding: 5px;
  -webkit-box-shadow: 0 0 0 1px #ffffff inset;
          box-shadow: 0 0 0 1px #ffffff inset;
  border: 7px solid transparent;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #FFFFFF;
  position: relative;
}
#keyvisual .keyvisual-inner__text {
  font-size: 30px;
  width: 272px;
  height: 272px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media (max-width: 480px) {
  #keyvisual .keyvisual-inner__text {
    /*  480px  */
    /*  480px  */
    font-size: 26px;
    width: 200px;
    height: 200px;
  }
}
#keyvisual .keyvisual-inner__text--en {
  font-size: 20px;
  display: block;
  position: absolute;
  top: 56%;
  left: 0;
  right: 0;
}

.content-bg {
  background-size: 100%;
  background-image: url(../img/content_bg.png);
  background-position: bottom center;
  background-repeat: no-repeat;
}

/* ----------------------------------------------------------------
下層ページ | サービス一覧
----------------------------------------------------------------- */
#service {
  padding: 60px 0 60px 0;
}
#service .service-inner {
  max-width: 1060px;
  width: 90%;
  margin: 0 auto;
  /* modal window */
  /* modal window */
}
#service .service-inner .service-title {
  margin: 40px 0;
}
#service .service-inner .service-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media (max-width: 768px) {
  #service .service-inner .service-list {
    /*  768px  */
    /*  768px  */
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
#service .service-inner .service-list__item {
  max-width: 324px;
  border: solid 1px #b5b5b5;
  background-color: #FFFFFF;
  padding: 20px 15px;
  margin: 14px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media (max-width: 768px) {
  #service .service-inner .service-list__item {
    /*  768px  */
    /*  768px  */
    max-width: 500px;
  }
}
#service .service-inner .service-list__item:hover {
  background-color: rgba(107, 133, 152, 0.4588235294);
}
#service .service-inner .service-list__item--wrap {
  line-height: 2.5;
}
#service .service-inner .service-list__item--title {
  color: #004373;
}
#service .service-inner .service-list__item--link {
  position: relative;
  font-weight: bold;
}
#service .service-inner .service-list__item--link::before {
  content: "";
  display: block;
  position: absolute;
  top: 10px;
  right: 120px;
  width: 18px;
  height: 18px;
  background: url(../img/service-link-icon.svg) 0 0 no-repeat;
}
#service .service-inner .modal {
  display: none;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 20;
}
#service .service-inner .modal .modal__bg {
  background: rgba(0, 0, 0, 0.8);
  height: 100vh;
  position: absolute;
  width: 100%;
}
#service .service-inner .modal .modal__content {
  background-color: #fff;
  left: 50%;
  padding: 40px 85px;
  position: absolute;
  text-align: right;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 65%;
}
@media (max-width: 768px) {
  #service .service-inner .modal .modal__content {
    /*  768px  */
    /*  768px  */
    width: 85%;
    padding: 40px 30px;
  }
}
@media (max-width: 480px) {
  #service .service-inner .modal .modal__content {
    /*  480px  */
    /*  480px  */
    width: 90%;
    padding: 40px 20px;
  }
}
#service .service-inner .modal .modal__content .js-modal-close {
  position: absolute;
  top: 15px;
  right: 15px;
  width: 25px;
}
#service .service-inner .modal .modal__content--title {
  color: #004373;
  margin-bottom: 30px;
}
#service .service-inner .modal .modal__content--btn {
  background-color: #004373;
  border: solid 1px #004373;
  color: #fff;
  margin-top: 20px;
  padding: 0 2%;
}
#service .service-inner .modal .modal__content--btn:hover {
  color: #004373;
  border: solid 1px #004373;
  background-color: #FFFFFF;
}

/* ----------------------------------------------------------------
下層ページ | 実績紹介 
----------------------------------------------------------------- */
#works {
  padding: 60px 0 60px 0;
}
#works .works-inner {
  max-width: 856px;
  width: 90%;
  margin: 0 auto;
}
#works .works-inner input[type=radio] {
  display: none;
}
#works .works-inner .works_tab {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -ms-justify-content: space-around;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 40px;
}
#works .works-inner .works_tab label {
  padding: 15px 5px;
  text-align: center;
  font-size: 14px;
  border-bottom: 2px solid #FFFFFF;
  cursor: pointer;
  font-weight: bold;
}
#works .works-inner select {
  outline: none;
}
#works .works-inner .tab_panel {
  width: 100%;
  display: none;
}
#works .works-inner #tab1:checked ~ .works_tab .tab1_label, #works .works-inner #tab2:checked ~ .works_tab .tab2_label, #works .works-inner #tab3:checked ~ .works_tab .tab3_label, #works .works-inner #tab4:checked ~ .works_tab .tab4_label, #works .works-inner #tab5:checked ~ .works_tab .tab5_label {
  color: #004373;
  border-bottom: 3px solid #004373;
}
#works .works-inner #tab1:checked ~ .works-panel_area #panel1, #works .works-inner #tab2:checked ~ .works-panel_area #panel2, #works .works-inner #tab3:checked ~ .works-panel_area #panel3, #works .works-inner #tab4:checked ~ .works-panel_area #panel4, #works .works-inner #tab5:checked ~ .works-panel_area #panel5 {
  display: block;
}
#works .works-inner .works-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 50px;
}
#works .works-inner .works-list--item {
  width: 50%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin-bottom: 40px;
  padding: 0 20px 0 20px;
}
#works .works-inner .works-list--item dt {
  overflow: hidden;
}
#works .works-inner .works-list--item dt img {
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}
#works .works-inner .works-list--item dt img:hover {
  -webkit-transform: scale(1.3);
  transform: scale(1.3);
  opacity: 0.7;
}
@media (max-width: 768px) {
  #works .works-inner .works-list--item {
    /*  768px  */
    padding: 0 10px 0 10px;
  }
}
@media (max-width: 480px) {
  #works .works-inner .works-list--item {
    /*  480px  */
    width: 100%;
  }
}
#works .works-inner .works-list--item dd {
  padding: 30px 20px 20px 20px;
  background-color: #FFFFFF;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
  background-color: #e7f0f2;
}
#works .works-inner .works-list--title {
  margin-bottom: 20px;
  color: #004373;
}
#works .works-inner .works-list--categories {
  color: #004373;
  background-color: #FFFFFF;
  max-width: 180px;
  text-align: center;
  margin-top: 20px;
}

/* ----------------------------------------------------------------
下層ページ | 実績紹介 個別ページ
----------------------------------------------------------------- */
#works-single {
  padding: 100px 0 60px 0;
}
#works-single .works-single-inner {
  max-width: 730px;
  width: 90%;
  margin: 0 auto;
  position: relative;
}
#works-single .works-single-inner .works-single-categories {
  color: #004373;
  background-color: #FFFFFF;
  border: solid 1px #004373;
  width: 180px;
  text-align: center;
  position: absolute;
  right: 0;
  top: -50px;
}
#works-single .works-single-inner .works-single-title {
  color: #004373;
}
#works-single .works-single-inner .works-single__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 40px;
}
@media (max-width: 768px) {
  #works-single .works-single-inner .works-single__box {
    /*  480px  */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
#works-single .works-single-inner .works-single__box--img {
  width: 248px;
}
@media (max-width: 768px) {
  #works-single .works-single-inner .works-single__box--img {
    /*  480px  */
    width: 100%;
    margin-bottom: 20px;
  }
}
#works-single .works-single-inner .works-single__box--text {
  width: 440px;
}
@media (max-width: 768px) {
  #works-single .works-single-inner .works-single__box--text {
    /*  480px  */
    width: 100%;
  }
}
#works-single .works-single-inner .works-single__box--comment {
  padding-top: 30px;
  border-top: solid 1px #b2b2b2;
}
#works-single .works-single-inner .works-single__table {
  border: 1px solid #e6eff1;
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 2em;
}
#works-single .works-single-inner .works-single__table tr {
  border-bottom: 1px solid #FFFFFF;
}
#works-single .works-single-inner .works-single__table tr:nth-last-child(1) {
  border-bottom: 1px solid #e6eff1;
}
#works-single .works-single-inner .works-single__table--data {
  padding: 20px;
  background-color: #e6eff1;
  color: #004373;
  width: 30%;
}
@media (max-width: 480px) {
  #works-single .works-single-inner .works-single__table--data {
    /*  480px  */
    padding: 10px;
  }
}
#works-single .works-single-inner .works-single__table--text {
  padding: 10px;
  border: 1px solid #e6eff1;
  background-color: #FFFFFF;
}
#works-single .works-single-inner .works-single-btn {
  margin-top: 40px;
  background-color: #333;
  border: solid 1px #333;
  color: #FFFFFF;
}
#works-single .works-single-inner .works-single-btn:hover {
  color: #333333;
  border: solid 1px #333333;
  background-color: #FFFFFF;
}

/* ----------------------------------------------------------------
下層ページ | 新着情報
----------------------------------------------------------------- */
#info {
  padding: 60px 0 120px 0;
  min-height: 500px;
}
#info .info-inner {
  max-width: 630px;
  width: 90%;
  margin: 0 auto;
}
#info .info-inner .news-box__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom: solid 1px #b2b2b2;
  padding: 10px 0;
  text-align: left;
}
@media (max-width: 480px) {
  #info .info-inner .news-box__list {
    /*  480px  */
    /*  480px  */
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
#info .info-inner .news-box__list--date {
  margin: 0 20px;
}
@media (max-width: 480px) {
  #info .info-inner .news-box__list--date {
    /*  480px  */
    /*  480px  */
    margin: 0px;
  }
}
#info .info-inner .news-box__list--title a:hover {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  opacity: 0.7;
}

/* ----------------------------------------------------------------
下層ページ | 新着情報　個別ページ
----------------------------------------------------------------- */
#info-single {
  padding: 60px 0 60px 0;
  min-height: 500px;
}
#info-single .info-single-inner {
  max-width: 630px;
  width: 90%;
  margin: 0 auto;
}
#info-single .info-single-inner .info-single-title {
  color: #004373;
}
#info-single .info-single-inner .info-single-img {
  margin: 20px 0;
}
#info-single .info-single-inner p {
  line-height: 2.5;
  margin-bottom: 20px;
}
#info-single .info-single-inner a {
  color: #004373;
  font-weight: bold;
  display: inline-block;
}
#info-single .info-single-inner a:hover {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  opacity: 0.7;
}
#info-single .info-single-inner .info-single-btn {
  margin-top: 20px;
  background-color: #333333;
  border: solid 1px #333333;
  color: #FFFFFF;
}
#info-single .info-single-inner .info-single-btn:hover {
  color: #333333;
  border: solid 1px #333333;
  background-color: #FFFFFF;
}

/* ----------------------------------------------------------------
下層ページ | 商品一覧
----------------------------------------------------------------- */
#products {
  padding: 60px 0 0 0;
}
#products .products-inner {
  max-width: 980px;
  width: 90%;
  margin: 0 auto;
  text-align: center;
  padding-bottom: 60px;
}
#products .products-inner .products-title {
  color: #004373;
}
#products .products-inner .products-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
}
#products .products-inner .products-list__item {
  width: 20%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  padding: 25px;
}
@media (max-width: 768px) {
  #products .products-inner .products-list__item {
    /*  768px  */
    width: 33.3333333333%;
  }
}
@media (max-width: 480px) {
  #products .products-inner .products-list__item {
    /*  480px  */
    width: 50%;
    padding: 10px;
  }
}
#products .products-inner .products-list__item:hover {
  opacity: 0.6;
  -webkit-transition-duration: 0.3s;
          transition-duration: 0.3s;
}
#products .products-inner .products-list__item--title {
  color: #004373;
  margin-top: 25px;
  line-height: 1.2;
  font-size: 16px;
}
#products .products-inner .products-list__item--title--s {
  font-size: 13px;
  display: block;
}

.products-other {
  padding: 60px 0 60px 0;
  background-image: url(../img/top-products_bg.jpg);
}
.products-other .products-other-inner {
  max-width: 960px;
  width: 90%;
  margin: 0 auto;
  position: relative;
}
.products-other .products-other-inner::before {
  content: "";
  background: url(../img/products-other-img_kazari.png);
  position: absolute;
  top: -60px;
  right: -10%;
  width: 223px;
  height: 173px;
}
.products-other .products-other-title {
  color: #FFFFFF;
  font-size: 20px;
  margin-bottom: 20px;
}
.products-other .products-other-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media (max-width: 480px) {
  .products-other .products-other-box {
    /*  480px  */
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.products-other .products-other-box__item {
  width: 33.3333333333%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
}
@media (max-width: 768px) {
  .products-other .products-other-box__item {
    /*  768px  */
    width: 50%;
  }
}
@media (max-width: 480px) {
  .products-other .products-other-box__item {
    /*  480px  */
    width: 100%;
  }
}
.products-other .products-other-box__item:hover {
  opacity: 0.7;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.products-other .products-other-box__item--img {
  width: 75px;
}
.products-other .products-other-box__item--text {
  font-size: 16px;
  color: #004373;
}
.products-other .products-other-box__item-a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px;
  background-color: #FFFFFF;
  margin: 10px;
}

.products-other .products-other-box__item:nth-child(5) .products-other-box__item--img {
  width: 150px;
  height: 75px;
}

.products-other .products-other-box__item:nth-child(5) .products-other-box__item--img img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.products-other .products-other-box__item:nth-child(5) .products-other-box__item--text {
  margin-left: 10px;
}

.products-other .products-other-box__item:nth-child(6) .products-other-box__item--text {
  margin-left: 10px;
}

/* ----------------------------------------------------------------
下層ページ | 商品一覧 個別ページ
----------------------------------------------------------------- */
#products-single {
  padding: 60px 0 0 0;
}
#products-single .products-single-inner {
  max-width: 730px;
  width: 90%;
  margin: 0 auto;
}
#products-single .products-single-inner .products-single-title {
  color: #004373;
}
#products-single .products-single-inner .products-single-detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 40px;
}
@media (max-width: 768px) {
  #products-single .products-single-inner .products-single-detail {
    /*  768px  */
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
#products-single .products-single-inner .products-single-detail__img {
  width: 230px;
}
@media (max-width: 768px) {
  #products-single .products-single-inner .products-single-detail__img {
    /*  768px  */
    width: 70%;
    margin-bottom: 20px;
    margin-left: auto;
    margin-right: auto;
  }
}
#products-single .products-single-inner .products-single-detail__data {
  width: 440px;
}
@media (max-width: 768px) {
  #products-single .products-single-inner .products-single-detail__data {
    /*  768px  */
    width: 100%;
  }
}
#products-single .products-single-inner .products-single-detail__data--title {
  color: #004373;
  padding: 0 0 5px 20px;
  margin-bottom: 30px;
  border-left: solid 5px #004373;
  position: relative;
}
#products-single .products-single-inner .products-single-detail__data--title::after {
  content: "";
  display: inline-block;
  background: #004373;
  height: 1px;
  width: 100%;
  position: absolute;
  left: -5px;
  bottom: -10px;
}
#products-single .products-single-inner .products-single-detail__data--title .title-s {
  font-size: 16px;
}
#products-single .products-single-inner .products-single-detail__data .works-single__table {
  border: 1px solid #e6eff1;
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 2em;
}
#products-single .products-single-inner .products-single-detail__data .works-single__table tr {
  border-bottom: 1px solid #FFFFFF;
}
#products-single .products-single-inner .products-single-detail__data .works-single__table tr:nth-last-child(1) {
  border-bottom: 1px solid #e6eff1;
}
#products-single .products-single-inner .products-single-detail__data .works-single__table--data {
  padding: 20px;
  background-color: #e6eff1;
  color: #004373;
  width: 30%;
}
@media (max-width: 480px) {
  #products-single .products-single-inner .products-single-detail__data .works-single__table--data {
    /*  480px  */
    padding: 10px;
  }
}
#products-single .products-single-inner .products-single-detail__data .works-single__table--text {
  padding: 10px;
  border: 1px solid #e6eff1;
  background-color: #FFFFFF;
}
#products-single .products-single-inner .products-single-bottom__title {
  border-bottom: solid 2px #80a1b9;
  position: relative;
  margin-bottom: 30px;
  padding-bottom: 5px;
}
#products-single .products-single-inner .products-single-bottom__title:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 2px #004373;
  bottom: -2px;
  width: 25%;
}
#products-single .products-single-inner .products-single-bottom .products-single-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 35px;
}
#products-single .products-single-inner .products-single-bottom .products-single-box__item {
  width: 25%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 10px;
  text-align: center;
}
#products-single .products-single-inner .products-single-bottom .products-single-box__item--text {
  font-size: 16px;
  margin-top: 15px;
}
@media (max-width: 480px) {
  #products-single .products-single-inner .products-single-bottom .products-single-box__item {
    /*  480px  */
    width: 50%;
  }
}

/* ----------------------------------------------------------------
下層ページ | 個人情報保護方針
----------------------------------------------------------------- */
#privacy {
  padding: 60px 0 60px 0;
}
#privacy .privacy-inner {
  max-width: 730px;
  width: 90%;
  margin: 0 auto;
}
#privacy .privacy-inner .privacy-title {
  color: #004373;
  padding: 0 0 5px 20px;
  margin: 40px 0;
  border-left: solid 5px #004373;
  position: relative;
}
#privacy .privacy-inner .privacy-title::after {
  content: "";
  display: inline-block;
  background: #004373;
  height: 1px;
  width: 100%;
  position: absolute;
  left: -5px;
  bottom: -10px;
}
#privacy .privacy-inner .privacy-read-text {
  padding-bottom: 20px;
}

/* ----------------------------------------------------------------
下層ページ | 会社案内
----------------------------------------------------------------- */
#company {
  padding: 60px 0 60px 0;
}
#company .company-inner {
  max-width: 730px;
  width: 90%;
  margin: 0 auto;
}
#company .company-inner .company-anchor {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 768px) {
  #company .company-inner .company-anchor {
    /*  768px  */
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
#company .company-inner .company-anchor__text {
  width: 135px;
  border-bottom: solid 1px #004373;
  margin: 4px;
  font-weight: bold;
  text-align: center;
  padding-bottom: 5px;
  position: relative;
  margin-top: 15px;
}
#company .company-inner .company-anchor__text::before {
  content: "";
  display: block;
  position: absolute;
  top: 10px;
  right: 10px;
  width: 6px;
  height: 6px;
  border-top: 1px solid #004373;
  border-right: 1px solid #004373;
  -webkit-transform: translateX(-50%) rotate(135deg);
          transform: translateX(-50%) rotate(135deg);
}
#company .company-inner .company-anchor__text:last-of-type {
  margin-right: 0px;
}
#company .company-inner .company-anchor__text a {
  color: #004373;
}
#company .company-inner .company-title {
  color: #004373;
  padding: 0 0 5px 20px;
  margin: 60px 0 40px 0;
  border-left: solid 5px #004373;
  position: relative;
}
#company .company-inner .company-title::after {
  content: "";
  display: inline-block;
  background: #004373;
  height: 1px;
  width: 100%;
  position: absolute;
  left: -5px;
  bottom: -10px;
}
#company .company-inner .company-message {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 480px) {
  #company .company-inner .company-message { /*  480px  */
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
#company .company-inner .company-message__img {
  width: 300px;
  padding: 0 15px 15px 15px;
  min-height: 0%;
}
@media (max-width: 480px) {
  #company .company-inner .company-message__img { /*  480px  */
    width: 100%;
  }
}
#company .company-inner .company-message__text {
  width: 430px;
  padding: 0 10px;
  min-height: 0%;
}
@media (max-width: 480px) {
  #company .company-inner .company-message__text { /*  480px  */
    width: 100%;
  }
}
#company .company-inner .company__table {
  border: 1px solid #e6eff1;
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 2em;
}
#company .company-inner .company__table tr {
  border-bottom: 1px solid #FFFFFF;
}
#company .company-inner .company__table tr:nth-last-child(1) {
  border-bottom: 1px solid #e6eff1;
}
#company .company-inner .company__table--data {
  padding: 20px;
  background-color: #e6eff1;
  color: #004373;
  width: 30%;
}
@media (max-width: 480px) {
  #company .company-inner .company__table--data {
    /*  480px  */
    padding: 10px;
  }
}
#company .company-inner .company__table--text {
  padding: 10px;
  border: 1px solid #e6eff1;
  background-color: #FFFFFF;
}
#company .company-inner .company-roup {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  max-width: 500px;
  margin: 0 auto;
}
#company .company-inner .company-roup__list {
  width: 50%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 15px;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
#company .company-inner .company-roup__list:hover {
  opacity: 0.7;
}
@media (max-width: 480px) {
  #company .company-inner .company-roup__list {
    /*  480px  */
    width: 100%;
  }
}

/* ----------------------------------------------------------------
下層ページ | お問い合わせ
----------------------------------------------------------------- */
#contact {
  padding: 60px 0 60px 0;
}
#contact .contact-inner {
  max-width: 800px;
  width: 90%;
  margin: 0 auto;
}
#contact .contact-inner .contact-title {
  color: #004373;
}
#contact .contact-inner .contact-btn {
  background-color: #004373;
  border: solid 1px #004373;
  color: #FFFFFF;
  margin-top: 45px;
}
#contact .contact-inner .contact-btn:hover {
  color: #004373;
  border: solid 1px #004373;
  background-color: #FFFFFF;
}
#contact .contact-inner a.privacy-link {
  color: #004373;
  border-bottom: solid 1px #004373;
}
#contact .contact-inner a.privacy-link:hover {
  border-bottom: none;
}

/* 下層ページCSS */
/* ----------------------------------------------------------------
footer
----------------------------------------------------------------- */
footer {
  width: 100%;
  background-color: #333333;
  text-align: center;
  color: #FFFFFF;
}
footer a {
  color: #FFFFFF;
}
footer a:hover {
  opacity: 0.7;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
footer .footer-inner {
  max-width: 800px;
  width: 90%;
  margin: 0 auto;
  padding: 30px 0;
}
footer .footer-inner .footer-logo {
  width: 175px;
  display: inline-block;
}
footer .copy {
  padding: 10px 0;
  background-color: #FFFFFF;
  color: #000000;
  font-size: 10px;
}

/* フツターCSS */
/*# sourceMappingURL=style.css.map */