@charset "UTF-8";
/*標準ボタン
---------------------------------------------------------------*/
/*鍵フックボタン
---------------------------------------------------------------*/
/*カーテンボタン
---------------------------------------------------------------*/
/*ラインダッシュボタン
---------------------------------------------------------------*/
/* ブラウザのスクロールバーを常に表示させることでカクカクッとなるのを防ぐ */
@import url("https://fonts.googleapis.com/css?family=Noto+Serif+JP:400,600");
/*変数指定
=======================================================*/
/*メインカラー
--------------------------------------------*/
/*ローディング
=======================================================*/
/* ローディングの背景部分のCSS */
.loader {
  background: #333;
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 100000;
}

/* ローディングのアニメーション部分のCSS (https://projects.lukehaas.me/css-loaders/) */
.loader-animation,
.loader-animation:before,
.loader-animation:after {
  background: #1d4e77;
  -webkit-animation: load1 1s infinite ease-in-out;
  animation: load1 1s infinite ease-in-out;
  width: 1em;
  height: 4em;
}

.loader-animation {
  height: 10px;
  left: 50%;
  margin: -5px 0 0 -5px;
  position: absolute;
  top: 50%;
  width: 10px;
  color: #1d4e77;
  text-indent: -9999em;
  font-size: 10px;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}

.loader-animation:before,
.loader-animation:after {
  position: absolute;
  top: 0;
  content: "";
}

.loader-animation:before {
  left: -1.5em;
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}

.loader-animation:after {
  left: 1.5em;
}

@-webkit-keyframes load1 {
  0%,
  80%,
  100% {
    -webkit-box-shadow: 0 0;
    box-shadow: 0 0;
    height: 4em;
  }
  40% {
    -webkit-box-shadow: 0 -2em;
    box-shadow: 0 -2em;
    height: 5em;
  }
}

@keyframes load1 {
  0%,
  80%,
  100% {
    -webkit-box-shadow: 0 0;
    box-shadow: 0 0;
    height: 4em;
  }
  40% {
    -webkit-box-shadow: 0 -2em;
    box-shadow: 0 -2em;
    height: 5em;
  }
}

/*フォント
--------------------------------------------*/
/*body以下
=======================================================*/
body {
  margin: auto;
  padding: 0;
  width: 100%;
  font-family: "Noto Serif JP", serif, "ヒラギノ角ゴ Pro W3",
    "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック",
    "MS PGothic", sans-serif;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  font-size: 3.8vw;
  line-height: 2;
  color: #333;
}

.inbox {
  width: 95%;
  margin: 0 auto;
}

.sp-none {
  display: none;
}

.left {
  float: left;
}

.right {
  float: right;
}

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

img {
  max-width: 100%;
  vertical-align: moddle;
}

/*更新画像
=================================================*/
/*更新イメージの調整
----------------------------------------------- */
.com-img {
  display: block;
  overflow: hidden;
  position: relative;
  z-index: 1;
}

.com-img img {
  position: absolute;
  top: 50% !important;
  left: 50% !important;
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  font-family: "object-fit: cover; object-position: bottom";
  -o-object-position: bottom;
  object-position: bottom;
  min-height: 100%;
  min-width: 100%;
  -webkit-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
}

/*共通テキスト
----------------------------------------------- */
.common-text p {
  margin-bottom: 25px;
}

.common-text p:last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 768px) {
  .common-text p br {
    display: none;
  }
}

/*display flexキッド 
=================================================*/
.flex {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -ms-flexbox;
  -js-display: flex;
  display: -webkit-box;
  display: flex;
  width: 100%;
}

/*折り返し
-----------------------*/
.flx-wrp {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

/*逆順
-----------------------*/
.flx-rr {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

/*水平方向の揃え
=================================================*/
/*並列で均等配置（左右隙間なし=space-between）
-----------------------*/
.flx-btw {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

/*並列で均等配置（左右隙間あり=space-around）
-----------------------*/
.flx-ard {
  -ms-flex-pack: distribute;
  justify-content: space-around;
}

/*水平揃え　末揃え
-----------------------*/
.flx-end {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

/*水平揃え　中央揃え
-----------------------*/
.flx-center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

/*垂直方向の揃え
=================================================*/
/*水平揃え　高さ揃え
-----------------------*/
.flx-alitem-strt {
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}

/*水平揃え　縦・横の中央揃え
-----------------------*/
.flx-alitem-c {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

/*水平揃え　上揃え
-----------------------*/
.flx-alitem-strt {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

/*水平揃え　下揃え
-----------------------*/
.flx-alitem-end {
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}

/*水平揃え　ベースライン揃え
-----------------------*/
.flx-alitem-base {
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
}

/*複数行にした揃え方
=================================================*/
/*初期値
-----------------------*/
.flx-alcont-strt {
  -ms-flex-line-pack: stretch;
  align-content: stretch;
}

/*親要素の開始位置から配置。上揃え
-----------------------*/
.flx-alcont-start {
  -ms-flex-line-pack: start;
  align-content: flex-start;
}

/*親要素の終点から配置。下揃え
-----------------------*/
.flx-alcont-end {
  -ms-flex-line-pack: end;
  align-content: flex-end;
}

/*中央揃え
-----------------------*/
.flx-alcont-c {
  -ms-flex-line-pack: center;
  align-content: center;
}

/*最初と最後の子要素を上下の端に配置し、残りの要素は均等に間隔をあけて配置
-----------------------*/
.flx-alcont-s-btw {
  -ms-flex-line-pack: justify;
  align-content: space-between;
}

/*上下端にある子要素も含め、均等に間隔をあけて配置
-----------------------*/
.flx-alcont-s-ard {
  -ms-flex-line-pack: distribute;
  align-content: space-around;
}

/*=========================================================
	header
=========================================================*/
#header {
  height: 60px;
}

#header .hd-l {
  width: 30%;
  padding: 1% 1% 0 0;
}

#header .hd-r {
  display: none;
}

.mail-btn {
  text-align: center;
  display: block;
  background: #1d4e77;
  -webkit-transition: 0.3s all ease;
  transition: 0.3s all ease;
}

.mail-btn span {
  color: #fff;
  padding-left: 40px;
  line-height: 1;
  position: relative;
}

.mail-btn span:before {
  content: "";
  position: absolute;
  display: block;
  top: 50%;
  right: auto;
  bottom: auto;
  left: 0;
  width: 20px;
  height: 14px;
  background: url("../img/common/mail-icon.png") no-repeat center/contain;
  margin-top: -7px;
}

.mail-btn:hover {
  background: #ee9117;
}

/*Mainvisual
=========================================================*/
#mv {
  height: 300px;
  position: relative;
}

#mv .catch {
  text-align: center;
}

#mv .catch img {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  z-index: 999;
  margin: auto;
}

#mv li {
  height: 300px;
}

#mv li:nth-child(1) {
  background: url(../img/mv/slider01-bg.jpg) no-repeat center/cover;
}

#mv li:nth-child(2) {
  background: url(../img/mv/slider02-bg.jpg) no-repeat center/cover;
}

#mv li:nth-child(3) {
  background: url(../img/mv/slider03-bg.jpg) no-repeat center/cover;
}

#mv .catch {
  height: 100%;
  margin: 0 auto;
}

#mv .catch01 img {
  left: 0;
  right: auto;
  bottom: 0;
}

#mv .catch02 img {
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  z-index: 100;
}

#mv .catch03 img {
  top: 0;
  bottom: auto;
}

/*nav
=========================================================*/
#nav {
  display: none;
}

/*=========================================================
	トップページ
=========================================================*/
/*共通タイトル
=========================================================*/
/*共通ボタン
=========================================================*/
.more-btn01 {
  position: relative;
  text-align: center;
  display: block;
  letter-spacing: 1.2px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  margin: 0 auto;
  font-size: 14px;
  border: solid #ee9117 1px;
  background: #ee9117;
  color: #fff;
  font-weight: bold;
  padding: 10px 0;
  overflow: hidden;
}

.more-btn01:before,
.more-btn01:after {
  content: "";
  position: absolute;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.more-btn01 span {
  position: relative;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
  z-index: 10;
}

.more-btn01 span {
  color: #fff;
}

@media screen and (max-width: 768px) {
  .more-btn01 {
    font-size: 3.5vw;
  }
}

.more-btn01:hover {
  background: #fff;
  border: solid #ee9117 1px;
}

.more-btn01:hover span {
  color: #ee9117;
}

.more-btn02 {
  position: relative;
  text-align: center;
  display: block;
  letter-spacing: 1.2px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  margin: 0 auto;
  font-size: 14px;
  border: solid #ee9117 1px;
  background: #ee9117;
  color: #fff;
  font-weight: bold;
  padding: 10px 0;
  overflow: hidden;
}

.more-btn02:before,
.more-btn02:after {
  content: "";
  position: absolute;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.more-btn02 span {
  position: relative;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
  z-index: 10;
}

.more-btn02 span {
  color: #fff;
}

@media screen and (max-width: 768px) {
  .more-btn02 {
    font-size: 3.5vw;
  }
}

.more-btn02:before {
  opacity: 0;
  background: rgba(255, 255, 255, 0.4);
  -webkit-transform: scale(1, 0.1);
  transform: scale(1, 0.1);
}

.more-btn02:after {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.more-btn02:hover:before {
  opacity: 1;
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
}

.more-btn02:hover:after {
  opacity: 0;
  -webkit-transform: scale(1, 0.1);
  transform: scale(1, 0.1);
}

.more-btn03 {
  position: relative;
  text-align: center;
  display: block;
  letter-spacing: 1.2px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  margin: 0 auto;
  font-size: 14px;
  border: solid #ee9117 1px;
  background: #ee9117;
  color: #fff;
  font-weight: bold;
  padding: 10px 0;
  overflow: hidden;
}

.more-btn03:before,
.more-btn03:after {
  content: "";
  position: absolute;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.more-btn03 span {
  position: relative;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
  z-index: 10;
}

.more-btn03 span {
  color: #fff;
}

@media screen and (max-width: 768px) {
  .more-btn03 {
    font-size: 3.5vw;
  }
}

.more-btn03:before {
  opacity: 0;
  background: rgba(255, 255, 255, 0.5);
  -webkit-transform: scale(0.1, 0.1);
  transform: scale(0.1, 0.1);
}

.more-btn03:hover:before {
  opacity: 1;
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
}

.more-btn03:hover:after {
  -webkit-transform: scale(0, 0);
  transform: scale(0, 0);
  opacity: 0;
}

.more-btn04 {
  position: relative;
  text-align: center;
  display: block;
  letter-spacing: 1.2px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  margin: 0 auto;
  font-size: 14px;
  border: solid #ee9117 1px;
  background: #ee9117;
  color: #fff;
  font-weight: bold;
  padding: 10px 0;
  overflow: hidden;
}

.more-btn04:before,
.more-btn04:after {
  content: "";
  position: absolute;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.more-btn04 span {
  position: relative;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
  z-index: 10;
}

.more-btn04 span {
  color: #fff;
}

@media screen and (max-width: 768px) {
  .more-btn04 {
    font-size: 3.5vw;
  }
}

.more-btn05 {
  position: relative;
  text-align: center;
  display: block;
  letter-spacing: 1.2px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  margin: 0 auto;
  font-size: 14px;
  border: solid #ee9117 1px;
  background: #ee9117;
  color: #fff;
  font-weight: bold;
  padding: 10px 0;
  overflow: hidden;
}

.more-btn05:before,
.more-btn05:after {
  content: "";
  position: absolute;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.more-btn05 span {
  position: relative;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
  z-index: 10;
}

.more-btn05 span {
  color: #fff;
}

@media screen and (max-width: 768px) {
  .more-btn05 {
    font-size: 3.5vw;
  }
}

.more-btn01 span {
  font-size: 4vw;
  position: relative;
  padding-left: 25px;
}

.more-btn01 span:before {
  content: "";
  position: absolute;
  display: block;
  top: 50%;
  right: auto;
  bottom: auto;
  left: 0;
  width: 11px;
  height: 18px;
  background: url("../img/common/arrow01.png") no-repeat center/contain;
  margin-top: -9px;
  -webkit-transition: 0.3s all ease;
  transition: 0.3s all ease;
}

.more-btn01.org {
  background: #fff;
}

.more-btn01.org span {
  color: #e07105;
  font-size: 4vw;
  position: relative;
  padding-left: 25px;
}

.more-btn01.org span:before {
  content: "";
  position: absolute;
  display: block;
  top: 50%;
  right: auto;
  bottom: auto;
  left: 0;
  width: 11px;
  height: 18px;
  background: url("../img/common/arrow02.png") no-repeat center/contain;
  margin-top: -9px;
  -webkit-transition: 0.3s all ease;
  transition: 0.3s all ease;
}

.more-btn01.blue {
  border: solid #02305a 1px;
  background: #fff;
}

.more-btn01.blue span {
  color: #02305a;
  font-size: 4vw;
  position: relative;
  padding-left: 25px;
}

.more-btn01.blue span:before {
  content: "";
  position: absolute;
  display: block;
  top: 50%;
  right: auto;
  bottom: auto;
  left: 0;
  width: 11px;
  height: 18px;
  background: url("../img/common/arrow03.png") no-repeat center/contain;
  margin-top: -9px;
  -webkit-transition: 0.3s all ease;
  transition: 0.3s all ease;
}

.more-btn01.blue01 {
  border: solid #02305a 1px;
  background: #02305a;
}

.more-btn01.blue01 span {
  color: #fff;
  font-size: 16px;
  position: relative;
  padding-left: 25px;
}

.more-btn01.blue01 span:before {
  content: "";
  position: absolute;
  display: block;
  top: 50%;
  right: auto;
  bottom: auto;
  left: 0;
  width: 11px;
  height: 18px;
  background: url("../img/common/arrow01.png") no-repeat center/contain;
  margin-top: -9px;
  -webkit-transition: 0.3s all ease;
  transition: 0.3s all ease;
}

.more-btn01.blue02 {
  border: solid #1d4e77 1px;
  background: #1d4e77;
}

.more-btn01.blue02 span {
  color: #fff;
  font-size: 16px;
  position: relative;
  padding-left: 25px;
}

.more-btn01.blue02 span:before {
  content: "";
  position: absolute;
  display: block;
  top: 50%;
  right: auto;
  bottom: auto;
  left: 0;
  width: 11px;
  height: 18px;
  background: url("../img/common/arrow01.png") no-repeat center/contain;
  margin-top: -9px;
  -webkit-transition: 0.3s all ease;
  transition: 0.3s all ease;
}

.more-btn-line-start {
  width: 100%;
  color: #11a983;
  background: transparent;
  border-width: 2px;
  border-style: solid;
  border-color: #11a983;
  position: relative;
  display: inline-block;
  padding: 0.5em 1em;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  text-align: center;
  font-family: comfortaa;
  font-weight: bold;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.more-btn-line-start:before,
.more-btn-line-start:after {
  content: "";
  position: absolute;
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-color: #11a983;
  border-style: solid;
  width: 1em;
  height: 1em;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.more-btn-line-start:before {
  top: -6px;
  left: -6px;
  border-width: 2px 0 0 2px;
  z-index: 5;
}

.more-btn-line-start:after {
  bottom: -6px;
  right: -6px;
  border-width: 0 2px 2px 0;
}

.more-btn-line-start:hover {
  color: #fff;
  background-color: #11a983;
  border-color: #11a983;
}

.more-btn-line-start:hover:before,
.more-btn-line-start:hover:after {
  width: calc(100% + 12px);
  height: calc(100% + 12px);
  border-color: #11a983;
}

.more-btn-line-turn {
  width: 100%;
  color: #11a983;
  background: transparent;
  border-width: 2px;
  border-style: solid;
  border-color: #11a983;
  position: relative;
  display: inline-block;
  padding: 0.5em 1em;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  text-align: center;
  font-family: comfortaa;
  font-weight: bold;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.more-btn-line-turn:before,
.more-btn-line-turn:after {
  content: "";
  position: absolute;
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-color: #11a983;
  border-style: solid;
  width: 1em;
  height: 1em;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.more-btn-line-turn:before {
  top: -6px;
  left: -6px;
  border-width: 2px 0 0 2px;
  z-index: 5;
}

.more-btn-line-turn:after {
  bottom: -6px;
  right: -6px;
  border-width: 0 2px 2px 0;
}

.more-btn-line-turn:hover {
  color: #fff;
  background-color: #11a983;
  border-color: #11a983;
}

.more-btn-line-turn:hover:before,
.more-btn-line-turn:hover:after {
  width: calc(100% + 12px);
  height: calc(100% + 12px);
  border-color: #11a983;
  -webkit-transform: rotateY(180deg);
  transform: rotateY(180deg);
}

.more-btn-line-turn {
  width: 100%;
  color: #11a983;
  background: transparent;
  border-width: 2px;
  border-style: solid;
  border-color: #11a983;
  position: relative;
  display: inline-block;
  padding: 0.5em 1em;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  text-align: center;
  font-family: comfortaa;
  font-weight: bold;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.more-btn-line-turn:before,
.more-btn-line-turn:after {
  content: "";
  position: absolute;
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-color: #11a983;
  border-style: solid;
  width: 1em;
  height: 1em;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.more-btn-line-turn:before {
  top: -6px;
  left: -6px;
  border-width: 2px 0 0 2px;
  z-index: 5;
}

.more-btn-line-turn:after {
  bottom: -6px;
  right: -6px;
  border-width: 0 2px 2px 0;
}

.more-btn-line-turn:hover {
  color: #fff;
  background-color: #11a983;
  border-color: #11a983;
}

.more-btn-line-turn:hover:before,
.more-btn-line-turn:hover:after {
  width: calc(100% + 12px);
  height: calc(100% + 12px);
  border-color: #11a983;
  -webkit-transform: rotateY(180deg);
  transform: rotateY(180deg);
}

.curtn-btn-top {
  padding: 15px 0;
  font-weight: bold;
  display: block;
  position: relative;
  text-align: center;
  z-index: 10;
  background: #1d4e77;
  overflow: hidden;
}

.curtn-btn-top:before {
  content: "";
  position: absolute;
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  background: #02305a;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.curtn-btn-top span {
  position: relative;
  z-index: 100;
}

.curtn-btn-top:before {
  left: 0;
  top: -100%;
}

.curtn-btn-top:hover:before {
  top: 0;
}

.curtn-btn-right {
  padding: 15px 0;
  font-weight: bold;
  display: block;
  position: relative;
  text-align: center;
  z-index: 10;
  background: #1d4e77;
  overflow: hidden;
}

.curtn-btn-right:before {
  content: "";
  position: absolute;
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  background: #02305a;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.curtn-btn-right span {
  position: relative;
  z-index: 100;
}

.curtn-btn-right:before {
  right: -100%;
  top: 0;
}

.curtn-btn-right:hover:before {
  right: 0;
}

.curtn-btn-bottom {
  padding: 15px 0;
  font-weight: bold;
  display: block;
  position: relative;
  text-align: center;
  z-index: 10;
  background: #1d4e77;
  overflow: hidden;
}

.curtn-btn-bottom:before {
  content: "";
  position: absolute;
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  background: #02305a;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.curtn-btn-bottom span {
  position: relative;
  z-index: 100;
}

.curtn-btn-bottom:before {
  left: 0;
  bottom: -100%;
}

.curtn-btn-bottom:hover:before {
  bottom: 0;
}

.curtn-btn-left {
  padding: 15px 0;
  font-weight: bold;
  display: block;
  position: relative;
  text-align: center;
  z-index: 10;
  background: #1d4e77;
  overflow: hidden;
}

.curtn-btn-left:before {
  content: "";
  position: absolute;
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  background: #02305a;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.curtn-btn-left span {
  position: relative;
  z-index: 100;
}

.curtn-btn-left:before {
  left: -100%;
  top: 0;
}

.curtn-btn-left:hover:before {
  left: 0;
}

.line-dash-btn-01 {
  text-align: center;
  display: block;
  position: relative;
  background: none;
  border: none;
  color: #fff;
  font-weight: bold;
  font-size: 15px;
  cursor: pointer;
  background: rgba(0, 0, 0, 0.9);
}

.line-dash-btn-01:before,
.line-dash-btn-01:after {
  content: "";
  width: 0;
  height: 2px;
  position: absolute;
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
  background: #1d4e77;
}

.line-dash-btn-01:before {
  right: 0;
  top: 0;
}

.line-dash-btn-01:after {
  left: 0;
  bottom: 0;
}

.line-dash-btn-01 span {
  color: #fff;
  display: block;
  padding: 15px 0;
}

.line-dash-btn-01 span:before,
.line-dash-btn-01 span:after {
  content: "";
  width: 2px;
  height: 0;
  position: absolute;
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
  background: #1d4e77;
}

.line-dash-btn-01 span:before {
  right: 0;
  bottom: 0;
}

.line-dash-btn-01 span:after {
  left: 0;
  top: 0;
}

.line-dash-btn-01:hover:before,
.line-dash-btn-01:hover:after {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  width: 100%;
}

.line-dash-btn-01:hover span:before,
.line-dash-btn-01:hover span:after {
  -webkit-transition-delay: 0.2s;
  transition-delay: 0.2s;
  height: 100%;
}

.line-dash-btn-02 {
  text-align: center;
  display: block;
  position: relative;
  background: none;
  border: none;
  color: #fff;
  font-weight: bold;
  font-size: 15px;
  cursor: pointer;
  background: rgba(0, 0, 0, 0.9);
}

.line-dash-btn-02:before,
.line-dash-btn-02:after {
  content: "";
  width: 0;
  height: 2px;
  position: absolute;
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
  background: #1d4e77;
}

.line-dash-btn-02:before {
  right: 0;
  top: 0;
}

.line-dash-btn-02:after {
  left: 0;
  bottom: 0;
}

.line-dash-btn-02 span {
  color: #fff;
  display: block;
  padding: 15px 0;
}

.line-dash-btn-02 span:before,
.line-dash-btn-02 span:after {
  content: "";
  width: 2px;
  height: 0;
  position: absolute;
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
  background: #1d4e77;
}

.line-dash-btn-02 span:before {
  right: 0;
  bottom: 0;
}

.line-dash-btn-02 span:after {
  left: 0;
  top: 0;
}

.line-dash-btn-02:hover:before,
.line-dash-btn-02:hover:after {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  width: 100%;
}

.line-dash-btn-02:hover span:before,
.line-dash-btn-02:hover span:after {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  height: 100%;
}

.line-dash-btn-03 {
  text-align: center;
  display: block;
  position: relative;
  background: none;
  border: none;
  color: #fff;
  font-weight: bold;
  font-size: 15px;
  cursor: pointer;
  background: rgba(0, 0, 0, 0.9);
}

.line-dash-btn-03:before,
.line-dash-btn-03:after {
  content: "";
  width: 0;
  height: 2px;
  position: absolute;
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
  background: #1d4e77;
}

.line-dash-btn-03:before {
  right: 0;
  top: 0;
}

.line-dash-btn-03:after {
  left: 0;
  bottom: 0;
}

.line-dash-btn-03 span {
  color: #fff;
  display: block;
  padding: 15px 0;
}

.line-dash-btn-03 span:before,
.line-dash-btn-03 span:after {
  content: "";
  width: 2px;
  height: 0;
  position: absolute;
  -webkit-transition: all 0.2s linear;
  transition: all 0.2s linear;
  background: #1d4e77;
}

.line-dash-btn-03 span:before {
  right: 0;
  top: 0;
}

.line-dash-btn-03 span:after {
  left: 0;
  bottom: 0;
}

.line-dash-btn-03:hover:before,
.line-dash-btn-03:hover:after {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  width: 100%;
}

.line-dash-btn-03:hover span:before,
.line-dash-btn-03:hover span:after {
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
  height: 100%;
}

/*top-greeting
=========================================================*/
#top-greeting {
  padding: 50px 0 70px;
  position: relative;
}

#top-greeting:before {
  content: "";
  position: absolute;
  display: block;
  top: 20%;
  right: 0;
  bottom: auto;
  left: auto;
  width: 100%;
  height: 500px;
  background: url("../img/top/top-works-bg02.png") no-repeat center/contain;
}

#top-greeting:after {
  content: "";
  position: absolute;
  display: block;
  top: auto;
  right: auto;
  bottom: 0;
  left: 0;
  width: 75%;
  height: 20%;
  background: url("../img/top/top-greeting-bg.png") no-repeat center/contain;
}

#top-greeting .top-greeting-ttl {
  position: relative;
  font-size: 6vw;
  color: #1d4e77;
  font-weight: bold;
}

#top-greeting .top-greeting-ttl:before {
  content: "";
  position: absolute;
  display: block;
  top: 50%;
  right: 0;
  bottom: auto;
  left: auto;
  width: 50vw;
  height: 1px;
  background: #1d4e77;
}

#top-greeting .top-greeting-box {
  background: #fff;
  position: relative;
  z-index: 100;
  margin-bottom: 60px;
}

#top-greeting .top-greeting-box .top-greeting-inbox {
  position: relative;
  background: #fff;
  padding: 20px;
  z-index: 10;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

#top-greeting .top-greeting-box .top-greeting-inbox br {
  display: none;
}

#top-greeting .top-policy {
  position: relative;
  margin-left: auto;
  z-index: 50;
}

#top-greeting .top-policy .top-policy-ttl {
  background: #000;
  color: #fff;
  font-size: 6vw;
  line-height: 1;
  padding: 10px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin-bottom: 15px;
}

#top-greeting .top-policy .top-policy-ttl span {
  font-size: 6.5vw;
}

#top-greeting .top-policy ul li {
  padding: 15px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background: #fff;
  margin-bottom: 10px;
  color: #1d4e77;
  font-size: 5vw;
  font-weight: bold;
  line-height: 1;
}

#top-greeting .top-policy ul li span {
  color: #e07105;
}

#top-greeting .top-policy ul li .num {
  color: #1d4e77;
  font-style: italic;
  font-size: 5.5vw;
  margin-right: 10px;
}

#top-greeting .top-policy ul li:nth-child(1) {
  width: 640px;
}

#top-greeting .top-policy ul li:nth-child(2) {
  width: 615px;
}

#top-greeting .top-policy ul li:nth-child(3) {
  width: 580px;
  margin-bottom: 0;
}

/*top-works
=========================================================*/
#top-works .works-ttl {
  line-height: 1;
  text-align: center;
  background: #0e2e49;
  color: #fff;
  font-size: 4vw;
  padding: 40px 0 60px;
  position: relative;
  z-index: 10;
}

#top-works .works-ttl span {
  font-size: 4.5vw;
}

#top-works .works-movie {
  position: relative;
  width: 90%;
  height: 300px;
  margin: -20px auto 80px;
  background: #ccc;
  z-index: 50;
}

#top-works .works-info {
  width: 95%;
  margin: 0 auto;
}

#top-works .works-info .works-info-ttl {
  text-align: center;
  margin-left: auto;
  background: #1d4e77;
  color: #fff;
  line-height: 1;
  padding: 30px 0;
}

#top-works .works-info .works-info-ttl span {
  display: block;
}

#top-works .works-info .works-info-ttl span:nth-child(1) {
  font-size: 4.8vw;
  margin-bottom: 30px;
}

#top-works .works-info .works-info-wrp {
  margin: 0 auto 50px;
}

#top-works .works-info .works-info-wrp .works-info-section01 h4,
#top-works .works-info .works-info-wrp .works-info-section02 h4 {
  position: relative;
  font-size: 5.5vw;
  color: #1d4e77;
  font-weight: bold;
  border-bottom: 1px solid #1d4e77;
}

#top-works .works-info .works-info-wrp .works-info-section01 {
  margin-bottom: 30px;
  text-align: right;
}

#top-works .works-info .works-info-wrp .works-info-section01 img {
  left: 0;
  top: 0;
}

#top-works .works-info .works-info-wrp .works-info-section02 {
  margin: 0 0 0 auto;
}

#top-works .works-info .works-info-wrp .works-info-section02 img {
  right: 0;
  bottom: 0;
}

/*top-equipment
=========================================================*/
#top-equipment {
  padding: 50px 0 90px;
  background: url(../img/top/top-equipment-bg.png) no-repeat bottom;
}

#top-equipment .equipment-ttl {
  font-size: 6vw;
  margin-bottom: 30px;
  line-height: 1;
  text-align: center;
  font-weight: bold;
  color: #1d4e77;
}

#top-equipment .equipment-ttl span {
  display: block;
}

#top-equipment .top-equipment-list {
  margin-bottom: 50px;
  display: block;
}

#top-equipment .top-equipment-list li {
  margin-bottom: 30px;
}

#top-equipment .top-equipment-list li:last-child {
  margin-bottom: 0;
}

#top-equipment .top-equipment-list li .com-img {
  height: 240px;
  margin-bottom: 10px;
}

#top-equipment .top-equipment-list li h4 {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 4vw;
  font-weight: bold;
  padding-left: 18px;
  border-left: solid 5px #ee9117;
}

/*top-recruit
=========================================================*/
#top-recruit {
  margin-top: -135px;
  padding: 230px 0 40px;
  background: url(../img/top/top-recruit-bg.png) no-repeat top center;
}

#top-recruit .top-recruit-ttl {
  font-weight: bold;
  letter-spacing: 0.2rem;
  color: #fff;
  margin-bottom: 30px;
  text-align: center;
}

#top-recruit .top-recruit-ttl span {
  display: block;
  line-height: 1;
}

#top-recruit .top-recruit-ttl span:nth-child(1) {
  margin-bottom: 20px;
  font-size: 6vw;
  position: relative;
}

#top-recruit .top-recruit-wrp {
  display: block;
}

#top-recruit .top-recruit-wrp .top-recruit-img {
  margin-bottom: 20px;
}

#top-recruit .top-recruit-wrp .top-recruit-box {
  background: rgba(14, 46, 73, 0.8);
  padding: 5%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #fff;
}

#top-recruit .top-recruit-wrp .top-recruit-box .top-recruit-text {
  margin-bottom: 50px;
  padding-left: 5%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-left: 5px solid #fff;
}

#top-recruit .top-recruit-wrp .top-recruit-box .top-recruit-text p {
  margin-bottom: 50px;
}

#top-recruit .top-recruit-wrp .top-recruit-box .top-recruit-text dl {
  text-align: center;
  display: block;
}

#top-recruit .top-recruit-wrp .top-recruit-box .top-recruit-text dl dt {
  background: url(../img/recruit/flow-time-bg.jpg);
  width: 90%;
  padding: 5px 0;
  margin: 0 auto 30px;
}

#top-recruit .top-recruit-wrp .top-recruit-link-list li {
  margin-bottom: 10px;
}

#top-recruit .top-recruit-wrp .top-recruit-link-list li:last-child {
  margin-bottom: 0;
}

#top-recruit .top-recruit-wrp .top-recruit-link-list li .more-btn01 span {
  font-size: 3.8vw;
}

/*top-news
=========================================================*/
#top-news {
  padding: 0 0 50px;
  background: url(../img/top/top-news-bg.png) no-repeat bottom center/contain;
}

#top-news .top-news-ttl {
  text-align: center;
  font-weight: bold;
  color: #02305a;
  margin-bottom: 40px;
}

#top-news .top-news-ttl span {
  display: block;
}

#top-news .top-news-ttl span:nth-child(1) {
  font-size: 6.5vw;
}

#top-news .top-news-wrp {
  margin-bottom: 45px;
  padding: 25px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background: #1d4e77;
}

#top-news .top-news-wrp article {
  border-bottom: solid 1px rgba(255, 255, 255, 0.2);
}

#top-news .top-news-wrp article:last-child {
  border-bottom: none;
}

#top-news .top-news-wrp article a {
  padding: 10px 0;
  display: block;
}

#top-news .top-news-wrp article a time {
  -webkit-transition: 0.3s all ease;
  transition: 0.3s all ease;
  text-align: center;
  width: 120px;
  color: #1d4e77;
  background: #fff;
  padding: 5px 0;
  line-height: 1;
  margin-bottom: 8px;
  display: block;
}

#top-news .top-news-wrp article a time span {
  line-height: 1;
  padding-left: 16px;
  position: relative;
}

#top-news .top-news-wrp article a time span:before {
  content: "";
  position: absolute;
  display: block;
  top: 50%;
  right: auto;
  bottom: auto;
  left: 0;
  width: 5px;
  height: 10px;
  background: url("../img/common/time-arrow01.png") no-repeat center/contain;
  margin-top: -5px;
}

#top-news .top-news-wrp article a h4 {
  -webkit-transition: 0.3s all ease;
  transition: 0.3s all ease;
  font-weight: bold;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
}

#top-news .top-news-wrp article:hover a h4,
#top-news .top-news-wrp article:hover a time {
  color: #ee9117;
}

#top-news .more-btn01 {
  margin-bottom: 80px;
}

.aside-link li {
  margin-right: 40px;
}

.aside-link li:last-child {
  margin-right: 0;
}

/*=========================================================
	footer
=========================================================*/
.sidebar-recruit {
  display: none;
}

#pagetop {
  width: 30px;
  position: fixed;
  right: 2.5%;
  bottom: 50px;
}

#footer {
  padding-top: 40px;
  background: #103c65;
  text-align: center;
}

#footer .ft-nav {
  display: none;
}

#footer .ft-logo {
  display: inline-block;
  vertical-align: middle;
  margin-bottom: 25px;
}

#footer .ft-contact-list {
  display: block;
}

#footer .ft-contact-list .ft-tel {
  margin-bottom: 30px;
}

#footer .ft-contact-list .mail-btn {
  width: 220px;
  padding: 15px 0;
  margin: 0 auto;
}

#footer #copyright {
  text-align: center;
  padding: 15px 0;
}

#footer #copyright small {
  color: #fff;
  font-size: 12px;
}

#footer #copyright small a {
  color: #fff;
}

/*=========================================================
	下層ページ
=========================================================*/
#contents-u {
  padding: 50px 0 60px;
}

/*下層サブビジュアル
=========================================================*/
#ma {
  height: 200px;
  background: url(../img/common/ma-bg.jpg) no-repeat center/cover;
}

#ma .ma-inbox,
#ma .inbox {
  height: 100%;
}

.ma-ttl {
  color: #fff;
  font-size: 50px;
  font-weight: bold;
  letter-spacing: 0.2rem;
  text-shadow: rgba(0, 0, 0, 0) 1px 1px 5px, rgba(0, 0, 0, 0) -1px 1px 5px,
    rgba(0, 0, 0, 0) 1px -1px 5px, rgba(0, 0, 0, 0) -1px -1px 5px,
    rgba(0, 0, 0, 0) 1px 1px 8px, rgba(0, 0, 0, 0) -1px 1px 8px,
    rgba(0, 0, 0, 0) 1px -1px 8px, rgba(0, 0, 0, 0) -1px -1px 8px;
  text-align: center;
  font-size: 4vw;
  width: 100%;
  line-height: 1;
  background: rgba(29, 78, 119, 0.8);
  position: relative;
  padding: 30px 0;
}

.ma-ttl span {
  width: 80%;
  padding: 5px 0;
  text-align: center;
  display: block;
  line-height: 0;
  position: absolute;
  right: 0;
  bottom: -10px;
  left: 0;
  margin: auto;
  font-size: 3.2vw;
  background: #000;
}

.ma-ttl span img {
  height: 10px;
}

/*下層共通タイトル
=========================================================*/
.ttl01 {
  text-align: center;
  font-weight: bold;
  color: #02305a;
  font-size: 5vw;
  border-bottom: 1px solid #1d4e77;
  line-height: 1.5;
  padding-bottom: 20px;
  margin-bottom: 30px;
}

.ttl01 span {
  display: block;
  margin-left: 30px;
  color: #1d4e77;
  font-size: 4vw;
}

.ttl02 {
  text-align: center;
  color: #1d4e77;
  font-size: 6vw;
  font-weight: bold;
  line-height: 1.5;
  padding-bottom: 10px;
  border-bottom: 1px solid #1d4e77;
  margin-bottom: 30px;
}

.ttl02 span {
  margin-top: 10px;
  display: block;
  font-size: 4.5vw;
}

.ttl03 {
  font-weight: bold;
  text-align: center;
  font-size: 5vw;
  color: #1d4e77;
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid #1d4e77;
}

.ttl03 span {
  display: block;
  font-size: 4.5vw;
  display: block;
  line-height: 1;
  margin-top: 15px;
}

.ttl04 {
  line-height: 1.5;
  color: #1d4e77;
  font-size: 4vw;
  margin-bottom: 20px;
}

.ttl04 span {
  padding-left: 10px;
  line-height: 1.5;
  border-left: 2px solid #1d4e77;
  display: block;
}

/*下層共通パーツ
=========================================================*/
.tab-link {
  margin-bottom: 40px;
}

.tab-link li {
  width: 49%;
  margin-right: 2%;
  text-align: center;
  background: -webkit-linear-gradient(left, #0f0f0f 0%, #373737 100%);
  line-height: 1;
  font-size: 3.5vw;
}

.tab-link li:last-child {
  margin-right: 0;
}

.tab-link li a {
  display: block;
  color: #fff;
  padding: 15px 0 20px;
  position: relative;
  overflow: hidden;
}

.tab-link li a:before {
  z-index: 10;
  content: "";
  position: absolute;
  display: block;
  top: auto;
  right: auto;
  bottom: -95%;
  left: 0;
  width: 100%;
  height: 100%;
  background: #1d4e77;
  -webkit-transition: 0.3s all ease;
  transition: 0.3s all ease;
}

.tab-link li span {
  position: relative;
  z-index: 100;
}

/*パンくず
=========================================================*/
#bread-clumb {
  width: 100%;
  position: absolute;
  margin: 0 auto;
  padding: 10px 0 50px;
}

#bread-clumb li {
  position: relative;
  color: #333;
  font-size: 14px;
  float: left;
  margin-right: 20px;
}

#bread-clumb li:after {
  content: ">";
  position: absolute;
  display: block;
  right: -15px;
  top: 0;
}

#bread-clumb li:last-child {
  margin-right: 0;
}

#bread-clumb li:last-child:after {
  display: none;
}

#bread-clumb li a {
  color: #333;
}

/*共通テーブル
=========================================================*/
.com-dl dl,
.com-dl dd,
.com-dl dt {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.com-dl > dl {
  font-family: "Noto Sans JP", sans-serif;
  border-bottom: 2px solid #fff;
}

.com-dl > dl > dt,
.com-dl > dl > dd {
  padding: 10px 20px;
  font-size: 15px;
}

.com-dl > dl > dt {
  color: #fff;
  background: #1d4e77;
}

.com-dl > dl > dd {
  padding-bottom: 25px;
}

.com-dl > dl > dd a {
  color: #333;
}

/*事業内容
=========================================================*/
#nc,
#machining-center {
  display: block;
}

#nc .works-ttl,
#machining-center .works-ttl {
  font-size: 5.5vw;
  margin-bottom: 20px;
  color: #1d4e77;
  font-weight: bold;
  padding-left: 20px;
  background: url(../img/common/works-ttl-line.png) repeat-y left top;
  line-height: 1.2;
}

#nc .nc-text p,
#nc .machining-center-text p,
#machining-center .nc-text p,
#machining-center .machining-center-text p {
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
}

#nc {
  padding-bottom: 200px;
  background: url(../img/works/works-line.png) no-repeat bottom center;
}

#nc .nc-wrp {
  display: block;
}

#nc .nc-wrp .nc-img {
  text-align: center;
  margin-bottom: 20px;
}

#machining-center {
  margin: -90px 0 70px;
}

#machining-center .machining-center-wrp {
  display: block;
}

#machining-center .machining-center-img {
  text-align: center;
  margin-bottom: 20px;
}

.main-production {
  margin-bottom: 65px;
}

.main-production .main-production-ttl {
  text-align: center;
  color: #1d4e77;
  font-weight: bold;
  border-bottom: 1px solid #1d4e77;
  margin-bottom: 30px;
  padding-bottom: 20px;
  font-size: 5.5vw;
  line-height: 1;
}

.main-production .production-list {
  display: block;
}

.main-production .production-list figure {
  text-align: center;
  margin-bottom: 20px;
}

.main-production .production-list figure:last-child {
  margin-bottom: 0;
}

.main-production .production-list figure figcaption {
  font-size: 4.5vw;
  font-weight: bold;
}

.works-banner {
  padding: 20px 0;
}

.works-banner .works-banner-box {
  border: solid 1px #1d4e77;
  padding: 5%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.works-banner .works-banner-box .works-banner-inbox .works-banner-ttl {
  font-size: 5.5vw;
  line-height: 1.5;
  padding-bottom: 15px;
  margin-bottom: 10px;
  color: #1d4e77;
  font-weight: bold;
  border-bottom: 1px solid #6997be;
}

.works-banner .works-banner-box .works-banner-inbox .works-banner-ttl span {
  font-size: 6vw;
  color: #6997be;
}

.works-banner .works-banner-box .works-banner-inbox p {
  font-family: "Noto Sans JP", sans-serif;
  margin-bottom: 20px;
}

.works-banner .works-banner-box .works-banner-inbox .works-banner-list {
  display: block;
}

.works-banner .works-banner-box .works-banner-inbox .works-banner-list li {
  margin-bottom: 10px;
}

.works-banner
  .works-banner-box
  .works-banner-inbox
  .works-banner-list
  li:last-child {
  margin-bottom: 0;
}

/*制作物＆設備紹介一覧
=========================================================*/
.equipment-list li {
  width: 49%;
  margin: 20px 2% 0 0;
}

.equipment-list li:nth-child(2n) {
  margin-right: 0;
}

.equipment-list li:nth-child(-n + 2) {
  margin-top: 0;
}

.equipment-list li .com-img {
  height: 120px;
  margin-bottom: 10px;
}

.equipment-list li h4 {
  position: relative;
  font-weight: bold;
  font-family: "Noto Sans JP", sans-serif;
  padding-left: 20px;
  font-size: 3.5vw;
}

.equipment-list li h4:before {
  content: "";
  position: absolute;
  display: block;
  top: 3px;
  right: auto;
  bottom: auto;
  left: 0;
  width: 15px;
  height: 15px;
  background: url("../img/common/mushimegane-icon.png") no-repeat center/contain;
}

/*制作物＆設備紹介詳細
=========================================================*/
.s-equipment .equipment-section #viewer {
  margin: 0 auto 30px;
}

.s-equipment .equipment-section #viewer .equipment-main-img {
  height: 300px;
  background: #ccc;
  margin-bottom: 20px;
}

.s-equipment .equipment-section #viewer .equipment-thumb li {
  background: #ccc;
  width: 49%;
  margin: 10px 2% 0 0;
  height: 100px;
}

.s-equipment .equipment-section #viewer .equipment-thumb li:nth-child(2n) {
  margin-right: 0;
}

.s-equipment .equipment-section #viewer .equipment-thumb li:nth-child(-n + 2) {
  margin-top: 0;
}

/*求人情報
=========================================================*/
.recruit-section01 {
  margin-bottom: 80px;
}

.recruit-section01 .recruit-desired-ttl {
  font-weight: bold;
  text-align: center;
  color: #1d4e77;
  font-size: 6vw;
  line-height: 1;
  padding-bottom: 20px;
  margin-bottom: 30px;
  border-bottom: 1px solid #1d4e77;
}

.recruit-section01 .recruit-desired-ttl span {
  display: block;
}

.recruit-section01 .recruit-desired-ttl span:nth-child(1) {
  font-size: 5vw;
  margin-top: 15px;
}

.recruit-section01 .recruit-section-list {
  display: block;
}

.recruit-section01 .recruit-section-list figure {
  text-align: center;
  position: relative;
  margin-bottom: 20px;
}

.recruit-section01 .recruit-section-list figure figcaption {
  font-size: 4.5vw;
  color: #fff;
  text-align: center;
  left: 0;
  right: 0;
  bottom: 15px;
  position: absolute;
  width: 100%;
}

.recruit-section01 .recruit-section-list figure figcaption span {
  padding: 15px 0;
  line-height: 1.5;
  width: 100%;
  display: block;
  background: url(../img/recruit/recruit-section01-ttl-bg.png);
}

.recruit-charm {
  margin-bottom: 60px;
}

.recruit-charm .recruit-charm-ttl {
  display: block;
  font-weight: bold;
  margin-bottom: 40px;
  color: #1d4e77;
  text-align: center;
}

.recruit-charm .recruit-charm-ttl span {
  line-height: 1.2;
  display: block;
}

.recruit-charm .recruit-charm-ttl span:nth-child(1) {
  font-size: 6vw;
  position: relative;
  margin-bottom: 10px;
}

.recruit-charm .recruit-charm-ttl span:nth-child(2) {
  font-size: 4.5vw;
}

.recruit-charm .charm-list {
  display: block;
}

.recruit-charm .charm-list li {
  text-align: center;
  width: 100%;
  margin-bottom: 20px;
}

.recruit-charm .charm-list li:last-child {
  margin-bottom: 0;
}

.recruit-charm .charm-list li .charm-img {
  margin-bottom: 10px;
}

.recruit-charm .charm-list li .charm-ttl {
  font-size: 5.5vw;
  color: #1d4e77;
  line-height: 1;
  font-weight: bold;
}

.recruit-charm .charm-list li .charm-ttl span {
  display: inline-block;
  color: #ee9117;
  font-size: 6.5vw;
  margin-top: -30px;
}

.flow {
  margin-bottom: 60px;
}

.flow .flow-ol li {
  width: 100%;
  text-align: center;
  margin-bottom: 30px;
  position: relative;
  z-index: 1;
  text-align: center;
}

.flow .flow-ol li:before {
  content: "";
  position: absolute;
  display: block;
  top: auto;
  right: auto;
  bottom: -10px;
  left: 50%;
  width: 30px;
  height: 10px;
  background: url("../img/recruit/flow-arrow-sp.png") no-repeat center/contain;
  margin-left: -5px;
}

.flow .flow-ol li:last-child:before {
  display: none;
}

.flow .flow-ol li .time {
  position: relative;
  z-index: 10;
  width: 180px;
  display: block;
  margin: -15px auto 0;
  color: #fff;
  background: url(../img/recruit/flow-time-bg.jpg);
}

.flow .flow-ol li p {
  font-size: 4vw;
  font-weight: bold;
  color: #1d4e77;
}

.recruitment {
  margin-bottom: 60px;
}

.faq .faq-list dl {
  padding: 15px 0 20px;
  border-bottom: 1px solid #ccc;
}

.faq .faq-list dl dt,
.faq .faq-list dl dd {
  padding-left: 35px;
  position: relative;
}

.faq .faq-list dl dt {
  font-size: 5vw;
  font-weight: bold;
  line-height: 1.5;
  color: #02305a;
  margin-bottom: 20px;
}

.faq .faq-list dl dt:before {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  width: 30px;
  height: 30px;
  background: url("../img/recruit/q-icon.png") no-repeat center/contain;
}

.faq .faq-list dl dd:before {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  right: auto;
  bottom: auto;
  left: 10px;
  width: 20px;
  height: 15px;
  background: url("../img/recruit/a-icon.png") no-repeat center/contain;
}

/*会社概要
=========================================================*/
#contents-u.company {
  padding-bottom: 0;
}

.company-greeting {
  display: block;
  margin-bottom: 60px;
}

.company-greeting .ceo-img {
  text-align: center;
}

.company-greeting .company-wrp {
  margin-bottom: 30px;
}

.company-greeting .company-wrp .company-ttl {
  color: #1d4e77;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 30px;
  background: url(../img/company/company-greeting-bg.png) no-repeat right
    top/50%;
}

.company-greeting .company-wrp .company-ttl span {
  display: block;
}

.company-greeting .company-wrp .company-ttl span:nth-child(1) {
  font-size: 8.5vw;
}

.company-greeting .company-wrp .company-ttl span:nth-child(2) {
  font-size: 5.5vw;
}

.company-greeting .company-wrp .company-text {
  margin-left: auto;
}

.company-greeting .company-wrp .company-text .ceo-name {
  text-align: right;
  font-weight: bold;
}

.company-info {
  margin-bottom: 60px;
}

.map-section {
  text-align: center;
}

.map-section span {
  font-size: 4.5vw;
  display: block;
}

.map-section .map-ttl {
  display: inline-block;
  font-weight: bold;
  color: #1d4e77;
  font-size: 6.5vw;
  margin-bottom: 20px;
}

.map-section .map-ttl .map-icon {
  padding-left: 25px;
  position: relative;
}

.map-section .map-ttl .map-icon:before {
  content: "";
  position: absolute;
  display: block;
  top: 50%;
  right: auto;
  bottom: auto;
  left: 0;
  width: 17px;
  height: 25px;
  background: url("../img/company/map-icon.png") no-repeat center/contain;
  margin-top: -12.5px;
}

.map-section .map-iframe {
  height: 300px;
}

/*お知らせ一覧
=========================================================*/
.post-wrp .all-post-list li {
  margin-bottom: 20px;
}

.post-wrp .all-post-list li a {
  display: block;
  color: #333;
  padding-bottom: 15px;
  border-bottom: 1px solid #1d4e77;
}

.post-wrp .all-post-list li a dl dt {
  font-size: 18px;
  font-weight: bold;
}

.post-wrp .all-post-list li a dl dt span {
  display: inline-block;
}

.post-wrp .all-post-list li a dl dt span:nth-child(1) {
  color: #1d4e77;
  margin-right: 20px;
  font-size: 13px;
}

/*お知らせ個別
=========================================================*/
#contents-u.post .s-time {
  text-align: right;
  margin-top: 100px;
  padding-top: 10px;
  border-top: 1px solid #1d4e77;
}

#contents-u.post .s-time time {
  color: #1d4e77;
  font-weight: bold;
}

/*お問い合わせ
=========================================================*/
.cont-dl {
  margin-bottom: 40px;
}

.cont-dl dl dt {
  position: relative;
}

.cont-dl dl dt .hissu {
  line-height: 1;
  padding: 2px 8px;
  position: absolute;
  right: 0;
  background: #1d4e77;
  font-size: 13px;
  color: #fff;
}

.cont-dl dl dd input[type="text"],
.cont-dl dl dd input[type="num"] {
  width: 100%;
  padding: 5px;
  border: solid #ccc 1px;
  background: #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.cont-dl dl dd textarea {
  border: solid #ccc 1px;
  width: 100%;
  height: 200px;
  background: #fff;
}

.cont-dl dl dd #pc01,
.cont-dl dl dd #pc02 {
  margin-bottom: 10px;
}

.cont-dl dl dd #pc01 {
  width: 60px !important;
}

.cont-dl dl dd #pc02 {
  width: 80px !important;
}

.cont-dl dl .error-text {
  color: #f44336;
}

.contact-btn ul {
  text-align: center;
}

.contact-btn ul li {
  display: inline-block;
  position: relative;
  margin-bottom: 20px;
  border: solid 1px #1d4e77;
}

.contact-btn ul li #form-btn {
  width: 280px;
  color: #fff;
  font-size: 4.5vw;
  letter-spacing: 3px;
  border: none;
  cursor: pointer;
  padding: 18px 0;
  background-color: #1d4e77;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  font-weight: bold;
}

.contact-btn ul li:last-child {
  margin-bottom: 0;
}

.contact-btn ul li:hover #form-btn {
  color: #1d4e77;
  background: #fff;
}

/*pagenation---------------*/
ul.pagenation {
  margin-top: 20px;
  text-align: center;
  margin-bottom: 30px;
}

ul.pagenation li {
  display: inline-block;
  margin: 0 5px;
}

ul.pagenation li a {
  font-size: 17px;
  color: #38322d;
}

ul.pagenation li.current {
  font-size: 4vw;
  color: #fff;
  background-color: #1d4e77;
  padding: 5px 8px;
}

/*page-btn
--------------------------------------------*/
.page-btn {
  margin-top: 30px;
}

.page-btn a {
  color: #38322d;
  font-weight: bold;
}

.page-btn .right {
  position: relative;
  padding-right: 20px;
}

.page-btn .left {
  position: relative;
  padding-left: 20px;
}

.page-btn .right::after,
.page-btn .left::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  width: 5px;
  height: 5px;
  margin-top: -5px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.page-btn .left::before {
  left: 0;
  border: solid 5px transparent;
  border-right: solid #1d4e77 5px;
}

.page-btn .right::after {
  right: 0;
  border: solid 5px transparent;
  border-left: solid #1d4e77 5px;
}

/*サイトマップ
=========================================================*/
#site-map ul li {
  border-bottom: 1px solid #1d4e77;
}

#site-map ul li a {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: block;
  padding: 10px 0 10px 25px;
  color: #333;
  position: relative;
  font-weight: bold;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

#site-map ul li a:before {
  content: "";
  display: block;
  position: absolute;
  left: 5px;
  top: 50%;
  margin-top: -6px;
  border: solid 6px transparent;
  border-left: 6px solid #1d4e77;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

/*プライバシーポリシー
=========================================================*/
#contents-u.privacy .privacy-box {
  margin-bottom: 50px;
}

#contents-u.privacy .privacy-box:last-child {
  margin-bottom: 0;
}

/*404
=========================================================*/
.not-found-txt {
  text-align: center;
}

.not-found-txt p {
  font-size: 16px;
  line-height: 1.8;
}

.not-found-txt p a {
  font-weight: bold;
  color: #1d4e77;
}

/*リキャプチャ---------------*/
#recap-id {
  padding: 20px 0;
}

.recap-inwrap {
  width: 300px;
  margin: 0 auto 50px;
}

/*送信完了---------------*/
.send-comp {
  text-align: center;
}

.send-comp p {
  line-height: 1.5em;
}

.send-comp-ttl {
  font-weight: bold;
  font-size: 18px;
  margin-bottom: 30px;
}

/*ドロワーメニュー
------------------------------------------------------*/
.drawer-nav {
  text-align: left;
  padding: 3% !important;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background: url(../img/common/bg.png);
}

.drw-hd-logo {
  text-align: center;
  padding-bottom: 10px;
  border-bottom: 1px solid #1d4e77;
  margin-bottom: 10px;
  padding: 5%;
}

.drw-hd-logo img {
  width: 60%;
}

.drawer-dropdown {
  margin-bottom: 10px;
  padding-bottom: 10px;
}

.drawer-dropdown a {
  color: #1d4e77;
}

.drawer-menu > li {
  margin-bottom: 8px;
  border-bottom: 1px solid #c6beaf;
}

.drawer-menu > li:last-child {
  margin-bottom: 0;
}

.drawer-menu > li a {
  font-weight: bold;
  color: #333;
}

.drawer-menu > li a span {
  position: relative;
  padding-left: 15px;
}

.drawer-menu > li a span:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  width: 5px;
  height: 5px;
  margin-top: -3px;
  border-top: 1px solid #02305a;
  border-right: 1px solid #02305a;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.drawer-menu-item {
  padding: 0 !important;
}

.drawer-caret {
  margin-right: 10px;
}

.drawer-dropdown-menu {
  padding: 10% 0 5% !important;
  background: none !important;
}

.drawer-dropdown-menu li {
  font-size: 0.9rem;
  margin-bottom: 10px;
  padding-left: 30px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.drawer-dropdown-menu li:last-child {
  margin-bottom: 0;
}

.drawer-dropdown-menu li a {
  position: relative;
}

.drawer-dropdown-menu li a::before {
  content: "-";
  display: block;
  position: absolute;
  left: -10px;
  top: -5px;
  color: #000;
}

.drawer-menu-item:hover {
  color: #02305a;
}

.drawer-caret {
  color: #02305a;
}

.drawer--right .drawer-hamburger,
.drawer--right.drawer-open .drawer-nav,
.drawer--right.drawer-open .drawer-navbar .drawer-hamburger {
  z-index: 100000 !important;
}

.drawer-tel {
  margin-top: 10px;
  border-bottom: none !important;
}

.drawer-tel > .drawer-menu-item {
  font-weight: bold;
  color: #fff;
  padding-left: 8px !important;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background: #1d4e77;
  margin-bottom: 8px;
}

.drawer-tel ul li a {
  padding: 0;
  font-size: 15px;
  line-height: 1;
  font-weight: bold;
}

.drawer-tel ul li a p {
  margin: 2px 0 5px;
}

.drawer-hamburger-icon,
.drawer-hamburger-icon:after,
.drawer-hamburger-icon:before {
  background-color: #fff !important;
}

.drawer-open .drawer-hamburger-icon {
  background-color: transparent !important;
}

.drawer-toggle.drawer-hamburger {
  background: #1d4e77 !important;
}
/*# sourceMappingURL=style_sp.css.map */

.sp-tel {
  margin-top: 10px;
  text-align: center;
}

.sp-tel img {
  width: 80%;
}


.company-greeting .ceo-img{
  display: none;
}