@charset "UTF-8";

/*標準ボタン
---------------------------------------------------------------*/

/*鍵フックボタン
---------------------------------------------------------------*/

/*カーテンボタン
---------------------------------------------------------------*/

/*ラインダッシュボタン
---------------------------------------------------------------*/
@import url("https://fonts.googleapis.com/css?family=Noto+Serif+JP:400,600");

/*変数指定
=======================================================*/

/*メインカラー
--------------------------------------------*/

/*ローディング
=======================================================*/

/*フォント
--------------------------------------------*/

/*body以下
=======================================================*/
body {
  margin: auto;
  padding: 0;
  width: 100%;
  font-family: "Noto Sans JP", sans-serif, "游ゴシック体", "Yu Gothic", YuGothic,
    "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo,
    "MS Pゴシック", "MS PGothic", sans-serif, "ヒラギノ角ゴ Pro W3",
    "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック",
    "MS PGothic", sans-serif;
  min-width: 1280px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  font-size: 15px;
  line-height: 2;
  color: #333;
}

.inbox {
  width: 1080px;
  margin: 0 auto;
}

.pc-none {
  display: none;
}

.left {
  float: left;
}

.right {
  float: right;
}

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

a[href^="tel:"] {
  pointer-events: none;
}

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%;
  height: 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;
  -js-display: flex;
  display: -webkit-box;
  display: flex;
  width: 100%;
}

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

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

/*水平方向の揃え
=================================================*/

/*並列で均等配置（左右隙間なし=space-between）
-----------------------*/
.flx-btw {
  -webkit-box-pack: justify;
  justify-content: space-between;
}

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

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

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

/*垂直方向の揃え
=================================================*/

/*水平揃え　高さ揃え
-----------------------*/
.flx-alitem-top {
  -webkit-box-align: stretch;
  align-items: stretch;
}

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

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

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

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

/*複数行にした揃え方
=================================================*/

/*初期値
-----------------------*/
.flx-alcont-strt {
  align-content: stretch;
}

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

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

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

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

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

/*=========================================================
  header
=========================================================*/
#header {
  width: 100%;
  top: 0;
  left: 0;
  position: fixed;
  background: #fff;
  z-index: 1000;
}

#header .hd-l {
  width: 300px;
  padding-left: 35px;
}

#header .hd-l span {
  display: block;
}

#header .hd-r {
  width: 820px;
  font-weight: bold;
  text-align: center;
}

#header .hd-r .mail-btn {
  width: 160px;
  padding: 28px 0;
  line-height: 1;
  color: #fff;
  display: block;
  background: linear-gradient(-135deg, #004fb4, #0095dd);
}

/*Mainvisual
=========================================================*/
#mv {
  height: 860px;
  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: 860px;
}

#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 {
  background: url(../img/mv/mv-bg.jpg) no-repeat center/cover;
}

#mv .mv-coution-text {
  position: absolute;
  right: 1%;
  bottom: 1%;
  color: #fff;
  font-size: 30px;
  font-weight: bold;
}

/*=========================================================
  トップページ
=========================================================*/

/*共通タイトル
=========================================================*/
.common-ttl span {
  display: block;
  line-height: 1.2;
}

/*共通ボタン
=========================================================*/
.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 #004fb4 1px;
  background: #004fb4;
  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;
  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 #004fb4 1px;
}

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

.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 #004fb4 1px;
  background: #004fb4;
  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;
  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 #004fb4 1px;
  background: #004fb4;
  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;
  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 #004fb4 1px;
  background: #004fb4;
  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;
  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 #004fb4 1px;
  background: #004fb4;
  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;
  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 {
  background: transparent;
}

.more-btn01 span {
  color: #004fb4;
  font-size: 20px;
}

.more-btn01:hover {
  background: #004fb4;
}

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

.more-btn01-blk {
  border: solid 2px #222;
}

.more-btn01-blk span {
  color: #222;
}

.more-btn01-blk:hover {
  border: solid 2px #004fb4;
}

.more-btn02-wht {
  border: solid 2px #fff;
  background: transparent;
}

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

.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;
  box-sizing: border-box;
}

.more-btn-line-start:before,
.more-btn-line-start:after {
  content: "";
  position: absolute;
  display: block;
  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;
  box-sizing: border-box;
}

.more-btn-line-turn:before,
.more-btn-line-turn:after {
  content: "";
  position: absolute;
  display: block;
  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;
  box-sizing: border-box;
}

.more-btn-line-turn:before,
.more-btn-line-turn:after {
  content: "";
  position: absolute;
  display: block;
  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: #004fb4;
  overflow: hidden;
}

.curtn-btn-top:before {
  content: "";
  position: absolute;
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  background: #0095dd;
  -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: #004fb4;
  overflow: hidden;
}

.curtn-btn-right:before {
  content: "";
  position: absolute;
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  background: #0095dd;
  -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: #004fb4;
  overflow: hidden;
}

.curtn-btn-bottom:before {
  content: "";
  position: absolute;
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  background: #0095dd;
  -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: #004fb4;
  overflow: hidden;
}

.curtn-btn-left:before {
  content: "";
  position: absolute;
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  background: #0095dd;
  -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: #004fb4;
}

.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: #004fb4;
}

.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: #004fb4;
}

.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: #004fb4;
}

.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: #004fb4;
}

.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: #004fb4;
}

.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: 145px 0 100px;
  background: url(../img/common/greeting-bg.png) no-repeat right bottom/70%;
  position: relative;
}

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

#top-greeting .top-about-ttl {
  width: 455px;
}

#top-greeting .top-about-ttl img {
  margin-bottom: 50px;
}

#top-greeting .top-about-ttl span {
  font-weight: bold;
  line-height: 1.5;
  font-size: 50px;
  letter-spacing: 0.5rem;
}

#top-greeting .top-about-text {
  margin-top: 150px;
  line-height: 2.5;
  width: 510px;;
}

/*top-recruit
=========================================================*/
#top-recruit {
  padding: 250px 0 100px;
  background: url(../img/top/top-recruit-rt.png) no-repeat right top/40%,
    url(../img/top/top-recruit-lb.png) no-repeat left bottom/40%;
}

#top-recruit .common-ttl {
  text-align: center;
  margin-bottom: 65px;
}

#top-recruit .common-ttl span:nth-child(3) {
  font-size: 40px;
  font-weight: bold;
  letter-spacing: 0.5rem;
}

#top-recruit .top-recruit-dl {
  margin-bottom: 60px;
}

#top-recruit .top-recruit-dl dl {
  width: 330px;
  margin-right: 45px;
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(#004fb4),
    to(#0095dd)
  );
  background: linear-gradient(#004fb4, #0095dd);
  padding: 20px;
  box-sizing: border-box;
}

#top-recruit .top-recruit-dl dl:last-child {
  margin-right: 0;
}

#top-recruit .top-recruit-dl dl dt {
  min-height: 200px;
  padding: 20px 0 15px;
  margin-bottom: 30px;
  background: url(../img/common/huck-lt.png) no-repeat left top,
    url(../img/common/huck-rt.png) no-repeat right top,
    url(../img/common/huck-lb.png) no-repeat left bottom,
    url(../img/common/huck-rb.png) no-repeat right bottom;
  text-align: center;
  font-weight: bold;
  font-size: 27px;
  line-height: 1.5;
  color: #fff;
}

#top-recruit .top-recruit-dl dl dt span:nth-child(1) {
  min-height: 85px;
  margin-bottom: 15px;
}

#top-recruit .top-recruit-dl dl dd {
  padding: 10px;
  box-sizing: border-box;
  color: #fff;
}

/*top-contact
=========================================================*/
#top-contact {
  padding: 95px 0 100px;
  background: url(../img/top/top-contact-bg.jpg) no-repeat center/cover;
}

#top-contact .common-ttl {
  margin-bottom: 35px;
  font-size: 50px;
  line-height: 1.8;
  font-weight: bold;
  letter-spacing: 0.5rem;
}

#top-contact .common-ttl span:nth-child(1) {
  margin-bottom: 50px;
}

#top-contact p {
  font-weight: bold;
  font-size: 25px;
  margin-bottom: 35px;
  line-height: 1.5;
}

#top-contact .more-btn01 {
  width: 410px;
  margin: 0;
}

#top-contact .more-btn01 span {
  font-size: 16px;
}

.com-tel {
  font-weight: bold;
  margin-bottom: 40px;
}

.com-tel dt {
  text-align: center;
  width: 130px;
  color: #fff;
  background: #004fb4;
  font-size: 25px;
  padding: 10px 0;
  margin-right: 10px;
  letter-spacing: 0.2rem;
}

.com-tel dd {
  width: 290px;
}

.com-tel dd li {
  line-height: 1;
  margin-bottom: 5px;
}

.com-tel dd li:last-child {
  margin-bottom: 0;
}

.com-tel dd a {
  font-size: 35px;
  color: #004fb4;
}

/*top-flow&top-qa共通
=========================================================*/
.flow-qa-common-text {
  width: 640px;
  padding: 100px 85px;
  box-sizing: border-box;
  background: url(../img/top/top-flow-text-bg.png) no-repeat center/cover;
  color: #fff;
}

.flow-qa-common-text h3 {
  font-size: 50px;
  margin-bottom: 50px;
}

.flow-qa-common-text h3 span {
  display: block;
  line-height: 1;
  font-weight: bold;
}

.flow-qa-common-text h3 span img {
  margin-bottom: 50px;
}

.flow-qa-common-text p {
  margin-bottom: 50px;
}

/*top-flow
=========================================================*/
#top-flow {
  margin: 100px 0 60px;
  padding: 70px 0;
  background: url(../img/top/top-flow-bg.png) no-repeat right center/60%;
}

/*top-qa
=========================================================*/
#top-qa {
  margin-bottom: 115px;
  padding: 70px 0;
  background: url(../img/top/top-qa-bg.png) no-repeat left center/60%;
}

/*top-info-outwrp
=========================================================*/
#top-info-outwrp {
  padding: 100px 0;
  background: url(../img/top/top-info-outwrp.jpg);
}

#top-info-outwrp #top-news,
#top-info-outwrp #facebook {
  width: 500px;
}

#top-info-outwrp #top-news h3,
#top-info-outwrp #facebook h3 {
  margin-bottom: 40px;
}

#top-info-outwrp #top-news {
  min-height: 455px;
  position: relative;
}

#top-info-outwrp #top-news .top-news-list li {
  margin-bottom: 15px;
}

#top-info-outwrp #top-news .top-news-list li:last-child {
  margin-bottom: 0;
}

#top-info-outwrp #top-news .top-news-list li a {
  background: #004fb4;
  color: #fff;
  padding: 20px;
  box-sizing: border-box;
}

#top-info-outwrp #top-news .top-news-list li a time,
#top-info-outwrp #top-news .top-news-list li a h4 {
  line-height: 1;
}

#top-info-outwrp #top-news .top-news-list li a time {
  letter-spacing: 0.2rem;
  font-weight: bold;
  margin-right: 25px;
}

#top-info-outwrp #top-news .more-btn01 {
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
}

#top-info-outwrp #top-news .more-btn01 span {
  font-size: 16px;
}

#top-info-outwrp #facebook h3 {
  text-align: center;
}

/*=========================================================
  footer
=========================================================*/
#pagetop {
  position: fixed;
  right: 30px;
  bottom: 50px;
  cursor: pointer;
  z-index: 999;
}

#footer {
  background: #585858 url(../img/common/ft-bg-l.jpg) repeat-y left top/50%;
}

#footer .ft-wrp {
  padding: 90px 0 75px;
}

#footer .ft-r {
  width: 50%;
  text-align: right;
  background: #585858;
  color: #fff;
  font-size: 18px;
}

#footer .ft-r address p {
  margin-bottom: 18px;
}

#footer .ft-r .tel-fax-list dl {
  margin-bottom: 10px;
}

#footer .ft-r .tel-fax-list dl dt {
  text-align: center;
  line-height: 1;
  width: 60px;
}

#footer .ft-r .tel-fax-list dl dd {
  line-height: 1;
  width: 140px;
  text-align: left;
}

#footer .ft-r .tel-fax-list dl dd li {
  line-height: 1;
  margin-bottom: 5px;
  letter-spacing: 0.1rem;
}

#footer .ft-r .tel-fax-list dl dd li:last-child {
  margin-bottom: 0;
}

#footer .ft-r .tel-fax-list dl:last-child {
  margin-bottom: 0;
}

#footer .ft-r .tel-fax-list a {
  color: #fff;
}

#footer .ft-nav-wrp .ft-nav {
  width: 240px;
}

#footer .ft-nav-wrp .ft-nav li {
  line-height: 1;
  padding-right: 15px;
  border-right: 1px solid #fff;
  margin-right: 15px;
}

#footer .ft-nav-wrp .ft-nav li:last-child {
  margin: 0;
  padding: 0;
  border: none;
}

#footer .ft-nav-wrp .ft-nav a {
  color: #fff;
  font-size: 12px;
  line-height: 1;
}

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

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

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

/*=========================================================
  下層ページ
=========================================================*/
#contents-u {
  padding: 100px 0 120px;
  background: url(../img/common/contents-u-bg.png) no-repeat right top/48%;
}

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

#ma {
  margin-top: 71px;
}

#ma .inbox {
  height: 100%;
}

#ma .inbox .ma-ttl-wrp {
  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;
}

.ma-ttl span {
  display: block;
}
.ma-ttl span:nth-child(1) {
  font-family: 'Poppins', sans-serif;
}
.ma-ttl span:nth-child(2) {
  font-size: 25px;
}

/*下層共通タイトル
=========================================================*/
.ttl01 {
  font-size: 35px;
  color: #004fb4;
  text-align: center;
  margin-bottom: 40px;
  font-weight: bold;
}

.ttl02 {
  font-size: 24px;
  color: #004fb4;
  font-weight: bold;
  border-bottom: 1px solid #004fb4;
  padding-bottom: 10px;
  margin-bottom: 20px;
}

.com-ttl {
  text-align: center;
}

.com-ttl span {
  display: block;
  margin-bottom: 30px;
}

.com-ttl span:nth-child(2) {
  font-size: 50px;
  font-weight: bold;
  margin-bottom: 0;
  letter-spacing: 0.3rem;
}

/*パンくず
=========================================================*/
#bread-clumb {
  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 {
  box-sizing: border-box;
}

.com-dl dt,
.com-dl dd {
  padding: 15px 20px;
}

.com-dl dl {
  margin-bottom: 5px;
  background: #fff;
}

.com-dl dl:last-child {
  margin-bottom: 0;
}

.com-dl dl dt {
  width: 300px;
  color: #fff;
  background: #004fb4;
}

.com-dl dl dd {
  width: 780px;
}

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

.com-dl dl:last-child {
  margin-bottom: 0;
}

/*テッケンについて
=========================================================*/
#contents-u.about {
  padding-bottom: 0;
}

#about-greeting {
  margin-bottom: 100px;
}

.about-greeting-wrp {
  padding-bottom: 55px;
  background: url(../img/about/about-img.jpg) no-repeat left bottom/43%;
}

.about-greeting-wrp .about-text {
  width: 600px;
  margin-left: auto;
}

.about-greeting-wrp .about-text h3 {
  margin-bottom: 50px;
}

.about-greeting-wrp .about-text h3 span {
  margin-bottom: 20px;
  display: block;
  font-weight: bold;
}

.about-greeting-wrp .about-text h3 span:nth-child(2) {
  font-size: 50px;
  line-height: 1.5;
  margin-bottom: 0;
}

.about-greeting-wrp .about-text p {
  line-height: 2.3;
}

.about-policy .about-policy-wrp {
  text-align: center;
  padding: 100px 90px;
  box-sizing: border-box;
  background: url(../img/common/greeting-bg.png);
}

.about-policy .about-policy-wrp .about-policy-list li {
  min-height: 215px;
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(#004fb4),
    to(#0095dd)
  );
  background: linear-gradient(#004fb4, #0095dd);
  color: #fff;
  margin-right: 50px;
  font-weight: bold;
  font-size: 18px;
  line-height: 1.8;
}

.about-policy .about-policy-wrp .about-policy-list li:last-child {
  margin-right: 0;
}

#about-howto {
  margin-bottom: 100px;
}

#about-howto .about-howto-ttl {
  text-align: center;
  margin-bottom: 60px;
}

#about-howto .about-howto-ttl span {
  display: block;
  font-size: 50px;
  font-weight: bold;
}

#about-howto .about-howto-list li {
  width: 510px;
  margin: 80px 60px 0 0;
}

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

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

#about-howto .about-howto-list li .about-howto-img {
  width: 220px;
}

#about-howto .about-howto-list li .about-howto-text {
  width: 250px;
}

#about-howto .about-howto-list li .about-howto-text h4 {
  font-weight: bold;
  font-size: 30px;
  margin-bottom: 20px;
  line-height: 1.5;
}

.about-contact {
  padding: 100px 0;
  background: url(../img/about/about-contact-bg.jpg) no-repeat center/cover;
}

.about-contact .about-contact-ttl {
  margin-bottom: 40px;
}

.about-contact .about-contact-ttl span {
  display: block;
  font-weight: bold;
  font-size: 50px;
  line-height: 1.5;
  letter-spacing: 0.2rem;
}

.about-contact .about-contact-ttl span:nth-child(1) {
  margin-bottom: 40px;
}

.about-contact .more-btn01 {
  width: 410px;
  margin: 0;
}

.about-contact .more-btn01 span {
  font-size: 16px;
}

/*1日の流れ＆よくある質問
=========================================================*/
#flow {
  padding-bottom: 150px;
}

#flow .flow-ttl {
  margin-bottom: 30px;
}

#flow .coution {
  font-size: 20px;
  margin-bottom: 260px;
  font-weight: bold;
}

#flow .flow-dl {
  position: relative;
}

#flow .flow-dl:before {
  content: "";
  position: absolute;
  display: block;
  top: -180px;
  right: auto;
  bottom: auto;
  left: 50%;
  width: 25px;
  height: 1505px;
  background: url("../img/flow-qa/flow-lin01.png") no-repeat center/contain;
  margin-left: -12.5px;
  z-index: 10;
}

#flow .flow-dl dl {
  position: relative;
  color: #fff;
  width: 480px;
  padding: 30px;
  box-sizing: border-box;
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(#004fb4),
    to(#0095dd)
  );
  background: linear-gradient(#004fb4, #0095dd);
  margin: 60px 120px 0 0;
  z-index: 100;
}

#flow .flow-dl dl:nth-child(2n) {
  margin-right: 0;
}

#flow .flow-dl dl:nth-child(-n + 2) {
  margin-top: 0;
}

#flow .flow-dl dl dt {
  line-height: 1.5;
  padding-bottom: 5px;
  letter-spacing: 0.1rem;
  font-weight: bold;
  font-size: 24px;
  border-bottom: 1px solid #fff;
  margin-bottom: 10px;
}

#flow .flow-dl dl dd .flow-img {
  width: 180px;
}

#flow .flow-dl dl dd p {
  width: 210px;
}

#flow .flow-dl dl:nth-child(odd) {
  margin-top: -140px;
}

#flow .flow-dl dl:nth-child(odd):before {
  content: "";
  position: absolute;
  display: block;
  top: 50%;
  right: -67px;
  bottom: auto;
  left: auto;
  width: 67px;
  height: 15px;
  background: url("../img/flow-qa/flow-lin-r.png") no-repeat center/contain;
  margin-top: -7.5px;
  z-index: 10;
}

#flow .flow-dl dl:nth-child(even):before {
  content: "";
  position: absolute;
  display: block;
  top: 50%;
  right: auto;
  bottom: auto;
  left: -67px;
  width: 67px;
  height: 15px;
  background: url("../img/flow-qa/flow-lin-l.png") no-repeat center/contain;
  margin-top: -7.5px;
  z-index: 10;
}

#contents-u.flow-qa {
  padding-bottom: 0;
}

#qa {
  background: url(../img/common/greeting-bg.png);
  padding: 100px 0;
}

#qa .qa-ttl {
  margin-bottom: 50px;
}

#qa .qa-dl dl {
  margin-bottom: 40px;
}

#qa .qa-dl dl:last-child {
  margin-bottom: 0;
}

#qa .qa-dl dl dt {
  background: #004fb4;
  color: #fff;
  font-weight: bold;
  font-size: 20px;
  padding: 13px 0;
  letter-spacing: 0.1rem;
}

#qa .qa-dl dl dt span {
  padding-left: 80px;
  display: block;
  box-sizing: border-box;
  position: relative;
}

#qa .qa-dl dl dt span:before {
  content: "";
  position: absolute;
  display: block;
  top: -2px;
  right: auto;
  bottom: auto;
  left: 20px;
  width: 40px;
  height: 40px;
  background: url("../img/flow-qa/q-icon.png") no-repeat center/contain;
}

#qa .qa-dl dl dd {
  padding: 20px;
  background: #fff;
  font-size: 15px;
  box-sizing: border-box;
}

#qa .qa-dl dl:nth-child(even) dt {
  background: #00a6dd;
}

/*求人情報
=========================================================*/
#contents-u.recruit {
  padding-bottom: 0;
}

#recruit-merit {
  padding-bottom: 100px;
}

#recruit-merit .merit-ttl {
  margin-bottom: 50px;
}

#recruit-merit .merit-section-list .merit-section {
  margin-bottom: 70px;
}

#recruit-merit .merit-section-list .merit-section:last-child {
  margin-bottom: 0;
}

#recruit-merit .merit-section-list .merit-section .merit-text {
  width: 450px;
}

#recruit-merit .merit-section-list .merit-section .merit-text .ttl01 {
  text-align: left;
  margin-bottom: 20px;
}

#recruit-merit .merit-section-list .merit-section .merit-text ul {
  margin-bottom: 40px;
}

#recruit-merit .merit-section-list .merit-section .merit-text ul li {
  font-weight: bold;
}

#recruit-merit .merit-section-list .merit-section .merit-img {
  width: 580px;
}

#recruit-merit .merit-section-list .merit-section:nth-child(odd) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  flex-direction: row-reverse;
}

#recruit-want {
  padding: 90px 0 100px;
  color: #fff;
  background: url(../img/recruit/recruit-want-bg.jpg) no-repeat center/cover;
}

#recruit-want .recruit-want-ttl {
  text-align: center;
  font-size: 50px;
  margin-bottom: 45px;
}

#recruit-want .recruit-want-ttl span {
  display: block;
  color: #fff;
  font-weight: bold;
  letter-spacing: 0.3rem;
  line-height: 1;
}

#recruit-want .recruit-want-ttl span:nth-child(1) {
  margin-bottom: 30px;
}

#recruit-want dl dt {
  font-weight: bold;
  font-size: 35px;
  margin-bottom: 20px;
}

#recruit-want dl dd {
  margin-bottom: 50px;
  line-height: 2.5;
}

#recruit-want dl dd:last-child {
  margin-bottom: 0;
  line-height: 1.8;
}

#recruit-want dl dd .more-btn02 {
  width: 540px;
  margin: 0;
  font-size: 15px;
}

#recruit-type {
  padding: 100px 0;
  background: url(../img/common/greeting-bg.png);
}

#recruit-type .recruit-type-ttl {
  margin-bottom: 50px;
}

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

#company-greeting {
  padding-bottom: 85px;
}

#company-greeting .company-greeting-ttl {
  margin-bottom: 50px;
}

#company-greeting .company-greeting-wrp .company-img {
  width: 450px;
}

#company-greeting .company-greeting-wrp .common-text {
  width: 580px;
}

#company-info {
  padding: 100px 0;
  background: url(../img/common/greeting-bg.png);
}

#company-info .company-info-ttl {
  margin-bottom: 50px;
}

#company-info .company-dl {
  margin-bottom: 50px;
}

#company-info .map-iframe {
  height: 400px;
}

/*お知らせ一覧
=========================================================*/
.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 #004fb4;
}

.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: #004fb4;
  margin-right: 20px;
  font-size: 13px;
}

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

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

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

.cont-dl dl dt {
  width: 320px;
  position: relative;
}

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

.cont-dl dl dd {
  width: 760px;
}

.cont-dl dl dd input[type="text"],
.cont-dl dl dd input[type="num"] {
  width: 100%;
  padding: 5px;
  border: solid #ccc 1px;
  background: #fff;
  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-right: 40px;
  border: solid 1px #004fb4;
}

.contact-btn ul li #form-btn {
  width: 340px;
  color: #fff;
  font-size: 18px;
  letter-spacing: 3px;
  border: none;
  cursor: pointer;
  padding: 25px 0;
  background-color: #004fb4;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  font-weight: bold;
}

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

.contact-btn ul li:hover #form-btn {
  color: #004fb4;
  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: 20px;
  color: #fff;
  background-color: #004fb4;
  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;
  box-sizing: border-box;
}

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

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

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

#site-map ul li a {
  box-sizing: border-box;
  display: block;
  padding: 15px 0 15px 35px;
  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: -8px;
  border: solid 8px transparent;
  border-left: 8px solid #004fb4;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

#site-map ul li a:hover {
  color: #004fb4;
}

#site-map ul li a:hover:before {
  left: 10px;
}

/*プライバシーポリシー
=========================================================*/
#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: #004fb4;
}

/*リキャプチャ---------------*/
#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;
}
