@charset "UTF-8";
@font-face {
  font-family: "NotoSerifJP";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/NotoSerifJP-Regular.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "NotoSerifJP";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/NotoSerifJP-Bold.woff") format("woff");
  font-display: swap;
}
/* リセットCSS */
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-size: 100%;
  /*font: inherit;*/
  vertical-align: baseline;
}

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

body {
  line-height: 1;
  word-break: keep-all;
  line-break: strict;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

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

body {
  word-break: break-all;
  -webkit-text-size-adjust: none;
}

*, *:before, *:after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

/*==============================
	基本設定
==============================*/
html, body {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

html {
  font-size: 62.5%;
}
@media screen and (max-width: 767.98px) {
  html {
    font-size: 60%;
  }
}
@media screen and (max-width: 575.98px) {
  html {
    font-size: 58%;
  }
}
@media screen and (max-width: 400px) {
  html {
    font-size: 55%;
  }
}

body {
  font-size: 1.5em !important;
  font-weight: 400;
  line-height: 1.6;
  color: #111;
  -webkit-text-stroke: 0.1px;
  text-underline-position: under;
}

a {
  color: #0B4D96;
  transition: all 0.2s;
}
a:hover {
  text-decoration: none;
  color: #0B4D96;
  opacity: 0.8;
}
a img:hover {
  opacity: 0.7;
}

/*ページトップへ戻るボタン*/
/*ページトップへ戻るボタン*/
#pageTop {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 999;
}

#pageTop i {
  padding-top: 1px;
  font-size: 1.8rem;
}

#pageTop a {
  display: block;
  z-index: 999;
  padding: 9px 0 0 0;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  background-color: rgba(171, 171, 171, 0.75);
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
}

#pageTop a:hover {
  text-decoration: none;
  opacity: 0.7;
}

/*==============================
	共通
==============================*/
/*フォントサイズ*/
.fs12 {
  font-size: 1.2rem;
}
@media screen and (max-width: 767.98px) {
  .fs12 {
    font-size: 1.14rem;
  }
}

.fs13 {
  font-size: 1.3rem;
}
@media screen and (max-width: 767.98px) {
  .fs13 {
    font-size: 1.235rem;
  }
}

.fs14 {
  font-size: 1.4rem;
}
@media screen and (max-width: 767.98px) {
  .fs14 {
    font-size: 1.33rem;
  }
}

.fs15 {
  font-size: 1.5rem;
}
@media screen and (max-width: 767.98px) {
  .fs15 {
    font-size: 1.425rem;
  }
}

.fs17 {
  font-size: 1.7rem;
}
@media screen and (max-width: 767.98px) {
  .fs17 {
    font-size: 1.615rem;
  }
}

.fs18 {
  font-size: 1.8rem;
}
@media screen and (max-width: 767.98px) {
  .fs18 {
    font-size: 1.71rem;
  }
}

.fs20 {
  font-size: 2rem;
}
@media screen and (max-width: 767.98px) {
  .fs20 {
    font-size: 1.9rem;
  }
}

.fs21 {
  font-size: 2.1rem;
}
@media screen and (max-width: 767.98px) {
  .fs21 {
    font-size: 1.995rem;
  }
}

.fs22 {
  font-size: 2.2rem;
}
@media screen and (max-width: 767.98px) {
  .fs22 {
    font-size: 2.09rem;
  }
}

.fs24 {
  font-size: 2.4rem;
}
@media screen and (max-width: 767.98px) {
  .fs24 {
    font-size: 2.28rem;
  }
}

.fs25 {
  font-size: 2.5rem;
}
@media screen and (max-width: 767.98px) {
  .fs25 {
    font-size: 2.375rem;
  }
}

.fs26 {
  font-size: 2.6rem;
}
@media screen and (max-width: 767.98px) {
  .fs26 {
    font-size: 2.47rem;
  }
}

.fs28 {
  font-size: 2.8rem;
}
@media screen and (max-width: 767.98px) {
  .fs28 {
    font-size: 2.66rem;
  }
}

.fs30 {
  font-size: 2.7rem;
}
@media screen and (max-width: 767.98px) {
  .fs30 {
    font-size: 2.85rem;
  }
}

.fs32 {
  font-size: 3.2rem;
}
@media screen and (max-width: 767.98px) {
  .fs32 {
    font-size: 3.04rem;
  }
}

.fs34 {
  font-size: 3.4rem;
}
@media screen and (max-width: 767.98px) {
  .fs34 {
    font-size: 3.23rem;
  }
}

.fs35 {
  font-size: 3.5rem;
}
@media screen and (max-width: 767.98px) {
  .fs35 {
    font-size: 3.325rem;
  }
}

.fs44 {
  font-size: 4.4rem;
}
@media screen and (max-width: 767.98px) {
  .fs44 {
    font-size: 4.18rem;
  }
}

/**背景カラー**/
.bg-main {
  background-color: #0B4D96;
}

.bg-main-l {
  background-color: #F3F6FA;
}

.bg-sub {
  background-color: #7FC0D3;
}

.bg-sub-l {
  background-color: #F2F8FA;
}

.bg-red {
  background-color: #e60d1f;
}

.bg-black {
  background-color: #111;
}

/**テキストカラー**/
.cl-main {
  color: #0B4D96;
}

.cl-black {
  color: #111;
}

.cl-white {
  color: #fff;
}

.cl-sub {
  color: #7FC0D3;
}

.cl-red {
  color: #e60d1f;
}

/**テキスト太さ**/
.b {
  font-weight: 700 !important;
}

/*サイズ100%*/
.size-full {
  width: 100%;
  height: auto;
}

/*ulリスト・有り*/
.list-style-inside {
  list-style: inside;
}
.list-style-inside li {
  text-indent: -2.3rem;
  padding-left: 2.3rem;
  line-height: 3rem;
}

/*行間*/
.line-h_1 {
  line-height: 1.4;
}

/*レスポンシブ改行*/
@media screen and (min-width: 768px) {
  .br-pc {
    display: block;
  }
  .br-sp {
    display: none;
  }
}
@media screen and (max-width: 767.98px) {
  .br-pc {
    display: none;
  }
  .br-sp {
    display: block;
  }
}
@media (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
/*アンカーズレ調整*/
.sec_wrap {
  margin-top: -110px;
  padding-top: 110px;
  display: block;
}
@media screen and (max-width: 575.98px) {
  .sec_wrap {
    margin-top: -70px;
    padding-top: 70px;
  }
}

/*==============================
ヘッダー
==============================*/
/*ハンバーガー枠*/
.navbar-toggler {
  border-color: none;
}
.navbar-toggler:focus {
  outline: none;
}
.navbar-toggler .navbar-toggler-icon {
  background: url("../images/common/sp_nav1.svg") no-repeat 0 0;
  background-size: 65px;
  width: 65px;
  height: 65px;
  transition: 0.3s ease-out;
}

.navbar-toggler.clicked .navbar-toggler-icon {
  background: url("../images/common/sp_nav2.svg") no-repeat 0 0;
  transition: 0.3s ease-out;
}

#header {
  z-index: 99999;
  width: 100%;
  position: absolute;
  top: 20px;
  left: 2%;
  width: 96%;
  background: rgba(255, 255, 255, 0.9);
  line-height: 1;
}
#header a:hover {
  opacity: 0.6;
}

#header .navbar {
  padding: 1.5rem 1rem;
}
#header h1 img {
  width: 430px;
}
@media screen and (max-width: 500px) {
  #header h1 img {
    width: 200px;
  }
}
#header .hader-nav-r ul {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-wrap: nowrap;
  -moz-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-pack: space-between;
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
}
#header .hader-nav-r ul li {
  padding-left: 1rem;
}
@media screen and (max-width: 1080px) {
  #header .hader-nav-r ul li {
    padding-left: 0;
    margin: 0.25rem 0;
  }
}
#header .hader-nav-r ul li a {
  color: #111;
  font-weight: bold;
  letter-spacing: 1px;
  padding: 0.2rem 0.8rem;
  position: relative;
  display: inline-block;
  text-align: center;
  line-height: 30px;
}
@media screen and (max-width: 1080px) {
  #header .hader-nav-r ul li a {
    padding: 0.2rem 1rem 0.2rem 0;
  }
}
#header .hader-nav-r ul li a::after {
  position: absolute;
  bottom: 0px;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  background: #0B4D96;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform 0.3s;
}
#header .hader-nav-r ul li a:hover {
  color: #0B4D96;
  opacity: 0.9;
}
#header .hader-nav-r ul li a:hover::after {
  transform: scale(1, 1);
}

@media screen and (min-width: 992px) {
  .nav-right {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    align-items: center;
    -webkit-justify-content: flex-end;
    -moz-justify-content: flex-end;
    -ms-justify-content: flex-end;
    justify-content: flex-end;
    -ms-flex-pack: flex-end;
    width: 100%;
  }
  .nav-link {
    text-align: center;
    line-height: 1.5rem;
    font-size: 1.5rem;
    letter-spacing: 0.1rem;
  }
  .navbar-nav .nav-item {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  .navbar-nav .nav-item:hover {
    color: #fff;
    transition: all 0.5s;
  }
  .navbar-nav .nav-item:hover a {
    color: #fff;
  }
  .navbar-nav .nav-item.pc-sns:hover {
    background-color: transparent;
  }
  .navbar-nav .nav-item.pc-sns .nav-link {
    padding-left: 1.2rem !important;
    padding-right: 0 !important;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    align-items: center;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    -ms-justify-content: space-between;
    justify-content: space-between;
    -ms-flex-pack: space-between;
  }
  .navbar-nav .nav-item.pc-sns .nav-link img {
    vertical-align: middle;
  }
  .nav_sp_btn {
    display: none;
  }
  .nav_pc_btn {
    display: block;
  }
}
.head-top {
  height: 35px;
}

@media screen and (min-width: 1200px) {
  .nav-link {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 1200px) {
  .nav-link {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 991.98px) {
  .nav-link {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 991.98px) {
  .nav_sp_btn {
    display: block;
  }
  .nav_sp_btn .nav-contact, .nav_sp_btn .nav-estimate {
    color: #111;
  }
  h1 {
    padding-left: 10px;
  }
  .navbar {
    padding: 0.75rem 0.75rem 0.75rem 1rem !important;
  }
  .navbar-toggler {
    padding: 0;
  }
  .navbar-nav {
    padding: 1rem 0.5rem;
  }
  .navbar-nav .nav-item {
    border-bottom: solid 1px #DEE4ED;
    width: 100%;
  }
  .navbar-nav .nav-item .nav-link {
    width: 100%;
    transition: all 200ms ease-in-out;
  }
  .navbar-nav .nav-item:last-child {
    border-bottom: none;
    padding-top: 1rem;
  }
  .navbar-nav .nav-item:last-child .nav-link:hover {
    background-color: #0B4D96;
    color: #0B4D96;
  }
}
/*==============================
	フッター
==============================*/
.footer_copy {
  background-color: #0B4D96;
  display: block;
  text-align: center;
  font-size: 1.3rem;
  padding: 3rem 0;
  color: #fff;
}

/*==============================
	共通
==============================*/
/*アニメーション*/
.animation, .animation-l, .animation-r, .animation-y {
  opacity: 0;
  visibility: hidden;
  transition: 1.5s;
}

.animation-y {
  transform: translateY(15px);
}

.animation-r {
  transform: translateX(15px);
}

.animation-l {
  transform: translateX(-15px);
}

.active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transform: translateX(0);
}

/*共通ボタン*/
.btn_black, .btn_sky, .btn_black-link {
  width: 60%;
  min-width: 180px;
  height: 35px;
  font-size: 1.4rem;
  display: -webkit-inline-box;
  display: inline-flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center;
  padding: 0 20px;
  background: #111;
  color: #fff;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 575.98px) {
  .btn_black, .btn_sky, .btn_black-link {
    width: auto;
    height: auto;
    padding: 10px 25px;
  }
}
.btn_black::after, .btn_sky::after, .btn_black-link::after {
  position: absolute;
  content: "\f054";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #fff;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  top: 51%;
  right: 20px;
  transition: all 0.6s cubic-bezier(0.2, 1, 0.2, 1);
}
.btn_black:hover, .btn_sky:hover, .btn_black-link:hover {
  transition: all 0.5s;
  color: #fff;
  opacity: 0.8;
  transform: translateY(2px);
}
.btn_black:hover::after, .btn_sky:hover::after, .btn_black-link:hover::after {
  right: 15px;
  transition: all 0.6s cubic-bezier(0.2, 1, 0.2, 1);
}

.btn_black-link {
  width: 250px;
  min-width: 200px;
  padding: 0 20px;
}
.btn_black-link::after {
  display: none;
}
@media screen and (max-width: 575.98px) {
  .btn_black-link {
    width: auto;
    height: auto;
    padding: 10px 25px;
  }
}

.btn_sky {
  height: 40px;
  width: 220px;
  min-width: 200px;
  padding: 0 20px;
  background: #7FC0D3;
}
@media screen and (max-width: 575.98px) {
  .btn_sky {
    width: auto;
    height: auto;
    padding: 10px 25px;
  }
}

/* ローディング */
.loader-wrap {
  position: fixed;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  z-index: 10000000;
  background: #fff;
  top: 0;
}

.loader {
  color: #0B4D96;
  font-size: 10px;
  margin: 100px auto;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  position: relative;
  text-indent: -9999em;
  -webkit-animation: load4 1.3s infinite linear;
  animation: load4 1.3s infinite linear;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
}

@-webkit-keyframes load4 {
  0%, 100% {
    box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0;
  }
  12.5% {
    box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
  }
  25% {
    box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
  }
  37.5% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 0, 2em 2em 0 0.2em, 0 3em 0 0em, -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em;
  }
  50% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0em, 0 3em 0 0.2em, -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em;
  }
  62.5% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em;
  }
  75% {
    box-shadow: 0em -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0.2em, -2em -2em 0 0;
  }
  87.5% {
    box-shadow: 0em -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em;
  }
}
@keyframes load4 {
  0%, 100% {
    box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0;
  }
  12.5% {
    box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
  }
  25% {
    box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
  }
  37.5% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 0, 2em 2em 0 0.2em, 0 3em 0 0em, -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em;
  }
  50% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0em, 0 3em 0 0.2em, -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em;
  }
  62.5% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em;
  }
  75% {
    box-shadow: 0em -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0.2em, -2em -2em 0 0;
  }
  87.5% {
    box-shadow: 0em -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em;
  }
}
/* ページ下部お問合せ */
#f-contact {
  background: url("../images/common/bg_contact.jpg") no-repeat;
  background-size: cover;
  background-position: center;
}
#f-contact .bg-mask {
  background: rgba(0, 0, 0, 0.5);
  background-size: cover;
}
#f-contact ul {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-wrap: nowrap;
  -moz-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-justify-content: space-evenly;
  -moz-justify-content: space-evenly;
  -ms-justify-content: space-evenly;
  justify-content: space-evenly;
  -ms-flex-pack: space-evenly;
  -webkit-align-items: flex-start;
  -moz-align-items: flex-start;
  -ms-align-items: flex-start;
  align-items: flex-start;
}
#f-contact ul li {
  padding: 1rem;
}
@media screen and (max-width: 767.98px) {
  #f-contact ul {
    -webkit-flex-direction: column;
    -moz-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    align-items: center;
  }
}
#f-contact .btn_form {
  background-color: #fff;
  color: #0B4D96;
  padding: 1.5rem 3.5rem;
  min-width: 300px;
  width: 100%;
  display: block;
  text-align: center;
  font-weight: bold;
  transition: all 0.6s cubic-bezier(0.2, 1, 0.2, 1);
}
#f-contact .btn_form:hover {
  opacity: 0.8;
}

/*下層ページメイン*/
.hero {
  width: 100%;
  background-size: cover;
  display: table;
  background-position: center;
}
.hero .hero-inr {
  padding-top: 10.5rem;
  max-width: 1200px;
  width: 100%;
  height: 350px;
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  z-index: 5;
}
.hero .hero-inr .hero_bg {
  background-color: rgba(0, 48, 121, 0.7);
  padding: 2rem 8rem;
  border-radius: 10px;
}
@media screen and (max-width: 767.98px) {
  .hero .hero-inr {
    height: 230px;
  }
  .hero .hero-inr .hero_bg {
    padding: 1.5rem 4rem;
  }
}

/*==============================
	フォーム
==============================*/
#contact {
  /*************************
  コンタクトフォーム【※！汎用！※】
  *************************/
  /*---cotact_form終わり---*/
}
#contact .hero {
  background-image: url("../images/contact/hero.jpg");
}
@media screen and (max-width: 1200px) {
  #contact .cotact_form .row {
    margin-left: 0;
    margin-right: 0;
  }
}
@media screen and (min-width: 768px) {
  #contact .cotact_form .col-md-3 {
    -ms-flex: 0 0 42%;
    flex: 0 0 42%;
    max-width: 42%;
  }
}
#contact .cotact_form .form-group {
  border-top: 1px solid #ddd;
  margin-bottom: 0 !important;
}
#contact .cotact_form .form-control {
  font-size: 1.6rem !important;
  background-color: #fff;
  height: 4.2rem;
  padding: 0.375rem 1.75rem;
}
#contact .cotact_form textarea.form-control {
  height: 15rem;
}
#contact .cotact_form .col-md-3,
#contact .cotact_form .col-md-6 {
  padding: 3rem 2.5rem;
}
@media screen and (max-width: 767.98px) {
  #contact .cotact_form .col-md-6 {
    padding: 0.5rem 0.5rem 1.5rem;
  }
}
#contact .cotact_form .col-md-3 {
  font-weight: bold;
}
@media screen and (max-width: 767.98px) {
  #contact .cotact_form .col-md-3 {
    padding: 0.5rem 0.5rem 1.5rem;
  }
}
#contact .cotact_form .col-md-3 .required {
  color: #fff;
  background-color: #e60d1f;
  padding: 0.4rem 1rem;
  font-size: 1.4rem;
  font-family: sans-serif;
  letter-spacing: 0.3rem;
  position: absolute;
  right: 30px;
  border-radius: 0.5rem;
}
@media screen and (max-width: 767.98px) {
  #contact .cotact_form .col-md-3 .required {
    position: static;
    padding: 0.75rem 1rem;
    margin-left: 1rem;
  }
}
#contact .cotact_form .bg-stripe {
  border: 2px solid #6b6b6b;
  border-radius: 1rem;
}
#contact .cotact_form input[type=checkbox] {
  -ms-transform: scale(1.7, 1.7);
  -webkit-transform: scale(1.7, 1.7);
  transform: scale(1.7, 1.7);
  margin-right: 1rem;
}
#contact .cotact_form input[type=submit] {
  display: inline-block;
  text-decoration: none;
  color: #fff;
  font-weight: bold;
  font-size: 2rem;
  letter-spacing: 1rem;
  padding: 1.2rem 0.8rem 1.2rem 1.8rem;
  margin-right: 2rem;
  background-image: linear-gradient(to top, #0B4D96, #8abcf3);
  border-radius: 1rem;
  border-top: none;
  border-left: none;
  border-right: none;
  border-bottom: solid 4px #0d2e52;
}
#contact .cotact_form input[type=submit]:active {
  -webkit-transform: translateY(4px);
  transform: translateY(4px);
  border-bottom: none;
  margin-bottom: 4px;
}
#contact .cotact_form input[type=reset] {
  border: none;
  background-color: #ececec;
  font-size: 1.4rem;
  padding: 1.25rem 2.5rem;
  border-radius: 1rem;
}
#contact .cotact_form input[type=submit]:focus, #contact .cotact_form input[type=reset]:focus {
  outline: none;
}

#top {
  /*スライダー*/
  /*お知らせ*/
  /*サービス案内*/
  /*取り扱い*/
  /*会社概要*/
}
#top .first {
  position: relative;
  text-align: center;
  width: 100%;
}
#top .first-inr {
  position: relative;
}
#top h2#head img {
  position: absolute;
  top: 55%;
  left: 50%;
  display: block;
  margin: auto;
  z-index: 10;
  max-width: 100%;
  height: 40%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}
@media screen and (max-width: 767.98px) {
  #top h2#head img {
    top: 58%;
    max-width: 70%;
    height: 50%;
  }
}
#top .bxslider li {
  display: none;
}
#top .bx-viewport .bxslider li {
  display: block !important;
}
#top .simply-scroll-list li {
  margin-right: 1rem;
}
#top .simply-scroll-list li img {
  width: 100%;
}
#top #news {
  text-align: center;
  padding: 7rem 0;
}
#top #news a {
  color: #111;
}
#top #news a:hover {
  opacity: 0.7;
}
#top #news li {
  line-height: 1.3;
  border-bottom: dotted 1px #A3A3A3;
  padding: 10px;
}
#top #news li:not(last-child) {
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 575.98px) {
  #top #news {
    text-align: left;
    padding: 4rem 0;
  }
  #top #news span {
    display: block;
    margin-bottom: 0.3rem;
  }
}
#top #service {
  background: url("../images/top/bg_service.png") no-repeat, #F3F6FA;
  background-size: 100%;
  background-position: center;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767.98px) {
  #top #service {
    background: #F3F6FA;
  }
}
#top #links .item-box {
  padding: 2rem 1.5rem;
  height: 300px;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-wrap: nowrap;
  -moz-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-justify-content: space-between;
  -moz-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
  -ms-flex-pack: space-between;
  -webkit-align-items: flex-start;
  -moz-align-items: flex-start;
  -ms-align-items: flex-start;
  align-items: flex-start;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}
#top #links .links-box {
  position: relative;
  height: 300px;
  margin-bottom: 3rem;
}
#top #links .links-box .img-sp {
  display: none;
}
#top #links .links-box .bg-img-l {
  position: absolute;
  z-index: -100;
  top: 0;
  left: 0;
}
#top #links .links-box .bg-img-r {
  position: absolute;
  z-index: -100;
  top: 0;
  right: 0;
}
#top #links .links-box .bg-img01, #top #links .links-box .bg-img04, #top #links .links-box .bg-img03, #top #links .links-box .bg-img02 {
  height: 300px;
  width: 55%;
  max-width: 1200px;
  background-image: url("../images/top/links_img01_bg.jpg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
@media screen and (max-width: 991.98px) {
  #top #links .links-box .bg-img01, #top #links .links-box .bg-img04, #top #links .links-box .bg-img03, #top #links .links-box .bg-img02 {
    width: 44%;
  }
}
#top #links .links-box .bg-img02 {
  background-image: url("../images/top/links_img02_bg.jpg");
  background-position: top center;
}
#top #links .links-box .bg-img03 {
  background-image: url("../images/top/links_img03_bg.jpg");
}
#top #links .links-box .bg-img04 {
  background-image: url("../images/top/links_img04_bg.jpg");
  background-position: bottom right;
}
@media screen and (max-width: 767.98px) {
  #top #links .item-box {
    padding: 0 1.5rem;
    height: auto;
    align-items: center;
  }
  #top #links .links-box {
    height: auto;
    margin-bottom: 0;
    padding-bottom: 3.5rem;
  }
  #top #links .links-box .img-sp {
    display: block;
  }
  #top #links .links-box .bg-img-r, #top #links .links-box .bg-img-l {
    display: none;
    position: static;
  }
}
#top #company table.list {
  width: 100%;
}
#top #company table.list tr {
  border-bottom: 1px solid #ccc;
}
#top #company table.list tr:first-child {
  border-top: 1px solid #ccc;
}
#top #company table.list tr th, #top #company table.list tr td {
  padding: 1.2rem 1.5rem;
  font-weight: normal;
}
#top #company table.list tr th {
  width: 20%;
}
#top #company table.list tr td {
  width: 80%;
}
@media screen and (max-width: 767.98px) {
  #top #company table.list tr th {
    padding: 1rem 0.4rem 1rem 1rem;
    width: 28%;
  }
  #top #company table.list tr td {
    padding: 1rem 0.5rem 1rem 0.4rem;
    width: 72%;
  }
}

#service .hero {
  background-image: url("../images/service/hero.jpg");
}
#service .tit-box {
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid #000;
}
#service .tit-box h3 {
  font-size: 3rem;
}
#service .tit-box .sub-tit {
  letter-spacing: 2px;
  font-size: 1.6rem;
}
@media screen and (max-width: 991.98px) {
  #service .tit-box {
    padding: 1.5rem 0 20px;
  }
}
@media screen and (max-width: 767.98px) {
  #service .tit-box h3 {
    font-size: 2.8rem;
  }
  #service .tit-box .sub-tit {
    letter-spacing: normal;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 575.98px) {
  #service .tit-box h3 {
    font-size: 2.5rem;
  }
  #service .tit-box .br-sm {
    display: none;
  }
}
#service .sec-bg_right {
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 25%, #F3F6FA 25%);
  margin-bottom: 60px;
}
@media screen and (max-width: 991.98px) {
  #service .sec-bg_right {
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 25%, #F3F6FA 25%);
  }
}
@media screen and (max-width: 767.98px) {
  #service .sec-bg_right {
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 20%, #F3F6FA 20%);
    margin-bottom: 20px;
  }
}
#service .sec-bg_left {
  background: linear-gradient(to left, rgba(255, 255, 255, 0) 25%, #F2F8FA 25%);
  margin-bottom: 60px;
}
@media screen and (max-width: 991.98px) {
  #service .sec-bg_left {
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 25%, #F2F8FA 25%);
  }
}
@media screen and (max-width: 767.98px) {
  #service .sec-bg_left {
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 20%, #F2F8FA 20%);
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 575.98px) {
  #service .sec-bg_right .sm-w75 {
    width: 75%;
  }
}/*# sourceMappingURL=style.css.map */