@charset "UTF-8";

/*!
Theme Name: TMG2021
Template:   cocoon-master
*/

/* ==================================
Common
================================== */
body {
  /* フォントの種類 */
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans",
    Meiryo, sans-serif;
}
*::selection {
  background-color: rgba(221, 221, 221, 0.2);
}
*::-moz-selection {
  background-color: rgba(221, 221, 221, 0.2); /*Firefoxに対応*/
}
.pc {
  display: block !important;
}
.sp {
  display: none !important;
}

a {
  text-decoration: none;
  opacity: 1;
  transition: opacity 0.5s;
}
a:hover {
  text-decoration: none;
  color: #006880;
  opacity: 0.7;
}

/************************************
** 画像の囲み効果
************************************/
/*ボーダー*/
.iwe-border img:not(.cta-image),
.iwe-border amp-img:not(.cta-image) {
  border: none;
}

/*--------------------
Loading
--------------------*/
#loading {
  width: 100%;
  height: calc(100vh + 50px);
  position: fixed;
  z-index: 10;
  background: #fff;
  top: -50px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
#loading.loaded {
  animation: bgloading 1s forwards;
  animation-delay: 1s;
}
@keyframes bgloading {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

/* ローディングアニメーション */
/*.spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transform-origin: center;
          transform-origin: center;
  width: 120px;
  height: 120px;
}
.spinner span{
      position:absolute;
      top:50%;
      left:50%;
      transform:translate(-50%, -50%);
      font-size:12px;
  }
.spinner.type1 {
  border-radius: 50%;
  border-width: 8px;
  border-style: solid;
  border-color: #006880 rgba(0, 104, 128, 0.12) rgba(0, 104, 128, 0.12);
  -webkit-animation: spinner1_1 1.5s infinite linear forwards;
          animation: spinner1_1 1.5s infinite linear forwards;
}
.spinner.type1 span {
  animation: spinner_loading_text 1.5s infinite linear forwards reverse;
}

@-webkit-keyframes spinner1_1 {
  0% {
    -webkit-transform: translate(-50%, -50%) rotate(0);
            transform: translate(-50%, -50%) rotate(0);
  }
  100% {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
            transform: translate(-50%, -50%) rotate(360deg);
  }
}
@keyframes spinner1_1 {
  0% {
    -webkit-transform: translate(-50%, -50%) rotate(0);
            transform: translate(-50%, -50%) rotate(0);
  }
  100% {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
            transform: translate(-50%, -50%) rotate(360deg);
  }
}
@-webkit-keyframes spinner_loading_text {
  0% {
    opacity: 1;
    -webkit-transform: translate(-50%, -50%) rotate(0deg);
            transform: translate(-50%, -50%) rotate(0deg);
  }
  50% {
    opacity: 0;
    -webkit-transform: translate(-50%, -50%) rotate(180deg);
            transform: translate(-50%, -50%) rotate(180deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
            transform: translate(-50%, -50%) rotate(360deg);
  }
}
@keyframes spinner_loading_text {
  0% {
    opacity: 1;
    -webkit-transform: translate(-50%, -50%) rotate(0deg);
            transform: translate(-50%, -50%) rotate(0deg);
  }
  50% {
    opacity: 0;
    -webkit-transform: translate(-50%, -50%) rotate(180deg);
            transform: translate(-50%, -50%) rotate(180deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
            transform: translate(-50%, -50%) rotate(360deg);
  }
}*/

#loading .ball-clip-rotate-multiple > div {
  left: 60px;
  top: 60px;
  border: 2px solid #006880;
  border-bottom-color: transparent;
  border-top-color: transparent;
  height: 80px;
  width: 80px;
  -webkit-animation: rotate 1s 0s ease-in-out infinite;
  animation: rotate 1s 0s ease-in-out infinite;
}
#loading .ball-clip-rotate-multiple > div:nth-child(1) {
  left: 80px;
  top: 80px;
  width: 40px;
  height: 40px;
  border-color: #006880 transparent;
  -webkit-animation-duration: 0.5s;
  animation-duration: 0.5s;
  -webkit-animation-direction: reverse;
  animation-direction: reverse;
}
#loading .loader,
#loading .loader .ball-clip-rotate-multiple {
  width: 200px;
  height: 200px;
  text-align: center;
}
#loading .loader span {
  font-size: 12px;
  animation: spinner_loading_text 1s infinite linear forwards reverse;
  display: block;
  position: absolute;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
}
@-webkit-keyframes spinner_loading_text {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes spinner_loading_text {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/*--------------------
Scroll Fadein
--------------------*/
/* 画面外にいる状態 */
/*.fadein {
	opacity : 0;
	transform : translate(0, 50px);
	transition : 600ms;
	will-change: transform;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	}*/
/* 画面内に入った状態 */
/*.fadein.scrollin {
	opacity : 1;
	transform : translate(0, 0);
	will-change: transform;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	}*/

/* 3つくらい横並びのときにずらして表示 */
/* 親要素にclass orderをつける */
/*.order > .fadein:nth-of-type(2) {
	-moz-transition-delay:200ms;
	-webkit-transition-delay:200ms;
	-o-transition-delay:200ms;
	-ms-transition-delay:200ms;
	}
.order > .fadein:nth-of-type(3) {
	-moz-transition-delay:400ms;
	-webkit-transition-delay:400ms;
	-o-transition-delay:400ms;
	-ms-transition-delay:400ms;
	}
.order > .fadein:nth-of-type(4) {
	-moz-transition-delay:600ms;
	-webkit-transition-delay:600ms;
	-o-transition-delay:600ms;
	-ms-transition-delay:600ms;
	}
.order > .fadein:nth-of-type(5) {
	-moz-transition-delay:800ms;
	-webkit-transition-delay:800ms;
	-o-transition-delay:800ms;
	-ms-transition-delay:800ms;
	}
.order > .fadein:nth-of-type(6) {
	-moz-transition-delay:1000ms;
	-webkit-transition-delay:1000ms;
	-o-transition-delay:1000ms;
	-ms-transition-delay:1000ms;
	}*/

/*--------------------
コンテンツ幅
--------------------*/
.container {
  overflow: hidden;
}
.wrap {
  max-width: 1140px;
  width: 100%;
  padding: 0 20px;
  margin: 0 auto;
}

/* ==================================
Header
================================== */
#header {
  width: 15%;
}
.header-container-in.hlt-top-menu.hlt-tm-small .logo-header {
  max-height: none;
}
.header-container-in {
  padding-left: 20px;
  padding-right: 20px;
  width: 100%;
  max-width: 1140px;
}

/* ==================================
Gnavi
================================== */
.header-container-in.hlt-top-menu.hlt-tm-small .site-name-text-link {
  margin: 0;
}

.navi-in > ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  text-align: center;
  position: relative;
}
.navi-in > ul li {
  width: 150px;
  height: auto !important;
  line-height: 1em !important;
  padding: 20px 0;
  position: relative;
}
.navi-in > ul li:nth-last-of-type(1) {
  width: 120px;
}
.navi-in > ul li:nth-last-of-type(1) a {
  padding: 20px 0 0 40px;
}

.navi-i .header-container-in.hlt-top-menu.hlt-tm-small .navi-in > ul > li,
.header-container-in.hlt-top-menu.hlt-tm-small
  .navi-in
  > ul
  > .menu-item-has-description
  > a
  > .caption-wrap {
  line-height: 1em;
  height: auto;
}
.menu-pc li {
  padding: 20px 0;
}
#navi .navi-in a:hover {
  background-color: transparent;
}

.menu-pc li a {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  font-size: 10px;
  display: block;
  padding: 1.2rem 30px 0;
  position: relative;
}
.menu-pc li:nth-last-of-type(1) a {
  padding: 1.2rem 0 0;
}
/* メニュー間のライン */
.menu-pc li a::after {
  content: "";
  width: 0;
  height: 100%;
  border-right: solid 1px #000;
  display: block;
  position: absolute;
  top: 0;
  right: 0;
}
.menu-pc li:nth-last-of-type(1) a::after,
.menu-pc .sub-menu li a::after {
  content: none;
}

.menu-item a::before {
  display: block;
  font-size: 1.1rem;
  width: 100%;
  height: 1em;
  line-height: 1em;
  position: absolute;
  top: 0;
  left: 0;
}
.menu-item.gnavi_conpany a::before {
  content: "COMPANY";
} /* 会社案内 */
.menu-item.gnavi_service a::before {
  content: "SERVICE";
} /* 事業内容 */
.menu-item.gnavi_recruit a::before {
  content: "RECRUIT";
} /* 採用情報 */
.menu-item.gnavi_blog a::before {
  content: "BLOG";
} /* ブログ */
.menu-item.gnavi_contact a::before {
  content: "CONTACT";
} /* お知らせ */

.sub-menu .menu-item a::before {
  display: none;
}

.menu-pc li:nth-last-of-type(1) a::before {
  left: 50%;
  margin-left: -2.5rem;
}

/*--------------------
サブメニュー
--------------------*/
.navi-in > ul li:hover > ul {
  display: block;
  position: absolute;
  margin-top: 20px;
  left: 0;
}
#navi .navi-in > .menu-header .sub-menu {
  background-color: rgba(256, 256, 256, 0.7) !important;
  width: 230px;
}
.navi-in > ul .sub-menu {
  min-width: auto;
  width: 100%;
}
.menu-pc .sub-menu li {
  padding: 0;
}
.navi-in > ul .sub-menu li {
  width: 100%;
}
.menu-item .sub-menu li a,
.navi-in > ul li li:nth-last-of-type(1) a {
  font-size: 0.8rem;
  line-height: 1.3em;
  padding: 15px;
}

.navi-in > ul li li:nth-last-of-type(1) {
  width: auto;
  padding: 0;
}

/* マウスオーバー＆カレントアニメーション */
.navi-in > ul li .caption-wrap {
  position: relative;
}
.navi-in > ul li .caption-wrap::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background: #006880;
  position: absolute;
  bottom: -8px;
  transition: all 0.3s;
  transform: scale(0, 1); /*X方向0、Y方向1*/
  transform-origin: center top; /*上部中央基点*/
}
.navi-in > ul li.current_page_parent .caption-wrap::after {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background: #006880;
  position: absolute;
  bottom: -8px;
}
.navi-in > ul li:hover .caption-wrap::after,
.navi-in > ul li.current-menu-item .caption-wrap::after,
.navi-in > ul li.current_page_parent .caption-wrap::after {
  transform: scale(1, 1); /*X方向にスケール拡大*/
}
.navi-in > ul li.current_page_parent li .caption-wrap::after {
  transform: scale(0, 1); /*X方向0、Y方向1*/
}
.navi-in > ul li li .caption-wrap::after {
  content: none;
}
#navi .navi-in li.current-menu-item a {
  color: #006880;
}
#navi .navi-in li.current-menu-item li a {
  color: #000;
}
#navi .navi-in li li a:hover,
#navi .navi-in li.current-menu-item li a:hover {
  color: #006880;
}

/* =============
非表示項目
============= */
.search-menu-button {
  display: none !important;
}

#navi .navi-in > .menu-mobile {
  display: none;
}

.fa-angle-down:before {
  content: "\f107";
  display: none;
}

/* ==================================
Contents
================================== */
.content {
  margin-top: 0;
}
.main {
  width: 100%;
  padding: 0;
  margin: 0 auto;
  border: none;
  border-radius: 0;
}
.main *::selection {
  background-color: rgba(0, 104, 128, 0.2);
}
.main *::-moz-selection {
  background-color: rgba(0, 104, 128, 0.2); /*Firefoxに対応*/
}

/*エントリー・アーカイブの見出し*/
.entry-title,
.archive-title {
  margin: 0;
}

/*--------------------
固定ページ
--------------------*/
.page .entry-content {
  margin-top: 150px;
  margin-bottom: 250px;
}

/*--------------------
固定ページタイトル
--------------------*/
.sub-header {
  display: block;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}
.sub-header .entry-title {
  color: #fff;
  text-align: center;
  font-size: 3em;
  line-height: 1.5em;
  background-color: rgb(0, 104, 128, 0.75);
  padding: 170px 0;
  font-weight: 600;
  letter-spacing: 0.05em;
}
.sub-header .entry-title .reading {
  display: block;
  font-size: 0.2em;
  line-height: 1.5em;
  font-weight: 400;
}

/*--------------------
見出し
--------------------*/
.article h2 {
  background-color: transparent;
  color: #006880;
  font-size: 2.2em;
  line-height: 1.3em;
  padding: 0;
  border-radius: 0;
  text-align: center;
}
.article h3 {
  border-left: none;
  border-right: none;
  border-top: none;
  border-bottom: none;
  font-size: 1.5em;
  line-height: 1.3em;
  padding: 0;
  color: #006880;
}
.article h4 {
  border-top: none;
  border-bottom: none;
  color: #006880;
  font-size: 1.2em;
  line-height: 1.3em;
  padding: 0;
}

/* ふりがなつき */
.tit_read {
  color: #006880;
  text-align: center;
  font-size: 2.3rem;
  line-height: 1.3em;
  margin-bottom: 1em;
  letter-spacing: 0.03em;
}
.tit_read .read {
  font-size: 0.6em;
  line-height: 1.3em;
  display: block;
  font-weight: 400;
}

/*--------------------
ボタン
--------------------*/
/* Normal */
.btn_normal {
  text-align: center;
}
.btn_normal a {
  line-height: 1em;
  display: inline-block;
  border-style: solid;
  border-width: 1px;
  border-color: #006880;
  padding: 15px 80px;
  border-radius: calc(calc(1rem + 30px) / 2);
  position: relative;
}
.btn_normal a::before,
.btn_normal a::after {
  content: "";
  display: block;
  position: absolute;
}
.btn_normal a::before {
  width: 30px;
  border-bottom: solid #006880 2px;
  bottom: calc(1em + 5px);
  right: 10px;
}
.btn_normal a::after {
  bottom: 1em;
  right: 11px;
  transform: rotate(45deg);
  width: 8px;
  height: 8px;
  border-top: solid #006880 2px;
}

/* Normal - White */
.btn_normal.white a {
  border-color: #fff;
  color: #fff;
}
.btn_normal.white a::before {
  border-bottom: solid #fff 2px;
}
.btn_normal.white a::after {
  border-top: solid #fff 2px;
}

/* Normal - BGGreen */
.btn_normal.bgGreen a {
  border-color: #fff;
  color: #fff;
  background: #006880;
}
.btn_normal.bgGreen a::before {
  border-bottom: solid #fff 2px;
}
.btn_normal.bgGreen a::after {
  border-top: solid #fff 2px;
}

/* View more */
.btn_viewmore {
  padding-left: calc(100% - 180px);
}
.btn_viewmore .btnIn::before,
.btn_viewmore .btnIn::after,
.btn_viewmore a::before,
.btn_viewmore a::after {
  content: "";
  display: block;
  position: absolute;
}
.btn_viewmore .btnIn {
  padding: 20px 0;
  display: inline-block;
  position: relative;
  line-height: 1em;
}
.btn_viewmore .btnIn::before {
  width: 30px;
  height: 30px;
  background-color: #006880;
  bottom: calc(1em - 3px);
  right: 0;
}
.btn_viewmore .btnIn::after {
  width: calc(100% - 30px);
  border-bottom: solid #006880 2px;
  bottom: calc(1em + 8px);
  left: 0;
}
.btn_viewmore a {
  position: relative;
  padding-top: 10px;
  padding-right: 60px;
  padding-bottom: 10px;
  padding-left: 5px;
  line-height: 1em;
  display: inline-block;
  text-decoration: none;
  transition: padding-right 0.5s;
}
.btn_viewmore a::before {
  border-bottom: solid #fff 2px;
  bottom: 3px;
  left: 0;
  width: calc(100% - 12px);
}
.btn_viewmore a::after {
  bottom: -1px;
  right: 14px;
  transform: rotate(45deg);
  width: 8px;
  height: 8px;
  border-top: solid #fff 2px;
}

.btn_viewmore a:hover {
  color: #006880;
  padding-right: 80px;
}

/* Back */
.btn_back {
  padding-right: calc(100% - 180px);
}
.btn_back::after,
.btn_back .btnIn::before,
.btn_back .btnIn::after,
.btn_back a::before,
.btn_back a::after {
  content: "";
  display: block;
  position: absolute;
}
.btn_back::after {
  clear: both;
}
.btn_back .btnIn {
  padding: 20px 0;
  display: inline-block;
  position: relative;
  line-height: 1em;
  float: right;
}
.btn_back .btnIn::before {
  width: 30px;
  height: 30px;
  background-color: #006880;
  bottom: calc(1em - 3px);
  left: 0;
}
.btn_back .btnIn::after {
  width: calc(100% - 30px);
  border-bottom: solid #006880 2px;
  bottom: calc(1em + 8px);
  right: 0;
}
.btn_back a {
  position: relative;
  padding-top: 10px;
  padding-left: 60px;
  padding-bottom: 10px;
  padding-right: 5px;
  line-height: 1em;
  display: inline-block;
  text-decoration: none;
  transition: padding-left 0.5s;
}
.btn_back a::before {
  border-bottom: solid #fff 2px;
  bottom: 3px;
  right: 0;
  width: calc(100% - 12px);
}
.btn_back a::after {
  bottom: -1px;
  left: 14px;
  transform: rotate(-45deg);
  width: 8px;
  height: 8px;
  border-top: solid #fff 2px;
}

.btn_back a:hover {
  color: #006880;
  padding-left: 80px;
}

/* 問い合わせボタン */
.inquiry {
  display: inline-block;
  max-width: 300px;
  text-align: center;
  background-color: #fff;
  font-size: 15px;
  text-decoration: none;
  margin-top: 16px;
  padding: 14px 40px 14px 48px;
  position: relative;
}
.inquiry::before {
  position: absolute;
  left: 17px;
  top: 50%;
  margin: -6px;
  margin-left: auto;
  content: "";
  display: inline-block;
  width: 18px;
  height: 12px;
  background: url(./common/img/icon_mail.png) no-repeat;
  background-size: contain;
}
.inquiry::after {
  content: "";
  display: inline-block;
  position: absolute;
  right: 22px;
  top: 50%;
  margin: -3px;
  width: 6px;
  height: 6px;
  border-bottom: 1px solid #068;
  border-right: 1px solid #068;
  transform: rotateZ(-45deg);
}

/*--------------------
定義リスト
--------------------*/
/* simple */
.dl_simple {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}
.dl_simple dt,
.dl_simple dd {
  padding: 20px;
  border-bottom: solid 1px #ccc;
}
.dl_simple dt:nth-of-type(1),
.dl_simple dd:nth-of-type(1) {
  border-top: solid 1px #ccc;
}

.dl_simple dt {
  width: 30%;
  background: #f2f2f2;
  font-weight: 700;
  position: relative;
  font-size: 1.1em;
  line-height: 1.5em;
}
.dl_simple dt span {
  display: block;
  position: absolute;
  top: 50%;
  webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
.article .dl_simple dd {
  margin-left: 0;
}
.dl_simple dd {
  width: 70%;
}
.dl_simple dd ol,
.dl_simple dd ul {
  padding-left: 1em;
}

/* headline */
.dl_headline dt,
.dl_headline dd {
  display: block;
}
.dl_headline dt {
  font-weight: 700;
  position: relative;
  padding-left: 1em;
}
.dl_headline dd {
  margin: 0 0 0.5em 0;
  padding-left: 1em;
}
.dl_headline dt::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 0;
  height: 0;
  top: 50%;
  left: 0.2em;
  border-style: solid;
  border-width: 0.3em 0 0.3em 0.4em;
  border-color: transparent transparent transparent #000000;
  transform: translateY(-50%);
}

/*--------------------
Google Map
--------------------*/
.gmap {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 60%;
}
.gmap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*--------------------
Box
--------------------*/
/* box_white */
.box_white {
  background: #fff;
  border: solid 1px #f2f2f2;
  padding: 20px;
  margin: 1.5em 0;
}

/* box_gray */
.box_gray {
  background: #f9f9f9;
  border: solid 1px #f2f2f2;
  padding: 20px;
  margin: 1.5em 0;
  border-radius: 10px;
}

.box_white .tit_inBox,
.box_gray .tit_inBox {
  margin: 0;
  padding: 0.5em 0 1em;
}

/*--------------------
Blogcard
--------------------*/
.blogcard-wrap.a-wrap {
  border-bottom: none !important;
}

.blogcard-footer {
  font-size: 14px;
}

.box_gray .blogcard-wrap {
  background: transparent;
}

/* ==================================
Footer
================================== */

/* コンテンツ幅 */
.footer {
  margin-top: 0px;
  padding-top: 1px;
}
.footer a {
  display: block;
}
/*アンダーライン消去 */
.footer a:-webkit-any-link {
  text-decoration: none;
}
.nav_footer {
  width: 100%;
  position: relative;
  display: flex;
  justify-content: space-between;
}

/*ロゴサイズ変更 */
.nav_footer_left a {
  width: 220px;
}

/*クリック範囲変更 */
.nav_footer_middle1 li {
  width: 143px;
}

/*ホバーアクション */
#footer a:hover {
  background-color: transparent;
}
#footer .nav_footer_right .inquiry_btn a:hover {
  background-color: rgba(255, 255, 255, 0.7);
}
.nav_footer_list1 a:hover,
.nav_footer_list4 a:hover {
  opacity: 0.7;
}

/*住所間隔変更 */
.timingoodlogo {
  display: block;
  margin-bottom: 30px;
}
.address_footer_kumamoto {
  /* margin-top:38px; */
  font-size: 14px;
  line-height: 24px;
  margin-bottom: 1em;
}
.address_footer_fukuoka {
  /* margin-top:18px; */
  font-size: 14px;
  line-height: 24px;
  margin-bottom: 1em;
}

/* 仕切り線 */
.nav_footer_left {
  width: 40%;
  max-width: 410px;
  border-right: 1px solid #fff;
  padding-right: 50px;
}

/*フッターナビ間隔調整*/
.footer_service {
  margin-top: 22px;
}
.footer_recruit {
  margin-top: 22px;
}
.nav_footer_list4 li {
  margin-top: 22px;
}
.nav_footer_list4 li:nth-child(1) {
  margin-top: 0px;
}

/*フッターflexマージン調整 */
.nav_footer {
  margin: 40px 0px 20px 0px;
}

/*コピーライト中央揃え */
.copyright {
  text-align: center;
  margin: auto;
  line-height: 1em;
}

/*点消去 */
.nav_footer_list1 {
  list-style-type: none;
  padding: 0;
}
.nav_footer_list1 li {
  position: relative;
  padding-left: 14px;
  list-style-type: none;
}
.nav_footer_list2 {
  padding-left: 10px;
}
.nav_footer_list3 {
  padding-left: 10px;
}
.nav_footer_list4 {
  list-style-type: none;
  padding: 0;
}

/*矢印(>)追加*/
.nav_footer_list2 li:before {
  content: "";
  display: inline-block;
  position: absolute;
  left: 0px;
  top: 12px;
  width: 5px;
  height: 5px;
  border-bottom: 1px solid #ffffff;
  border-right: 1px solid #ffffff;
  transform: rotateZ(-45deg);
}
.nav_footer_list3 li:before {
  content: "";
  display: inline-block;
  position: absolute;
  left: 0px;
  top: 12px;
  width: 5px;
  height: 5px;
  border-bottom: 1px solid #ffffff;
  border-right: 1px solid #ffffff;
  transform: rotateZ(-45deg);
}

/*SNSアイコン並び調整*/
.snsicon {
  list-style-type: none;
  padding: 0;
}
.snsicon li {
  display: inline-block;
}
.snsicon li a img {
  width: 23px;
  height: auto;
  margin-top: 22px;
}
.instagram,
.facebook {
  margin-left: 15px;
}

/*お問い合わせ */
#footer .nav_footer .nav_footer_right .inquiry_btn a {
  color: #006880;
}

#footer .caution {
  font-size: 13px;
  line-height: 1.3em;
}

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

1023px以下

---------------------------------------------------------------------------------------- */
@media screen and (max-width: 1023px) {
  /* ==================================
Common
================================== */
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }

  /*--------------------
コンテンツ幅
--------------------*/
  .wrap {
    padding: 0 20px;
  }

  /* ==================================
Header
================================== */

  /* ==================================
Gnavi
================================== */
  /* PC独自装飾 */
  .menu-item.gnavi_conpany a::before,
  .menu-item.gnavi_service a::before,
  .menu-item.gnavi_recruit a::before,
  .menu-item.gnavi_blog a::before,
  .menu-item.gnavi_contact a::before {
    display: none;
  }

  /* メニュー幅調整 */
  .menu-content .menu-drawer {
    padding: 0 1em 10px;
  }
  #navi-menu-content {
    max-width: 280px;
  }
  #mblt-header-mobile-buttons .menu-pc {
    display: none;
  }
  /* ロゴ位置変更 */
  .has-logo-button {
    width: 100%;
  }
  .logo-menu-button {
    font-weight: 400;
    padding-left: 70px;
  }
  #site-name-text {
    position: absolute;
    margin: 0 auto;
  }
  .navi-menu-button {
    width: 70px;
  }
  .mobile-menu-buttons > li {
    padding-top: 0;
  }
  .navi-menu-button > li {
    padding: 8px 0 0;
  }
  .fa-bars:before,
  .fa-times:before {
    display: block;
    content: "";
    width: 40px;
    height: 40px;
    background-size: contain;
  }
  .fa-bars:before {
    background: url(./common/img/icon_navi-menu.gif) no-repeat right 0 / contain;
  }
  .fa-remove:before,
  .fa-close:before,
  .fa-times:before {
    content: "";
    display: block;
    width: 40px;
    height: 40px;
    background: url(./common/img/btn_navi-menu-close.gif) no-repeat right 0 /
      contain;
  }

  .fa-bars:before {
    margin-top: 5px;
  }

  .logo-menu-button {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
  }
  .logo-menu-button a {
    padding: 10px;
    max-width: 150px;
    display: block;
    margin: 0 auto;
  }

  /* =============
ハンバーガーメニュー位置変更
============= */
  .navi-menu-content {
    right: 0;
    left: unset;
    -webkit-transform: translateX(105%);
    transform: translateX(105%);
    -ms-overflow-style: none; /* IE, Edge 対応 */
    scrollbar-width: none; /* Firefox 対応 */
  }
  .navi-menu-content::-webkit-scrollbar {
    /* Chrome, Safari 対応 */
    display: none;
  }
  .menu-close-button {
    text-align: right;
    padding: 5px 10px 0 0;
  }
  #navi-menu-open .fa-bars::before,
  #navi-menu-content .fa-close::before {
    content: "";
  }

  /*--------------------
サブメニュー
--------------------*/
  .menu-item .sub-menu li a,
  .navi-in > ul li li:nth-last-of-type(1) a {
    padding: 6px 6px 12px;
  }

  /*SNSアイコン並び調整*/
  .snsicon {
    padding: 0 1em 30px;
  }
  .snsicon li a {
    display: block;
    padding: 5px;
  }

  .snsicon li a img {
    width: 23px;
    height: auto;
    margin-top: 0;
  }
  .snsicon .instagram,
  .snsicon .facebook {
    margin-left: 0;
  }

  /* ==================================
Contents
================================== */
  main.main {
    padding: 0;
    margin: 0;
  }

  /*--------------------
固定ページ
--------------------*/
  .page .entry-content {
    margin-top: 80px;
    margin-bottom: 180px;
  }

  /*--------------------
固定ページタイトル
--------------------*/
  .sub-header .entry-title {
    font-size: 2em;
    line-height: 1.5em;
    padding: 100px 0;
  }

  /*--------------------
見出し
--------------------*/
  .article h2 {
    font-size: 1.8em;
    line-height: 1.3em;
  }
  .article h3 {
    font-size: 1.3em;
    line-height: 1.3em;
  }
  .article h4 {
    font-size: 1.1em;
    line-height: 1.3em;
  }

  /*--------------------
ボタン
--------------------*/
  /* View more */
  .btn_viewmore {
    padding-left: calc(100% - 180px);
  }
  .btn_viewmore a:hover {
    padding-right: 60px;
  }
  /* Back */
  .btn_back {
    padding-right: calc(100% - 180px);
  }
  .btn_back a:hover {
    padding-left: 60px;
  }

  /* ==================================
Footer
================================== */

  /* 	非表示項目 */
  .address_footer,
  .nav_footer_middle1,
  .nav_footer_list4,
  .bn_footer_intern,
  .snsicon {
    display: none;
  }

  .footer.inquiry {
    margin-top: 0px;
  }

  /* 	ロゴ中央揃え */
  .nav_footer_left {
    width: auto;
    border-right: 0px solid #fff;
    padding-right: 0;
  }

  /* ロゴサイズ変更 */
  .nav_footer_left a {
    width: 140px;
  }

  /* 	flex縦並び */
  .nav_footer {
    width: 100%;
    position: relative;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    margin: 26px 0px 26px 0px;
  }

  /* お問い合わせボタン */
  #footer .nav_footer .nav_footer_right .inquiry_btn a {
    color: #fff;
    margin: 0 auto;
  }
  #footer .inquiry {
    background-color: #006880;
    border: 1px solid #fff;
    margin-top: 6px;
    line-height: 1em;
  }
  #footer .inquiry::before {
    background: url(./common/img/icon_mail_white.png) no-repeat;
    background-size: contain;
  }
  #footer .inquiry::after {
    border-bottom: 1px solid #fff;
    border-right: 1px solid #fff;
  }

  /* コピーライト文字サイズ変更 */
  .copyright {
    font-size: 13px;
  }
}
/* ------------------------------------------------------------------------------------

834px以下

---------------------------------------------------------------------------------------- */
@media screen and (max-width: 834px) {
  /* ==================================
Common
================================== */

  /*--------------------
コンテンツ幅
--------------------*/
  .wrap {
    padding: 0 20px;
  }

  /* ==================================
Contents
================================== */
  main.main {
    padding: 0;
    margin: 10px 0;
  }

  /*--------------------
ボタン
--------------------*/
  /* Normal */
  .btn_normal {
    width: 80%;
    margin: 0 auto;
  }
  .btn_normal a {
    display: block;
    padding: 15px 45px;
  }

  /* View more */
  .btn_viewmore {
    padding-left: 0;
    text-align: center;
  }
  .btn_viewmore .btnIn::before,
  .btn_viewmore .btnIn::after {
    content: none;
  }
  .btn_viewmore .btnIn {
    width: 80%;
  }
  .btn_viewmore a {
    border: solid 1px #006880;
    border-radius: calc(calc(1em + 30px) / 2);
    padding: 15px 40px;
    width: 100%;
  }
  .btn_viewmore a::before {
    border-bottom: solid #006880 2px;
    bottom: inherit;
    left: inherit;
    right: 20px;
    top: 50%;
    width: 20px;
    position: absolute;
  }
  .btn_viewmore a::after {
    bottom: inherit;
    right: 20px;
    width: 8px;
    height: 8px;
    border-top: solid #006880 2px;
    top: calc(50% - 3px);
  }

  .btn_viewmore a:hover {
    padding: 15px 40px;
  }

  /* Back */
  .btn_back {
    padding-right: 0;
    text-align: center;
  }
  .btn_back .btnIn::before,
  .btn_back .btnIn::after {
    content: none;
  }
  .btn_back .btnIn {
    width: 80%;
    float: none;
  }
  .btn_back a {
    border: solid 1px #006880;
    border-radius: calc(calc(1em + 30px) / 2);
    padding: 15px 40px;
    width: 100%;
  }
  .btn_back a::before {
    border-bottom: solid #006880 2px;
    bottom: inherit;
    right: inherit;
    left: 20px;
    top: 50%;
    width: 20px;
    position: absolute;
  }
  .btn_back a::after {
    bottom: inherit;
    left: 20px;
    width: 8px;
    height: 8px;
    border-top: solid #006880 2px;
    top: calc(50% - 3px);
  }

  /*--------------------
定義リスト（Simple）
--------------------*/
  .dl_simple dt,
  .dl_simple dd {
    padding: 10px;
  }
  .dl_simple dt:nth-of-type(1),
  .dl_simple dd:nth-of-type(1) {
    border-top: none;
  }
  .dl_simple dt {
    width: 100%;
    border-bottom: none;
  }
  .dl_simple dd {
    width: 100%;
    padding-bottom: 3em;
    border-bottom: none;
  }
  .dl_simple dt span {
    position: static;
    webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
}

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

480px以下

---------------------------------------------------------------------------------------- */
@media screen and (max-width: 480px) {
  /* ==================================
Contents
================================== */
  /*--------------------
固定ページ
--------------------*/
  .page .entry-content {
    margin-top: 50px;
    margin-bottom: 120px;
  }

  /*--------------------
固定ページタイトル
--------------------*/
  .sub-header .entry-title {
    padding: 70px 0;
  }

  /*--------------------
見出し
--------------------*/
  /* ふりがなつき */
  .tit_read {
    font-size: 1.5rem;
    line-height: 1.3em;
  }

  /*--------------------
ボタン
--------------------*/
  /* Normal */
  .btn_normal {
    width: 90%;
    margin: 0 auto;
  }

  /* View more */
  .btn_viewmore .btnIn {
    width: 90%;
  }

  /* ==================================
Contents
================================== */
  main.main {
    padding: 0;
    margin: 10px 0;
  }

  /*--------------------
Google Map
--------------------*/
  .gmap {
    padding-top: 75%;
  }
}
