@charset "UTF-8";
/*
Theme Name: dainichi
Theme URI:
Description: dainichi
Version: 1.0
Author: W-ONE
Author URI: http://www.wakasaone.com
*/
/* http://meyerweb.com/eric/tools/css/reset/ 
v2.0 | 20110126
License: none (public domain)
*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&family=Noto+Serif+JP:wght@400;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Exo+2:wght@500;600&display=swap");
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

.cnt, footer .inner, .contactinfo ul, .corpinfo .inner, .top .lead .inner, .under .ct .inner {
  width: 100%;
  max-width: 1100px;
  box-sizing: border-box;
}

/* ========================================================= */
/* カラー */
/* ========================================================= */
.c_orange {
  color: #f29715;
}

.c_green {
  color: #94c529;
}

.c_pink {
  color: #ee0d7b;
}

.c_blue {
  color: #00439a;
}

.c_red2 {
  color: #e2032d;
}

/* ========================================================= */
/* フォントタイプ */
/* ========================================================= */
.f_g1 {
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", メイリオ, Meiryo, "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", sans-serif;
}

.f_ar {
  font-family: "arial", sans-serif;
}

.f_arb {
  font-family: "arial black", sans-serif;
}

.f_con, .drawer-hamburger .dr-txt {
  font-family: "consola", sans-serif;
}

.f_noto, p,
li,
dt,
dd,
table,
th,
td, header .logo .corpname .jp-ttl, ul.gmenu li a, .drawer-nav ul li a, .drawer-nav .form-btn, article .pagenavi a, #btm-btn ul li a.fd, .contactbtn li a, .fv .logo .jp-ttl, .fv-copy, .under .fv .pg-ttl, .top .lead-ttl small, .top .information-ttl small, .under .ct-ttl, .under .pg-post h1, .under .pg-post h2, .under .pg-post h3, .under-service .ct-1 .sv-ttl, .under-service .ct-1 .sv-ttl2, .under-service .ct-1 .sv-txt h4, .under-service .ct-1 .sv-txt .more-btn, .under-contact .ct-contact .ct-ttl-2, .under-contact .ct-contact .privacy_wrap .privacy h2 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}

.f_exo, .under .fv .pg-ttl .en, .contactinfo-ttl, .top .lead-ttl, .top .information-ttl, .under .ct-ttl small {
  font-family: 'Exo 2', sans-serif;
}

/* ========================================================= */
/* 装飾 */
/* ========================================================= */
b,
.bold,
strong {
  font-weight: bold;
}

.normal {
  font-weight: normal;
}

.imgborder_dash {
  border: 1px dashed #999;
}

.imgshadow {
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.4);
}

.photoframe {
  margin: 2px;
  border: 10px solid #fff;
  box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.6);
}

.underborder {
  border-bottom: 1px solid #ccc;
}

.under_border_da {
  border-bottom: 1px dashed #ccc;
}

.noborder,
article .norborder {
  border: none;
}

/* ========================================================= */
/* 表示 */
/* ========================================================= */
.nodisp {
  text-indent: -9999px;
}

.disp_none {
  display: none;
}

.ani, header, ul.gmenu li a::after, ul.gmenu li a:hover::after, .drawer-nav ul li a, .drawer-nav .sns li a img, .contactbtn li a, .contactinfo ul li a, .top .lead a::before, .top .lead a::after, .under .ct .pg-nav li a, .under .ct .pg-nav li a::before, .under .ct .pg-nav li a::after, .under-service .ct-1 .sv-txt .more-btn {
  -webkit-transition: 0.2s ease-in-out;
  -moz-transition: 0.2s ease-in-out;
  -o-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
}

.ani_05 {
  -webkit-transition: 0.5s ease-in-out;
  -moz-transition: 0.5s ease-in-out;
  -o-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}

.ani_1 {
  -webkit-transition: 1s ease-in-out;
  -moz-transition: 1s ease-in-out;
  -o-transition: 1s ease-in-out;
  transition: 1s ease-in-out;
}

@keyframes ani01 {
  0% {
    transform: translateY(0);
  }
  33.33333% {
    transform: translateY(-8px);
  }
  66.66667% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(0);
  }
}
@keyframes rotate-ani01 {
  0% {
    transform: rotate(0deg) translateY(0);
  }
  3% {
    transform: rotate(-5deg) translateY(-8px);
  }
  6% {
    transform: rotate(0deg) translateY(0);
  }
  9% {
    transform: rotate(4deg);
  }
  11% {
    transform: rotate(0);
  }
  /*  75% {
    transform: rotate(5deg);
  }*/
  100% {
    transform: rotate(0deg);
  }
}
@keyframes zoom-ani01 {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.2);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes zoom-ani02 {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
/* ========================================================= */
/* レイアウト調整 */
/* ========================================================= */
.al-r {
  text-align: right;
}

.al-l {
  text-align: left;
}

.al-c {
  text-align: center;
}

.mauto, footer .inner, .contactinfo ul, .corpinfo .inner, .top .lead .inner, .under .ct .inner,
article .mauto,
article footer .inner,
footer article .inner,
article .contactinfo ul,
.contactinfo article ul,
article .corpinfo .inner,
.corpinfo article .inner,
article .top .lead .inner,
.top .lead article .inner,
article .under .ct .inner,
.under .ct article .inner {
  margin-left: auto;
  margin-right: auto;
}

.br-pc,
.dn-pc {
  display: block;
}

.br-sp,
.dn-sp {
  display: none;
}

.clearfix:before,
.clearfix:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}

.clearfix:after {
  clear: both;
}

.clearfix {
  *zoom: 1;
}

.scroll {
  overflow: auto;
  white-space: nowrap;
}

.scroll::-webkit-scrollbar {
  height: 5px;
}

.scroll::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0);
}

.scroll::-webkit-scrollbar-thumb {
  /* スクロールバーのツマミの色 */
  background: rgba(255, 255, 255, 0.4);
}

/* tableにスクロールバーを追加 ここまで↑ */
.scroll table {
  /* tableの幅を100%に */
  width: 100%;
}

.scrollbox {
  position: relative;
  width: 100%;
  overflow: auto;
  scrollbar-base-color: #fff;
  scrollbar-3dlight-color: #ffffff;
  scrollbar-arrow-color: #ffffff;
  scrollbar-darkshadow-color: #ffffff;
  scrollbar-face-color: #f1f1f1;
  scrollbar-highlight-color: #f1f1f1;
  scrollbar-shadow-color: #f1f1f1;
  scrollbar-track-color: #ffffff;
}

/*スクロールバー全体*/
.scrollbox::-webkit-scrollbar {
  width: 10px;
}

/*横スクロールバー全体*/
.scrollbox::-webkit-scrollbar:horizontal {
  height: 10px;
}

/*スクロールバー上下左右末端のボタン*/
.scrollbox::-webkit-scrollbar-button {
  width: 10px;
  height: 10px;
}

/*ドラッグするツマミ部分*/
.scrollbox::-webkit-scrollbar-thumb {
  background: #f1f1f1;
}

/*右下角部分*/
.scrollbox::-webkit-scrollbar-corner {
  background-color: transparent;
}

html {
  font-size: 62.5%;
}

body {
  text-align: center;
  color: #1e1e1e;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", メイリオ, Meiryo, "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 1.6rem;
  /*  overflow-x: hidden;*/
  position: relative;
  -webkit-text-size-adjust: 100%;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
p,
li,
dt,
dd,
table,
th,
td {
  line-height: 2;
}

img {
  margin: 0;
  padding: 0;
  border: none;
  vertical-align: bottom;
}

a {
  color: #00439a;
  text-decoration: none;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  text-decoration: underline;
}
a:visited {
  color: #00439a;
}
a.noborder {
  text-decoration: none;
}
a.noborder:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=10);
  opacity: 0.1;
}
a.nolink {
  pointer-events: none;
}
a.anchor {
  display: block;
}

a:hover,
a:hover img,
input[type="submit"]:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
  opacity: 0.8;
}

input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]:focus,
input[type="button"]:focus {
  outline-offset: -2px;
}

@media screen and (max-width: 1040px) and (min-width: 768px) {
  .cnt, footer .inner, .contactinfo ul, .corpinfo .inner, .top .lead .inner, .under .ct .inner {
    max-width: calc(100% - 30px);
  }
}
@media screen and (max-width: 767px) {
  .cnt, footer .inner, .contactinfo ul, .corpinfo .inner, .top .lead .inner, .under .ct .inner {
    max-width: 90%;
  }

  .br-pc,
  .dn-sp {
    display: none;
  }

  .br-sp,
  .dn-pc {
    display: block;
  }

  body {
    font-family: sans-serif;
    min-width: initial;
    font-size: 1.4rem;
  }
}
#wrapper {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  min-height: 100vh;
  position: relative;
}

/* ====================================================================== */
/* HEADER */
/* ====================================================================== */
header {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: center;
  align-items: center;
  width: 100%;
  max-width: 100%;
  height: 70px;
  padding: 0 100px 0 50px;
  box-sizing: border-box;
  position: absolute;
  top: 0;
  z-index: 20;
}
#under-pg header {
  padding-left: 130px;
}
@media screen and (max-width: 767px) {
  #under-pg header {
    -webkit-justify-content: center;
    justify-content: center;
    padding: 0;
    height: 90px;
  }
}
header .logo {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  header .logo {
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-justify-content: center;
    justify-content: center;
  }
}
header .logo .logo-mark {
  display: block;
  margin-right: 15px;
  height: 55px;
}
@media screen and (max-width: 767px) {
  header .logo .logo-mark {
    margin-right: 0;
    height: 35px;
  }
}
header .logo .corpname {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  -webkit-flex-direction: column;
  flex-direction: column;
  color: white;
}
@media screen and (max-width: 767px) {
  header .logo .corpname {
    -webkit-align-items: center;
    align-items: center;
  }
}
header .logo .corpname .en-ttl img {
  display: block;
  width: 240px;
}
@media screen and (max-width: 767px) {
  header .logo .corpname .en-ttl img {
    margin-top: 10px;
    width: 180px;
  }
}
header .logo .corpname .jp-ttl {
  display: block;
  margin-top: 0.5em;
  font-size: 1.6rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  header .logo .corpname .jp-ttl {
    font-size: 1.3rem;
  }
}
header.is-fixed {
  height: 60px;
}
header.is-fixed .site-title {
  transform: scale(0.85);
}
header.is-fixed .contact-btn {
  height: 60px;
}
header.is-fixed .contact-btn::after {
  left: -15px;
  border-width: 60px 15px 0 0;
}

/* ====================================================================== */
/* Globalmenu */
/* ====================================================================== */
ul.gmenu {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media screen and (max-width: 1040px) and (min-width: 768px) {
  ul.gmenu {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  ul.gmenu {
    display: none;
  }
}
ul.gmenu li {
  position: relative;
}
ul.gmenu li:last-child a {
  padding-right: 0;
}
ul.gmenu li:last-child a::before {
  display: none;
}
ul.gmenu li a {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-direction: column;
  flex-direction: column;
  padding: 0 1em;
  position: relative;
  box-sizing: border-box;
  font-size: 1.4rem;
  font-weight: 700;
  color: white;
  text-decoration: none;
}
ul.gmenu li a::before {
  content: "";
  display: inline-block;
  width: 1px;
  height: 60%;
  background-color: white;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%) rotate(20deg);
}
ul.gmenu li a::after {
  content: "";
  display: inline-block;
  width: 0;
  height: 2px;
  background-color: white;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
ul.gmenu li a:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
  opacity: 1;
}
ul.gmenu li a:hover::after {
  width: 70%;
}
ul.gmenu li a.active::after {
  /*          content: "";
  display: inline-block;
  width: 70%;
  height: 2px;
  background-color: white;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);*/
}

/* ----------------------------------------- */
/* メニュー
/* ----------------------------------------- */
.d_nav.is-fixed .drawer-hamburger .dr-txt {
  color: #00439a;
}
.d_nav.is-fixed .drawer-hamburger-icon,
.d_nav.is-fixed .drawer-hamburger-icon:before,
.d_nav.is-fixed .drawer-hamburger-icon:after {
  background-color: #00439a;
}

.drawer-hamburger {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  width: 100px;
  max-width: 100px;
  height: 100px;
  padding: 0 15px 0 0;
  top: 0;
  left: 0 !important;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .drawer-hamburger {
    width: 70px;
    max-width: 70px;
    height: 70px;
  }
}
.drawer-hamburger .dr-txt {
  color: white;
  position: absolute;
  width: 100%;
  bottom: 1.5em;
  letter-spacing: 0.25em;
  font-size: 1.1rem;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .drawer-hamburger .dr-txt {
    font-size: 1rem;
    transform: scale(0.9);
  }
}

.drawer-hamburger-icon,
.drawer-hamburger-icon:before,
.drawer-hamburger-icon:after {
  width: 36px;
  height: 2px;
  background-color: white;
}
@media screen and (max-width: 767px) {
  .drawer-hamburger-icon,
  .drawer-hamburger-icon:before,
  .drawer-hamburger-icon:after {
    width: 24px;
  }
}

.drawer-hamburger-icon:before,
.drawer-hamburger-icon:after {
  left: 50%;
}

.drawer-hamburger-icon {
  margin-top: -15px;
  margin: 0 0 0 auto;
  position: relative;
}
@media screen and (max-width: 767px) {
  .drawer-hamburger-icon {
    margin-top: -20px;
  }
}

.drawer-hamburger-icon:before {
  top: -20px;
  left: auto;
  right: 0;
  width: calc(100% + 20px);
}
@media screen and (max-width: 767px) {
  .drawer-hamburger-icon:before {
    top: -15px;
  }
}

.drawer-hamburger-icon:after {
  top: 20px;
  display: none;
  left: auto;
  right: 0;
}
@media screen and (max-width: 767px) {
  .drawer-hamburger-icon:after {
    top: 15px;
  }
}

.drawer-open .drawer-hamburger {
  background-color: transparent !important;
  border-color: white !important;
  top: 0;
}
.drawer-open .drawer-hamburger:hover {
  background-color: transparent !important;
}
.drawer-open .drawer-hamburger .drawer-hamburger-icon {
  margin-top: -30px;
  margin-right: -15px;
}
.drawer-open .drawer-hamburger .drawer-hamburger-icon,
.drawer-open .drawer-hamburger .drawer-hamburger-icon:before,
.drawer-open .drawer-hamburger .drawer-hamburger-icon:after {
  width: 60%;
  height: 2px;
}
.drawer-open .drawer-hamburger .drawer-hamburger-icon:before {
  background-color: white;
  transform: translateX(-50%) rotate(45deg);
}
.drawer-open .drawer-hamburger .drawer-hamburger-icon:after {
  display: block;
  background-color: white;
  transform: translateX(-50%) rotate(-45deg);
}
.drawer-open .is-fixed .drawer-hamburger .drawer-hamburger-icon {
  background-color: transparent;
}
.drawer-open .is-fixed .drawer-hamburger .dr-txt {
  color: white;
}

.drawer-nav {
  width: 28rem;
  background-color: rgba(242, 151, 21, 0.9);
}

.drawer--left .drawer-nav {
  left: -28rem;
}

.drawer--left.drawer-open .drawer-hamburger {
  left: 28rem;
}

.drawer-overlay {
  background-color: rgba(255, 255, 255, 0);
}

.drawer-nav ul {
  display: block;
  width: 100%;
  margin: 0 auto;
  text-align: center;
  padding-top: 100px;
}
.drawer-nav ul li {
  margin: 0;
  padding: 0;
  position: relative;
  text-align: center;
}
.drawer-nav ul li a {
  display: block;
  padding: 0.5em 1.5em;
  margin: 0;
  text-decoration: none;
  position: relative;
  font-size: 1.7rem;
  font-weight: 500;
  color: white;
  text-align: left;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}
.drawer-nav ul li a::after {
  content: "\f105";
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 25px;
  transform: translateY(-50%);
  font-size: 1.5rem;
  font-family: "Font Awesome 5 Pro";
  font-weight: normal;
}
.drawer-nav ul li a:hover {
  background-color: #f26416;
  color: white;
  text-decoration: none;
  filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
  opacity: 1;
  padding-left: 2em;
}
.drawer-nav ul li a:hover::before, .drawer-nav ul li a:hover::after {
  display: none;
}
.drawer-nav .sns {
  display: -webkit-flex;
  display: flex;
}
.drawer-nav .sns li {
  width: calc(100% / 3);
  margin: 0;
  font-size: 1.2rem;
  text-align: center;
  font-feature-settings: "palt";
  border: none;
}
.drawer-nav .sns li a {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  margin: 0 auto;
  padding: 0;
  width: 60px;
  height: 60px;
  background-color: red;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  color: white;
  font-size: 2.4rem;
  text-decoration: none;
}
.drawer-nav .sns li a:hover img {
  transform: scale(1.1);
}
.drawer-nav .sns li a.insta {
  background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJncmFkIiBncmFkaWVudFVuaXRzPSJvYmplY3RCb3VuZGluZ0JveCIgeDE9IjAuMCIgeTE9IjEuMCIgeDI9IjEuMCIgeTI9IjAuMCI+PHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2Y3YWEzNiIvPjxzdG9wIG9mZnNldD0iNTAlIiBzdG9wLWNvbG9yPSIjZDgzMzhmIi8+PHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSIjOTExY2I5Ii8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsbD0idXJsKCNncmFkKSIgLz48L3N2Zz4g');
  background-size: 100%;
  background-image: -webkit-gradient(linear, 0% 100%, 100% 0%, color-stop(0%, #f7aa36), color-stop(50%, #d8338f), color-stop(100%, #911cb9));
  background-image: -moz-linear-gradient(bottom, #f7aa36, #d8338f 50%, #911cb9 100%);
  background-image: -webkit-linear-gradient(bottom, #f7aa36, #d8338f 50%, #911cb9 100%);
  background-image: linear-gradient(to top right, #f7aa36, #d8338f 50%, #911cb9 100%);
}
.drawer-nav .sns li a.line {
  background-color: #03b902;
}
.drawer-nav .sns li a img {
  display: block;
  width: 50%;
}
.drawer-nav .line-btn {
  display: block;
  width: 80%;
  margin: 30px auto 0;
}
.drawer-nav .line-btn img {
  display: block;
  width: 100%;
}
.drawer-nav .form-btn {
  display: table;
  margin: 30px auto 0;
  padding: 1em 2em;
  font-size: 1.8rem;
  font-weight: 700;
  color: #1e1e1e;
  text-decoration: none;
}
.drawer-nav .form-btn i {
  display: inline-block;
  margin-right: 1em;
}

.dropdown-backdrop {
  display: none;
}

.drawer-dropdown {
  background-color: transparent;
  border: none;
}

.drawer-nav ul li .drawer-dropdown-menu {
  margin: 0;
  padding: 0;
  background-color: transparent;
}
.drawer-nav ul li .drawer-dropdown-menu ul.submenu {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 0;
}
.drawer-nav ul li .drawer-dropdown-menu ul.submenu li {
  width: 50%;
  font-size: 1.4rem;
  border-bottom: none;
}
.drawer-nav ul li .drawer-dropdown-menu ul.submenu li a {
  padding: 0.5em;
  position: relative;
}

/* ====================================================================== */
/* CONTENT */
/* ====================================================================== */
article {
  text-align: left;
  position: relative;
  overflow: hidden;
}

/* --------------------------------------------------- */
/* パラグラフ */
/* --------------------------------------------------- */
article p {
  margin-top: 50px;
}

/* --------------------------------------------------- */
/* Table */
/* --------------------------------------------------- */
article table {
  width: 100%;
  margin-top: 50px;
  border-collapse: collapse;
}

/* --------------------------------------------------- */
/* UL OL */
/* --------------------------------------------------- */
article ul,
article ol {
  margin-top: 50px;
}
article ul.list-disc li,
article ol.list-disc li {
  margin-left: 20px;
  list-style-type: disc;
}
article ul.list-none li,
article ol.list-none li {
  margin-left: 20px;
  list-style-type: none;
}
article ul.list-num li,
article ol.list-num li {
  margin-left: 20px;
  list-style-type: decimal;
}

/* --------------------------------------------------- */
/* Other */
/* --------------------------------------------------- */
article .pagenavi {
  margin-top: 70px;
  width: 100%;
  text-align: center;
}
@media screen and (max-width: 767px) {
  article .pagenavi {
    margin-top: 40px;
  }
}
article .pagenavi a {
  display: inline-block;
  margin: 0 15px;
  padding: 1em 2em;
  background-color: white;
  border: 1px solid #00439a;
  text-decoration: none;
  color: #00439a;
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  article .pagenavi a {
    margin: 0 10px;
    padding: 1em 1.5em;
    font-size: 1.4rem;
  }
}
article .pagenavi a:hover {
  background-color: #00439a;
  border-color: #00439a;
  color: white;
  filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
  opacity: 1;
}

/* ====================================================================== */
/* Footer */
/* ====================================================================== */
footer {
  margin: auto 0 0;
  width: 100%;
  position: relative;
  z-index: 30;
  padding: 15px 0;
  background-color: black;
}
footer .inner {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
}
footer .copyright {
  display: block;
  font-size: 1.1rem;
  color: rgba(255, 255, 255, 0.85);
  text-align: center;
}

#btm-btn {
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 200;
  display: none;
}
#btm-btn ul li a.fd {
  font-size: 2.8rem;
  font-weight: 600;
  color: #1e1e1e;
  position: relative;
  text-decoration: none;
  display: none;
}
#btm-btn ul li a.fd::before {
  content: "";
  display: inline-block;
  margin-right: 0;
  width: 38px;
  height: 32px;
  background: url(img/icon/fd.svg) no-repeat;
  background-size: contain;
  vertical-align: -0.15em;
}
#btm-btn ul li a.contact-btn {
  display: inline-block;
  padding: 10px 20px;
  background-color: #006b33;
  font-size: 1.4rem;
  color: #fff100;
  text-decoration: none;
  display: none;
}
#btm-btn ul li a.contact-btn::before {
  content: "";
  display: inline-block;
  margin-right: 0.5em;
  width: 21px;
  height: 14px;
  background: url(img/icon/mail_yellow.svg) no-repeat;
  background-size: contain;
  vertical-align: middle;
}
#btm-btn ul li a.pagetop {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  width: 40px;
  height: 70px;
  font-size: 1.2rem;
  text-decoration: none;
  line-height: 1.1;
  background-color: #f29715;
  color: white;
}
#btm-btn ul li a.pagetop i {
  font-size: 2.4rem;
}

/* ================================================================== */
/* COMMON */
/* ================================================================== */
.iziModal {
  max-width: 60% !important;
  margin-top: 180px !important;
  /*  margin-right: 50px !important;*/
}
.iziModal .wrap {
  margin: 0.5em;
  padding: 4em;
  overflow: hidden;
  text-align: left;
  background-color: white;
}
.iziModal .wrap p strong {
  font-size: 2.4rem;
}
.iziModal .wrap img {
  width: 280px;
  float: left;
  margin-right: 50px;
}

.contactbtn {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 20;
}
.contactbtn li {
  position: relative;
  z-index: 50;
}
.contactbtn li.web a {
  top: 51px;
}
.contactbtn li.web a::after {
  width: 20px;
  height: 20px;
  background: url(img/icon/envelope.svg) no-repeat;
  background-size: contain;
  left: 15px;
}
.contactbtn li a {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  width: 200px;
  max-width: 200px;
  height: 50px;
  padding-left: 60px;
  background-color: #00439a;
  font-size: 1.4rem;
  color: white;
  line-height: 1.2;
  text-align: right;
  position: absolute;
  right: -150px;
  top: 0;
  text-decoration: none;
  box-sizing: border-box;
}
.contactbtn li a:hover {
  right: 0;
  filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
  opacity: 1;
}
.contactbtn li a::after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background: url(img/icon/phone.svg) no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 20px;
  transform: translateY(-50%);
}

.fv {
  width: 100%;
  height: calc(100vh - 30px);
  max-height: calc(100vh - 30px);
  box-sizing: border-box;
  background: url(img/top/fv.png) no-repeat center;
  background-size: cover;
  background-color: #0176d4;
  position: relative;
  overflow: hidden;
  z-index: 1;
  /*スクロールダウン全体の場所*/
  /*Scrollテキストの描写*/
  /* 線の描写 */
  /*高さ・位置・透過が変化して線が上から下に動く*/
}
@media screen and (max-width: 767px) {
  .fv {
    max-height: calc(90vh - 30px);
  }
}
.fv-inner {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  width: 100%;
  height: 100%;
  background-color: rgba(11, 27, 48, 0.7);
  box-sizing: border-box;
}
.fv::before, .fv::after {
  content: "";
  position: absolute;
  bottom: 0;
  width: 0;
  height: 0;
  border-style: solid;
  z-index: 50;
}
.fv::before {
  left: 0;
  border-color: transparent transparent transparent white;
  border-width: 120px 0 0 50vw;
}
@media screen and (max-width: 767px) {
  .fv::before {
    border-width: 60px 0 0 50vw;
  }
}
.fv::after {
  right: 0;
  border-color: transparent white transparent transparent;
  border-width: 120px 50vw 0 0;
}
@media screen and (max-width: 767px) {
  .fv::after {
    border-width: 60px 50vw 0 0;
  }
}
.fv .logo {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  width: 80%;
  margin: 0 auto;
  color: white;
}
@media screen and (max-width: 767px) {
  .fv .logo {
    width: 100%;
  }
}
.fv .logo img {
  display: block;
  width: 100%;
  flex-shrink: 0;
}
.fv .logo img.logo-mark {
  width: 240px;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .fv .logo img.logo-mark {
    width: 150px;
  }
}
.fv .logo img.corpname {
  width: 320px;
}
@media screen and (max-width: 767px) {
  .fv .logo img.corpname {
    width: 260px;
  }
}
.fv .logo .jp-ttl {
  display: block;
  margin-top: 1em;
  font-size: 1.8rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .fv .logo .jp-ttl {
    font-size: 1.5rem;
  }
}
.fv-copy {
  margin: 30px 0 0;
  font-size: 3rem;
  font-weight: 300;
  color: white;
  text-align: center;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .fv-copy {
    font-size: 2rem;
  }
}
.fv-copy strong {
  font-size: 4.5rem;
}
@media screen and (max-width: 767px) {
  .fv-copy strong {
    font-size: 3rem;
  }
}
.under .fv {
  height: 260px;
  max-height: 260px;
  background: url(img/top/fv.png) no-repeat center top;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .under .fv {
    height: 220px;
    max-height: 220px;
  }
}
.under .fv::before {
  left: 0;
  border-color: transparent transparent transparent white;
  border-width: 120px 0 0 50vw;
}
@media screen and (max-width: 767px) {
  .under .fv::before {
    border-width: 60px 0 0 50vw;
  }
}
.under .fv::after {
  right: 0;
  border-color: transparent white transparent transparent;
  border-width: 120px 50vw 0 0;
}
@media screen and (max-width: 767px) {
  .under .fv::after {
    border-width: 60px 50vw 0 0;
  }
}
.under .fv .pg-ttl {
  font-size: 3.6rem;
  font-weight: 700;
  color: white;
  position: relative;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .under .fv .pg-ttl {
    margin-top: 60px;
    font-size: 2.8rem;
  }
}
.under .fv .pg-ttl .en {
  display: block;
  margin-top: 15px;
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .under .fv .pg-ttl .en {
    font-size: 1.3rem;
  }
}
.fv .scrolldown1 {
  /*描画位置※位置は適宜調整してください*/
  position: absolute;
  left: 50%;
  bottom: 10px;
  /*全体の高さ*/
  height: 50px;
}
.fv .scrolldown1 span {
  /*描画位置*/
  position: absolute;
  left: -15px;
  top: -15px;
  /*テキストの形状*/
  color: #eee;
  font-size: 0.7rem;
  letter-spacing: 0.05em;
}
.fv .scrolldown1::after {
  content: "";
  /*描画位置*/
  position: absolute;
  top: 0;
  /*線の形状*/
  width: 1px;
  height: 30px;
  background: #eee;
  /*線の動き1.4秒かけて動く。永遠にループ*/
  animation: pathmove 1.4s ease-in-out infinite;
  opacity: 0;
}
@keyframes pathmove {
  0% {
    height: 0;
    top: 0;
    opacity: 0;
  }
  30% {
    height: 30px;
    opacity: 1;
  }
  100% {
    height: 0;
    top: 50px;
    opacity: 0;
  }
}
.contactinfo {
  padding: 100px 0;
  background-color: #00439a;
}
#under-pg .contactinfo {
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  #under-pg .contactinfo {
    margin-top: 0;
  }
}
@media screen and (max-width: 767px) {
  .contactinfo {
    padding: 50px 0;
  }
}
.contactinfo-ttl {
  display: table;
  margin: 0 auto;
  font-size: 3.2rem;
  font-weight: 500;
  letter-spacing: 0.25em;
  position: relative;
  color: white;
  letter-spacing: 0.1em;
}
.contactinfo ul {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
@media screen and (max-width: 1040px) and (min-width: 768px) {
  .contactinfo ul {
    padding: 0 15px;
  }
}
@media screen and (max-width: 767px) {
  .contactinfo ul {
    -webkit-flex-direction: column;
    flex-direction: column;
  }
}
.contactinfo ul li {
  width: calc(100% / 2 - 25px);
  max-width: calc(100% / 2 - 25px);
}
@media screen and (max-width: 767px) {
  .contactinfo ul li {
    width: auto;
    max-width: initial;
  }
}
@media screen and (max-width: 767px) {
  .contactinfo ul li:nth-of-type(2) {
    margin-top: 30px;
  }
}
.contactinfo ul li a {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  width: 100%;
  height: 100%;
  max-height: 100%;
  padding: 30px 0;
  color: white;
  border: 2px solid white;
  box-sizing: border-box;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .contactinfo ul li a {
    padding: 15px 0;
  }
}
.contactinfo ul li a:hover {
  transform: scale(1.05);
}
.contactinfo ul li a.tel-link {
  pointer-events: none;
}
.contactinfo ul li a .lb {
  font-weight: 700;
}
.contactinfo ul li a strong {
  font-size: 3rem;
  font-weight: 700;
  position: relative;
}
@media screen and (max-width: 767px) {
  .contactinfo ul li a strong {
    font-size: 2.1rem;
  }
}
.contactinfo ul li a strong::before {
  content: "";
  display: inline-block;
  margin-right: 0.25em;
  width: 36px;
  height: 36px;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .contactinfo ul li a strong::before {
    width: 28px;
    height: 28px;
  }
}
.contactinfo ul li a strong small {
  font-size: 2.1rem;
}
@media screen and (max-width: 767px) {
  .contactinfo ul li a strong small {
    font-size: 1.4rem;
  }
}
.contactinfo ul li a strong.phone::before {
  background: url(img/icon/phone.svg) no-repeat center;
  background-size: contain;
}
.contactinfo ul li a strong.email::before {
  background: url(img/icon/envelope.svg) no-repeat center;
  background-size: contain;
}

.corpinfo {
  padding: 100px 0;
  background-color: #eff5fd;
  position: relative;
}
@media screen and (max-width: 767px) {
  .corpinfo {
    padding: 50px 0;
  }
}
.corpinfo::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: url(img/top/corpinfo.png) no-repeat center;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50);
  opacity: 0.5;
}
.corpinfo .inner {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 1040px) and (min-width: 768px) {
  .corpinfo .inner {
    padding: 0 15px;
  }
}
@media screen and (max-width: 767px) {
  .corpinfo .inner {
    -webkit-flex-direction: column;
    flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .corpinfo .corplogo {
    width: 100%;
  }
}
.corpinfo .corplogo img {
  display: block;
  height: 40px;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .corpinfo .corplogo img {
    margin: 0 auto;
    height: 30px;
  }
}
@media screen and (max-width: 767px) {
  .corpinfo .corp-blk {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 0 15px;
    margin-top: 30px;
  }
}
.corpinfo .corp-blk p {
  margin-top: 20px;
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .corpinfo .corp-blk p {
    font-size: 1.2rem;
  }
}
.corpinfo .corp-blk ul {
  display: -webkit-flex;
  display: flex;
  margin-top: 20px;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media screen and (max-width: 1040px) and (min-width: 768px) {
  .corpinfo .corp-blk ul {
    -webkit-flex-direction: column;
    flex-direction: column;
  }
}
.corpinfo .corp-blk ul li {
  width: calc(100% / 2);
  max-width: calc(100% / 2);
  padding-left: 1em;
  font-size: 1.4rem;
  position: relative;
  box-sizing: border-box;
}
@media screen and (max-width: 1040px) and (min-width: 768px) {
  .corpinfo .corp-blk ul li {
    width: auto;
    max-width: initial;
  }
}
@media screen and (max-width: 767px) {
  .corpinfo .corp-blk ul li {
    font-size: 1.2rem;
  }
}
.corpinfo .corp-blk ul li::before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  background-color: #999;
  position: absolute;
  top: 12px;
  left: 0;
}
.corpinfo .corp-blk .lb {
  margin: 0;
  font-size: 1.6rem;
  font-weight: 700;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  position: relative;
}
.corpinfo .corp-blk .lb::after {
  content: "";
  flex-grow: 1;
  border-bottom: 1px solid #333;
  margin-left: 10px;
  padding-right: 15px;
}

/* ================================================================== */
/* TOP */
/* ================================================================== */
.top .lead {
  padding: 100px 0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .top .lead {
    padding: 50px 0;
  }
}
.top .lead::before {
  content: "";
  display: block;
  width: 100%;
  height: 250px;
  background-color: #eff5fd;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
}
.top .lead::after {
  content: "";
  position: absolute;
  bottom: 250px;
  width: 0;
  height: 0;
  border-style: solid;
  z-index: 1;
  left: 0;
  border-color: transparent transparent transparent #eff5fd;
  border-width: 240px 0 0 100vw;
}
.top .lead .inner {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 1040px) and (min-width: 768px) {
  .top .lead .inner {
    padding: 0 15px;
  }
}
@media screen and (max-width: 767px) {
  .top .lead .inner {
    -webkit-flex-direction: column;
    flex-direction: column;
  }
}
.top .lead-blk {
  width: calc(100% / 2 - 25px);
  max-width: calc(100% / 2 - 25px);
  background-color: white;
  box-sizing: border-box;
  -moz-box-shadow: 20px 10px 35px rgba(184, 202, 226, 0.3);
  -webkit-box-shadow: 20px 10px 35px rgba(184, 202, 226, 0.3);
  box-shadow: 20px 10px 35px rgba(184, 202, 226, 0.3);
  position: relative;
}
@media screen and (max-width: 767px) {
  .top .lead-blk {
    width: auto;
    max-width: initial;
  }
}
.top .lead-blk-inner {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  width: 100%;
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  padding: 35px;
  z-index: 5;
  background-color: rgba(0, 0, 0, 0.3);
  box-sizing: border-box;
}
.top .lead-ttl {
  display: table;
  margin: 0 auto;
  padding-bottom: 0.5em;
  font-size: 3.2rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  position: relative;
  color: white;
  text-align: center;
}
.top .lead-ttl::after {
  content: "";
  display: inline-block;
  width: 100px;
  height: 1px;
  background-color: white;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.top .lead-ttl b {
  font-size: 5.2rem;
}
.top .lead-ttl small {
  display: block;
  margin-top: 5px;
  font-size: 1.4rem;
  font-weight: normal;
}
.top .lead p {
  color: white;
  font-weight: 700;
}
.top .lead a {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.top .lead a::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  background-color: black;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  transform: translateX(-50%) translateY(-50%);
  transform-origin: center center;
}
.top .lead a::after {
  content: "詳しくはこちら";
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  width: 150px;
  height: 50px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  z-index: 5;
  color: white;
  border: 1px solid white;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
}
.top .lead a:hover::before {
  width: 100%;
  height: 100%;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7;
}
.top .lead a:hover::after {
  filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
  opacity: 1;
}
.top .lead .business {
  background: url(img/top/business.png) no-repeat center center;
  background-size: cover;
  text-align: center;
}
.top .lead .business .lead-ttl b {
  color: #f29715;
}
.top .lead .recruit {
  background: url(img/top/recruit.png) no-repeat center center;
  background-size: cover;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .top .lead .recruit {
    margin-top: 50px;
  }
}
.top .lead .recruit .lead-ttl b {
  color: #1079e6;
}
.top .information {
  padding: 0 0 100px;
  position: relative;
  background-color: #eff5fd;
}
@media screen and (max-width: 767px) {
  .top .information {
    padding-bottom: 50px;
  }
}
.top .information-ttl {
  display: table;
  margin: 0 auto;
  padding-bottom: 0.5em;
  font-size: 3.2rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  position: relative;
}
.top .information-ttl::after {
  content: "";
  display: inline-block;
  width: 100px;
  height: 1px;
  background-color: #00439a;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.top .information-ttl small {
  display: block;
  margin-top: 5px;
  font-size: 1.4rem;
  font-weight: normal;
}
.top .information ul {
  display: table;
  margin: 50px auto 0;
  min-width: 600px;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .top .information ul {
    padding: 0 40px;
    min-width: initial;
  }
}
.top .information ul li {
  padding: 0.25em 0;
  display: -webkit-flex;
  display: flex;
  border-bottom: 1px solid #ccc;
}
@media screen and (max-width: 767px) {
  .top .information ul li {
    -webkit-flex-direction: column;
    flex-direction: column;
  }
}
.top .information ul li .date {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  width: 120px;
  min-height: 30px;
  color: #00439a;
  font-size: 1.3rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .top .information ul li .date {
    font-size: 1.1rem;
  }
}
.top .information ul li a {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  min-height: 30px;
  width: calc(100% - 120px);
  font-size: 1.6rem;
  font-weight: 500;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .top .information ul li a {
    width: auto;
    font-size: 1.4rem;
  }
}

/* ================================================================== */
/* Under */
/* ================================================================== */
.under {
  /* ================================================================== */
  /* 業務内容 */
  /* ================================================================== */
  /* ================================================================== */
  /* 製品紹介 */
  /* ================================================================== */
  /* ================================================================== */
  /* 設備情報 */
  /* ================================================================== */
  /* ================================================================== */
  /* 会社案内 */
  /* ================================================================== */
  /* ================================================================== */
  /* お問い合わせ */
  /* ================================================================== */
  /* ================================================================== */
  /* Single */
  /* ================================================================== */
}
.under .ct {
  padding: 50px 0;
  position: relative;
}
.under .ct .inner {
  position: relative;
  z-index: 10;
  overflow: hidden;
}
.under .ct .pg-img {
  display: block;
  width: 100%;
}
.under .ct .pg-nav {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .under .ct .pg-nav {
    margin-top: 30px;
    -webkit-justify-content: space-between;
    justify-content: space-between;
  }
}
.under .ct .pg-nav li {
  margin: 0 1em;
}
@media screen and (max-width: 767px) {
  .under .ct .pg-nav li {
    width: calc(100% / 3 - 10px);
    margin: 0;
  }
}
.under .ct .pg-nav li a {
  display: block;
  padding: 0.75em 3em;
  font-size: 1.8rem;
  font-weight: 500;
  border: 1px solid #00439a;
  text-decoration: none;
  position: relative;
}
@media screen and (max-width: 767px) {
  .under .ct .pg-nav li a {
    padding: 0.5em 1em;
    font-size: 1.4rem;
    line-height: 1.2;
    text-align: center;
  }
}
.under .ct .pg-nav li a:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
  opacity: 1;
  background-color: #00439a;
  color: white;
}
.under .ct .pg-nav li a:hover::before {
  height: 15px;
  filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
  opacity: 1;
}
.under .ct .pg-nav li a:hover::after {
  top: 60%;
  transform: translateY(-40%);
}
@media screen and (max-width: 767px) {
  .under .ct .pg-nav li a:hover::after {
    top: 50%;
    transform: translateY(-50%);
  }
}
.under .ct .pg-nav li a::before {
  content: "";
  display: inline-block;
  width: 1px;
  height: 0;
  background-color: white;
  position: absolute;
  top: 20px;
  right: 24px;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
}
@media screen and (max-width: 767px) {
  .under .ct .pg-nav li a::before {
    display: none;
  }
}
.under .ct .pg-nav li a::after {
  content: "\f107";
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  font-size: 1.3rem;
  font-family: "Font Awesome 5 Pro";
  font-weight: normal;
}
@media screen and (max-width: 767px) {
  .under .ct .pg-nav li a::after {
    right: 10px;
  }
}
.under .ct-ttl {
  padding-left: 40px;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  font-size: 2.4rem;
  font-weight: 700;
  position: relative;
  min-height: 60px;
}
@media screen and (max-width: 767px) {
  .under .ct-ttl {
    padding-left: 25px;
    font-size: 1.8rem;
  }
}
.under .ct-ttl::before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 60px;
  background-color: #00439a;
  box-sizing: border-box;
  border-bottom: 30px solid #f29715;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .under .ct-ttl::before {
    height: 50px;
    border-bottom: 25px solid #f29715;
  }
}
.under .ct-ttl::after {
  content: "";
  flex-grow: 1;
  border-bottom: 1px solid #1e1e1e;
  margin-left: 20px;
  padding-right: 20px;
}
.under .ct-ttl small {
  display: inline-block;
  margin-left: 1.5em;
  font-size: 1.3rem;
  font-weight: normal;
}
@media screen and (max-width: 767px) {
  .under .ct-ttl small {
    margin-left: 1em;
    font-size: 1rem;
  }
}
.under .pg-post::before, .under .pg-post::after {
  display: none;
}
.under .pg-post h1 {
  clear: both;
  display: block;
  margin-bottom: 50px;
  padding: 1em;
  font-size: 3rem;
  font-weight: 700;
  color: #00439a;
  position: relative;
  overflow: hidden;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .under .pg-post h1 {
    padding: 1em .5em;
    font-size: 2rem;
  }
}
.under .pg-post h1::after {
  content: "";
  display: block;
  width: 100%;
  height: 4px;
  background-color: #00439a;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .under .pg-post h1::after {
    height: 3px;
  }
}
.under .pg-post h2 {
  margin-bottom: 50px;
  padding-left: 40px;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  font-size: 2.4rem;
  font-weight: 700;
  position: relative;
  min-height: 60px;
}
@media screen and (max-width: 767px) {
  .under .pg-post h2 {
    padding-left: 25px;
    font-size: 1.8rem;
    min-height: 50px;
  }
}
.under .pg-post h2::before {
  content: "";
  display: inline-block;
  width: 4px;
  height: 60px;
  background-color: #00439a;
  box-sizing: border-box;
  border-bottom: 30px solid #f29715;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .under .pg-post h2::before {
    height: 50px;
    border-bottom: 25px solid #f29715;
  }
}
.under .pg-post h2::after {
  content: "";
  flex-grow: 1;
  border-bottom: 1px solid #1e1e1e;
  margin-left: 20px;
  padding-right: 20px;
}
.under .pg-post h3 {
  margin: 0 0 50px;
  padding: 0.75em 1em;
  font-size: 2rem;
  font-weight: 700;
  border-bottom: 2px solid #d9e1ea;
  position: relative;
}
@media screen and (max-width: 767px) {
  .under .pg-post h3 {
    font-size: 1.7rem;
  }
}
.under .pg-post h3::before {
  content: "";
  display: inline-block;
  width: 150px;
  height: 2px;
  background-color: #00439a;
  position: absolute;
  bottom: -2px;
  left: 0;
}
.under .pg-post h4 {
  margin: 0 0 50px;
  font-size: 2.1rem;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .under .pg-post h4 {
    font-size: 1.6rem;
  }
}
.under .pg-post img {
  height: auto;
  margin: 0 0 50px;
  max-width: 100%;
}
.under .pg-post img.aligncenter {
  display: block;
  margin: 0 auto 30px;
}
.under .pg-post img.alignleft {
  margin: 0 50px 30px 0;
  float: left;
}
.under .pg-post img.alignright {
  margin: 0 0 30px 50px;
  float: right;
}
.under .pg-post p {
  margin: 0 0 50px;
}
.under .pg-post ul {
  margin: 0 0 50px;
}
.under .pg-post ul li {
  margin-left: 1em;
  list-style-type: disc;
}
.under .pg-post ol {
  margin: 0 0 50px;
}
.under .pg-post ol li {
  margin-left: 1em;
  list-style-type: decimal;
}
.under .pg-post table {
  width: 100%;
  margin: 0 0 50px;
  border-collapse: collapse;
  box-sizing: border-box;
}
.under .pg-post table th,
.under .pg-post table td {
  padding: 1em 2em;
  border: 2px solid white;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .under .pg-post table th,
  .under .pg-post table td {
    padding: 0.75em;
  }
}
.under .pg-post table th {
  width: 25%;
  max-width: 25%;
  background-color: #f2f2f2;
  text-align: right;
}
.under .pg-post table td p,
.under .pg-post table td ul,
.under .pg-post table td ol {
  margin: 0 0 10px;
}
.under .pg-post table td p:last-child,
.under .pg-post table td ul:last-child,
.under .pg-post table td ol:last-child {
  margin-bottom: 0;
}
.under-service .ct-1 {
  position: relative;
}
.under-service .ct-1 .lead {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .under-service .ct-1 .lead {
    margin-top: 0;
  }
}
.under-service .ct-1 .sv {
  margin-top: 100px;
  padding-bottom: 100px;
  border-bottom: 1px solid #1e1e1e;
}
@media screen and (max-width: 767px) {
  .under-service .ct-1 .sv {
    margin-top: 40px;
    padding-bottom: 40px;
  }
}
.under-service .ct-1 .sv:last-child {
  padding-bottom: 0;
  border-bottom: none;
}
.under-service .ct-1 .sv-ttl {
  font-size: 3.8rem;
  font-weight: 700;
  color: #00439a;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .under-service .ct-1 .sv-ttl {
    font-size: 2.8rem;
    text-align: center;
  }
}
.under-service .ct-1 .sv-ttl2 {
  padding: 1em;
  padding-left: 2.5em;
  background-color: #00439a;
  font-size: 2.5rem;
  font-weight: 700;
  color: white;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .under-service .ct-1 .sv-ttl2 {
    padding-left: 2em;
    font-size: 1.8rem;
  }
}
.under-service .ct-1 .sv-ttl2::before {
  content: "";
  display: inline-block;
  width: 15px;
  height: 70%;
  background-color: rgba(255, 255, 255, 0.7);
  position: absolute;
  top: 50%;
  left: 15px;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .under-service .ct-1 .sv-ttl2::before {
    width: 10px;
  }
}
.under-service .ct-1 .sv-ttl2::after {
  content: "";
  display: block;
  width: 300px;
  height: 300px;
  background-color: rgba(255, 255, 255, 0.2);
  position: absolute;
  top: 50%;
  right: -100px;
  transform: translateY(-50%) rotate(20deg);
}
@media screen and (max-width: 767px) {
  .under-service .ct-1 .sv-ttl2::after {
    right: -200px;
  }
}
.under-service .ct-1 .sv-inner {
  margin-top: 50px;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .under-service .ct-1 .sv-inner {
    -webkit-flex-direction: column;
    flex-direction: column;
  }
}
.under-service .ct-1 .sv figure {
  display: block;
  width: 550px;
}
@media screen and (max-width: 1040px) and (min-width: 768px) {
  .under-service .ct-1 .sv figure {
    width: 55%;
  }
}
@media screen and (max-width: 767px) {
  .under-service .ct-1 .sv figure {
    width: 100%;
  }
}
.under-service .ct-1 .sv figure img {
  display: block;
  width: 100%;
  height: 360px;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .under-service .ct-1 .sv figure img {
    height: 210px;
  }
}
.under-service .ct-1 .sv-txt {
  width: calc(100% - 550px - 70px);
  position: relative;
}
@media screen and (max-width: 1040px) and (min-width: 768px) {
  .under-service .ct-1 .sv-txt {
    width: calc(100% - 55% - 50px);
  }
}
@media screen and (max-width: 767px) {
  .under-service .ct-1 .sv-txt {
    margin-top: 30px;
    width: auto;
  }
}
.under-service .ct-1 .sv-txt::before {
  content: "";
  display: inline-block;
  width: 350px;
  height: 270px;
  background: url(img/common/logo-blue.svg) no-repeat center;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=10);
  opacity: 0.1;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .under-service .ct-1 .sv-txt::before {
    width: 200px;
    height: 150px;
  }
}
.under-service .ct-1 .sv-txt h4 {
  margin-top: 30px;
  display: block;
  padding: .75em 1em;
  background-color: #00439a;
  font-size: 1.8rem;
  font-weight: 500;
  color: white;
}
.under-service .ct-1 .sv-txt h4 + p {
  margin-top: 15px;
}
.under-service .ct-1 .sv-txt p {
  position: relative;
  z-index: 5;
}
@media screen and (max-width: 767px) {
  .under-service .ct-1 .sv-txt p {
    margin-top: 30px;
  }
}
.under-service .ct-1 .sv-txt p:first-child {
  margin-top: 0;
}
.under-service .ct-1 .sv-txt .more-btn {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  width: 240px;
  height: 60px;
  border: 2px solid #00439a;
  color: #00439a;
  margin: 50px auto 0;
  font-size: 1.8rem;
  font-weight: 500;
  text-decoration: none;
  position: relative;
  z-index: 5;
  background-color: white;
}
@media screen and (max-width: 767px) {
  .under-service .ct-1 .sv-txt .more-btn {
    margin-top: 30px;
  }
}
.under-service .ct-1 .sv-txt .more-btn:hover {
  width: 260px;
  filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
  opacity: 1;
  background-color: #00439a;
  color: white;
}
.under-service .ct-1 .sv-txt .more-btn::after {
  content: "\f105";
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  font-size: 1.6rem;
  font-family: "Font Awesome 5 Pro";
  font-weight: normal;
}
.under-service .ct-1 .sv:nth-of-type(2n) .sv-inner {
  -webkit-flex-direction: row-reverse;
  flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  .under-service .ct-1 .sv:nth-of-type(2n) .sv-inner {
    -webkit-flex-direction: column;
    flex-direction: column;
  }
}
.under-product .ct-1 {
  position: relative;
}
@media screen and (max-width: 767px) {
  .under-product .ct-1 .pg-nav {
    margin-top: 0;
  }
}
.under-product .ct-1 .itemimgarea {
  margin-top: 70px;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .under-product .ct-1 .itemimgarea {
    margin-top: 40px;
    -webkit-flex-direction: column;
    flex-direction: column;
  }
}
.under-product .ct-1 .itemimgarea #i_slider1, .under-product .ct-1 .itemimgarea #i_slider2, .under-product .ct-1 .itemimgarea #i_slider3 {
  display: block;
  width: 320px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .under-product .ct-1 .itemimgarea #i_slider1, .under-product .ct-1 .itemimgarea #i_slider2, .under-product .ct-1 .itemimgarea #i_slider3 {
    width: 100%;
  }
}
.under-product .ct-1 .itemimgarea #i_slider1 .slide-item img, .under-product .ct-1 .itemimgarea #i_slider2 .slide-item img, .under-product .ct-1 .itemimgarea #i_slider3 .slide-item img {
  width: 320px;
  height: 260px;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .under-product .ct-1 .itemimgarea #i_slider1 .slide-item img, .under-product .ct-1 .itemimgarea #i_slider2 .slide-item img, .under-product .ct-1 .itemimgarea #i_slider3 .slide-item img {
    width: 100%;
  }
}
.under-product .ct-1 .itemimgarea .thumbnail-list {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  margin: 0;
  width: calc(100% - 320px - 100px);
}
@media screen and (max-width: 767px) {
  .under-product .ct-1 .itemimgarea .thumbnail-list {
    width: auto;
  }
}
.under-product .ct-1 .itemimgarea .thumbnail-list .thumbnail-item {
  width: calc(100%/5);
  box-sizing: border-box;
  position: relative;
  text-align: center;
  font-size: 1.3rem;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .under-product .ct-1 .itemimgarea .thumbnail-list .thumbnail-item {
    margin-top: 30px;
    width: calc(100%/3 - 10px);
    margin-right: calc((100% - (100% / 3 - 10px) * 3) / 2);
  }
}
@media screen and (max-width: 767px) {
  .under-product .ct-1 .itemimgarea .thumbnail-list .thumbnail-item:nth-of-type(3n) {
    margin-right: 0;
  }
}
.under-product .ct-1 .itemimgarea .thumbnail-list .thumbnail-item.thumbnail-current img {
  border: 1px solid #00439a;
}
.under-product .ct-1 .itemimgarea .thumbnail-list .thumbnail-item:hover {
  cursor: pointer;
}
.under-product .ct-1 .itemimgarea .thumbnail-list .thumbnail-item img {
  display: block;
  width: 120px;
  height: 100px;
  object-fit: cover;
  margin: 0 auto;
  border: 1px solid white;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .under-product .ct-1 .itemimgarea .thumbnail-list .thumbnail-item img {
    width: 100%;
  }
}
.under-product .ct-1 .itemimgarea .thumbnail-list .thumbnail-item span {
  display: block;
  padding: .5em 0;
}
.under-product .ct-1 .pr-list {
  margin-top: 70px;
}
@media screen and (max-width: 767px) {
  .under-product .ct-1 .pr-list {
    margin-top: 40px;
  }
}
.under-product .ct-1 .pr-list-inner {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.under-product .ct-1 .pr-list-inner figure {
  margin-top: 50px;
  width: calc(100% / 6 - 25px);
  margin-right: calc((100% - (100% / 6 - 25px) * 6) / 5);
}
@media screen and (max-width: 1040px) and (min-width: 768px) {
  .under-product .ct-1 .pr-list-inner figure {
    width: calc(100% / 4 - 25px);
    margin-right: calc((100% - (100% / 4 - 25px) * 4) / 3);
  }
}
@media screen and (max-width: 767px) {
  .under-product .ct-1 .pr-list-inner figure {
    margin-top: 30px;
    width: calc(100% / 3 - 15px);
    margin-right: calc((100% - (100% / 3 - 15px) * 3) / 2);
  }
}
@media screen and (max-width: 1040px) and (min-width: 768px) {
  .under-product .ct-1 .pr-list-inner figure:nth-of-type(3n) {
    margin-right: calc((100% - (100% / 4 - 25px) * 4) / 3);
  }
}
@media screen and (max-width: 767px) {
  .under-product .ct-1 .pr-list-inner figure:nth-of-type(3n) {
    margin-right: 0;
  }
}
@media screen and (max-width: 1040px) and (min-width: 768px) {
  .under-product .ct-1 .pr-list-inner figure:nth-of-type(4n) {
    margin-right: 0;
  }
}
.under-product .ct-1 .pr-list-inner figure:nth-of-type(6n) {
  margin-right: 0;
}
@media screen and (max-width: 1040px) and (min-width: 768px) {
  .under-product .ct-1 .pr-list-inner figure:nth-of-type(6n) {
    margin-right: calc((100% - (100% / 4 - 25px) * 4) / 3);
  }
}
.under-product .ct-1 .pr-list-inner figure img {
  display: block;
  width: 100%;
  height: 130px;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .under-product .ct-1 .pr-list-inner figure img {
    height: 90px;
  }
}
.under-product .ct-1 .pr-list-inner figcaption {
  display: block;
  margin-top: 1em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .under-product .ct-1 .pr-list-inner figcaption {
    font-size: 1.2rem;
  }
}
.under-equipment .ct-1 {
  position: relative;
}
.under-equipment .ct-1 .eq-tb {
  width: 100%;
  margin: 50px auto 0;
}
.under-equipment .ct-1 .eq-tb caption {
  font-size: 1.2rem;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .under-equipment .ct-1 .eq-tb caption {
    font-size: 1.1rem;
  }
}
@media screen and (max-width: 767px) {
  .under-equipment .ct-1 .eq-tb tr {
    display: block;
    margin-bottom: 15px;
  }
}
.under-equipment .ct-1 .eq-tb tr:nth-of-type(2n) td {
  background-color: rgba(236, 241, 247, 0.5);
}
.under-equipment .ct-1 .eq-tb th,
.under-equipment .ct-1 .eq-tb td {
  padding: 1em;
  line-height: 1.3;
  box-sizing: border-box;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .under-equipment .ct-1 .eq-tb th,
  .under-equipment .ct-1 .eq-tb td {
    display: block;
    padding: 0.5em;
    font-size: 1.3rem;
  }
}
.under-equipment .ct-1 .eq-tb th {
  font-weight: bold;
  position: relative;
  background-color: #00439a;
  color: white;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .under-equipment .ct-1 .eq-tb th {
    display: none;
  }
}
.under-equipment .ct-1 .eq-tb th::after {
  content: "";
  display: inline-block;
  width: 1px;
  height: calc(100% - 35px);
  background-color: #ccc;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.under-equipment .ct-1 .eq-tb td {
  background-color: #ecf1f7;
  border-bottom: 1px solid white;
  position: relative;
}
@media screen and (max-width: 767px) {
  .under-equipment .ct-1 .eq-tb td {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    width: 100%;
    max-width: 100%;
    min-height: 40px;
    padding: 0 0.5em 0 100px;
    padding-left: 100px;
    vertical-align: middle;
  }
  .under-equipment .ct-1 .eq-tb td::before {
    content: "";
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    width: 80px;
    max-width: 80px;
    height: 100%;
    padding-left: 10px;
    background-color: #00439a;
    color: white;
    position: absolute;
    top: 0;
    left: 0;
    box-sizing: border-box;
  }
}
.under-equipment .ct-1 .eq-tb td:nth-of-type(1) {
  width: 30%;
  max-width: 30%;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .under-equipment .ct-1 .eq-tb td:nth-of-type(1) {
    width: 100%;
    max-width: initial;
  }
  .under-equipment .ct-1 .eq-tb td:nth-of-type(1)::before {
    content: "機器名";
  }
}
@media screen and (max-width: 767px) {
  .under-equipment .ct-1 .eq-tb td:nth-of-type(2)::before {
    content: "概要";
  }
}
@media screen and (max-width: 767px) {
  .under-equipment .ct-1 .eq-tb td:nth-of-type(3)::before {
    content: "台数";
  }
}
@media screen and (max-width: 767px) {
  .under-equipment .ct-1 .eq-tb td:nth-of-type(4)::before {
    content: "メーカー";
  }
}
.under-equipment .ct-1 .eq-tb td:nth-of-type(n + 3) {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .under-equipment .ct-1 .eq-tb td:nth-of-type(n + 3) {
    text-align: left;
  }
}
.under-company .ct-1 {
  position: relative;
}
.under-company .ct-1 .lead {
  margin-top: 30px;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  background-color: #eef2f6;
  position: relative;
}
@media screen and (max-width: 767px) {
  .under-company .ct-1 .lead {
    margin-top: 0;
    -webkit-flex-direction: column;
    flex-direction: column;
  }
}
.under-company .ct-1 .lead figure {
  display: block;
  width: 400px;
}
@media screen and (max-width: 767px) {
  .under-company .ct-1 .lead figure {
    width: 100%;
  }
}
.under-company .ct-1 .lead figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .under-company .ct-1 .lead figure img {
    height: 200px;
  }
}
.under-company .ct-1 .lead p {
  display: block;
  margin: 0;
  width: calc(100% - 400px);
  max-width: calc(100% - 400px);
  box-sizing: border-box;
  padding: 40px;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .under-company .ct-1 .lead p {
    width: auto;
    max-width: initial;
    padding: 20px;
  }
}
.under-company .ct-1 .lead .logo {
  display: block;
  width: 200px;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .under-company .ct-1 .lead .logo {
    display: none;
  }
}
.under-company .ct-1 p.lead-txt {
  font-size: 1.6rem;
  font-weight: 500;
  margin-top: 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .under-company .ct-1 p.lead-txt {
    font-size: 1.4rem;
    text-align: left;
  }
}
.under-company .ct-1 p.lead-txt strong {
  font-size: 2.8rem;
}
@media screen and (max-width: 767px) {
  .under-company .ct-1 p.lead-txt strong {
    display: block;
    font-size: 2rem;
    line-height: 1.5;
    text-align: center;
  }
}
.under-company .ct-1 .corp-tb {
  width: 75%;
  margin: 100px auto 0;
}
@media screen and (max-width: 1040px) and (min-width: 768px) {
  .under-company .ct-1 .corp-tb {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .under-company .ct-1 .corp-tb {
    width: 100%;
    margin-top: 50px;
  }
}
.under-company .ct-1 .corp-tb th,
.under-company .ct-1 .corp-tb td {
  padding: 1em 1em;
  box-sizing: border-box;
  border-bottom: 1px solid #ccc;
}
@media screen and (max-width: 767px) {
  .under-company .ct-1 .corp-tb th,
  .under-company .ct-1 .corp-tb td {
    font-size: 1.3rem;
    line-height: 1.6;
  }
}
.under-company .ct-1 .corp-tb th {
  width: 25%;
  max-width: 25%;
  font-weight: 500;
  position: relative;
  border-bottom: 1px solid #00439a;
}
.under-company .ct-1 .corp-tb th::after {
  content: "";
  display: inline-block;
  width: 1px;
  height: calc(100% - 35px);
  background-color: #ccc;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
.under-company .ct-1 .map {
  margin-top: 100px;
  display: block;
  width: 100%;
  height: 500px;
}
@media screen and (max-width: 767px) {
  .under-company .ct-1 .map {
    margin-top: 50px;
    height: 210px;
  }
}
.under-contact .ct-contact::before, .under-contact .ct-contact::after {
  display: none;
}
.under-contact .ct-contact .ct-ttl-2 {
  display: table;
  margin: 50px auto 0;
  padding: 0 0 35px;
  font-size: 2.5rem;
  font-weight: 500;
  color: #00439a;
  position: relative;
}
@media screen and (max-width: 767px) {
  .under-contact .ct-contact .ct-ttl-2 {
    font-size: 1.8rem;
  }
}
.under-contact .ct-contact .ct-ttl-2::after {
  content: "";
  display: inline-block;
  width: 1px;
  height: 25px;
  background-color: #00439a;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.under-contact .ct-contact p.lead-txt {
  font-size: 2.1rem;
  font-weight: 500;
  margin-top: 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .under-contact .ct-contact p.lead-txt {
    font-size: 1.6rem;
    line-height: 1.5;
  }
}
.under-contact .ct-contact .phoneinfo {
  width: 70%;
  max-width: 70%;
  margin: 30px auto 0;
  padding: 25px;
  border: 8px solid #00439a;
  box-sizing: border-box;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .under-contact .ct-contact .phoneinfo {
    width: 100%;
    max-width: 100%;
    padding: 15px;
    border-width: 5px;
  }
}
.under-contact .ct-contact .phoneinfo p {
  display: inline-block;
  margin: 0;
  padding: 0 0 0 40px;
  font-size: 3.2rem;
  font-weight: 700;
  color: #00439a;
  letter-spacing: 0.05em;
  position: relative;
}
@media screen and (max-width: 767px) {
  .under-contact .ct-contact .phoneinfo p {
    padding-left: 25px;
    font-size: 2.4rem;
  }
}
.under-contact .ct-contact .phoneinfo p::before {
  content: "";
  display: inline-block;
  width: 28px;
  height: 28px;
  background: url(img/icon/phone-blue.svg) no-repeat center;
  background-size: contain;
  position: absolute;
  top: 0.65em;
  left: 0;
}
@media screen and (max-width: 767px) {
  .under-contact .ct-contact .phoneinfo p::before {
    width: 20px;
    height: 20px;
  }
}
.under-contact .ct-contact .phoneinfo p small {
  font-size: 1.6rem;
  letter-spacing: 0;
  vertical-align: middle;
  font-weight: normal;
}
@media screen and (max-width: 767px) {
  .under-contact .ct-contact .phoneinfo p small {
    display: block;
    font-size: 1.3rem;
  }
}
.under-contact .ct-contact .mailform {
  padding: 0 100px;
  box-sizing: border-box;
}
@media screen and (max-width: 1040px) and (min-width: 768px) {
  .under-contact .ct-contact .mailform {
    padding: 0;
  }
}
@media screen and (max-width: 767px) {
  .under-contact .ct-contact .mailform {
    padding: 0;
  }
}
.under-contact .ct-contact .notnull {
  display: inline-block;
  margin-left: 1em;
  padding: 0.35em 0.5em 0.5em;
  background-color: #f29715;
  color: white;
  font-size: 1.1rem;
  font-weight: normal;
  line-height: 1;
}
.under-contact .ct-contact .inp_mes {
  text-align: center;
}
.under-contact .ct-contact .conf_mes {
  display: none;
}
.under-contact .ct-contact .formbox table th,
.under-contact .ct-contact .formbox table td {
  padding: 0.75em 0;
  box-sizing: border-box;
  vertical-align: top;
}
@media screen and (max-width: 767px) {
  .under-contact .ct-contact .formbox table th,
  .under-contact .ct-contact .formbox table td {
    display: block;
  }
}
.under-contact .ct-contact .formbox table th {
  width: 25%;
  max-width: 25%;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .under-contact .ct-contact .formbox table th {
    width: auto;
    max-width: initial;
  }
}
.under-contact .ct-contact .formbox table td .row {
  margin-top: 0.75em;
  overflow: hidden;
}
.under-contact .ct-contact .formbox table td .col {
  margin: 0 0.5em;
}
.under-contact .ct-contact .formbox table td input[type="text"],
.under-contact .ct-contact .formbox table td input[type="email"],
.under-contact .ct-contact .formbox table td select,
.under-contact .ct-contact .formbox table td textarea {
  font-size: 1.6rem;
  margin-bottom: 1em;
  padding: 0.75em;
  border: none;
  background-color: #f7f7f7;
  box-sizing: border-box;
  -moz-border-radius: 7px;
  -webkit-border-radius: 7px;
  border-radius: 7px;
}
@media screen and (max-width: 767px) {
  .under-contact .ct-contact .formbox table td input[type="text"],
  .under-contact .ct-contact .formbox table td input[type="email"],
  .under-contact .ct-contact .formbox table td select,
  .under-contact .ct-contact .formbox table td textarea {
    font-size: 1.4rem;
  }
}
.under-contact .ct-contact .formbox table td input[type="text"]::placeholder,
.under-contact .ct-contact .formbox table td input[type="email"]::placeholder,
.under-contact .ct-contact .formbox table td select::placeholder,
.under-contact .ct-contact .formbox table td textarea::placeholder {
  color: rgba(0, 0, 0, 0.5);
}
@media screen and (max-width: 767px) {
  .under-contact .ct-contact .formbox table td input[type="text"]::placeholder,
  .under-contact .ct-contact .formbox table td input[type="email"]::placeholder,
  .under-contact .ct-contact .formbox table td select::placeholder,
  .under-contact .ct-contact .formbox table td textarea::placeholder {
    font-size: 1.3rem;
  }
}
.under-contact .ct-contact .formbox table td input[type="text"]:nth-last-of-type(1),
.under-contact .ct-contact .formbox table td input[type="email"]:nth-last-of-type(1),
.under-contact .ct-contact .formbox table td select:nth-last-of-type(1),
.under-contact .ct-contact .formbox table td textarea:nth-last-of-type(1) {
  margin-bottom: 0;
}
.under-contact .ct-contact .formbox table td input[type="text"]:disabled,
.under-contact .ct-contact .formbox table td input[type="email"]:disabled,
.under-contact .ct-contact .formbox table td select:disabled,
.under-contact .ct-contact .formbox table td textarea:disabled {
  background-color: #f1f1f1;
}
.under-contact .ct-contact .formbox table td input[type="radio"],
.under-contact .ct-contact .formbox table td input[type="checkbox"] {
  width: 20px;
  height: 20px;
  vertical-align: -0.2em;
}
.under-contact .ct-contact .formbox table td select {
  width: auto;
  font-size: 100%;
}
.under-contact .ct-contact .formbox table td textarea {
  width: 90%;
  max-width: 90%;
  font-family: sans-serif;
}
@media screen and (max-width: 767px) {
  .under-contact .ct-contact .formbox table td textarea {
    width: 100%;
    max-width: 100%;
  }
}
.under-contact .ct-contact .formbox table td input[name="御社名"] {
  width: 70%;
}
@media screen and (max-width: 767px) {
  .under-contact .ct-contact .formbox table td input[name="御社名"] {
    width: 100%;
    max-width: 100%;
  }
}
.under-contact .ct-contact .formbox table td input[name="お名前（姓）"],
.under-contact .ct-contact .formbox table td input[name="お名前（名）"],
.under-contact .ct-contact .formbox table td input[name="お名前（セイ）"],
.under-contact .ct-contact .formbox table td input[name="お名前（メイ）"] {
  width: 30%;
}
@media screen and (max-width: 767px) {
  .under-contact .ct-contact .formbox table td input[name="お名前（姓）"],
  .under-contact .ct-contact .formbox table td input[name="お名前（名）"],
  .under-contact .ct-contact .formbox table td input[name="お名前（セイ）"],
  .under-contact .ct-contact .formbox table td input[name="お名前（メイ）"] {
    width: 45%;
    max-width: 45%;
  }
}
.under-contact .ct-contact .formbox table td input[name="住所1"],
.under-contact .ct-contact .formbox table td input[name="住所2"] {
  width: 90%;
  max-width: 90%;
}
@media screen and (max-width: 767px) {
  .under-contact .ct-contact .formbox table td input[name="住所1"],
  .under-contact .ct-contact .formbox table td input[name="住所2"] {
    width: 100%;
    max-width: 100%;
  }
}
.under-contact .ct-contact .formbox table td input[name="郵便番号"] {
  width: 8em;
  margin-bottom: 1em;
  font-size: 1.6rem;
  padding: 0.75em;
}
.under-contact .ct-contact .formbox table td input[type="email"] {
  width: 90%;
  max-width: 90%;
}
@media screen and (max-width: 767px) {
  .under-contact .ct-contact .formbox table td input[type="email"] {
    width: 100%;
    max-width: 100%;
  }
}
.under-contact .ct-contact .formbox table td .mwform-tel-field input,
.under-contact .ct-contact .formbox table td .mwform-zip-field input {
  width: auto;
}
.under-contact .ct-contact .mwform-checkbox-field {
  display: block;
  overflow: hidden;
  padding-bottom: 1em;
  text-align: center;
}
.under-contact .ct-contact .mwform-checkbox-field label {
  overflow: hidden;
}
.under-contact .ct-contact .mwform-checkbox-field input[type="radio"],
.under-contact .ct-contact .mwform-checkbox-field input[type="checkbox"] {
  width: 20px;
  height: 20px;
  vertical-align: -0.2em;
}
.under-contact .ct-contact .btnarea {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  margin-top: 50px;
  text-align: center;
}
.under-contact .ct-contact .btnarea input {
  margin-top: 0;
  margin-left: 20px;
  margin-right: 20px;
  padding: 1em 2.5em;
  font-size: 1.8rem;
  font-weight: bold;
  color: white;
  border: none;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .under-contact .ct-contact .btnarea input {
    margin-left: 10px;
    margin-right: 10px;
    padding: 0.75em 2em;
    font-size: 1.5rem;
  }
}
.under-contact .ct-contact .btnarea input.send_btn, .under-contact .ct-contact .btnarea input.send_btn2 {
  background-color: #00439a;
  color: white;
}
.under-contact .ct-contact .btnarea input.send_btn:disabled, .under-contact .ct-contact .btnarea input.send_btn2:disabled {
  opacity: 0.5 !important;
  border: 1px solid #ccc;
}
.under-contact .ct-contact .btnarea input.upd_btn {
  background-color: rgba(204, 204, 204, 0.1);
  border: 1px solid #cccccc;
  color: #1e1e1e;
}
.under-contact .ct-contact .pr-check {
  margin-top: 30px;
  overflow: hidden;
}
.under-contact .ct-contact .btm-txt {
  margin: 30px 0 0;
  text-align: center;
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: bold;
}
.under-contact .ct-contact .privacy_wrap {
  margin: 0;
}
.under-contact .ct-contact .privacy_wrap .inp_mes {
  font-weight: bold;
}
.under-contact .ct-contact .privacy_wrap .privacy {
  width: auto;
  height: 140px;
  margin: 10px auto 0;
  padding: 2.5em;
  border: 1px solid #ccc;
  font-size: 1.3rem;
  text-align: left;
}
.under-contact .ct-contact .privacy_wrap .privacy h1 {
  background-color: transparent;
  margin-bottom: 15px;
  padding: 0 0 0.5em;
  color: #1e1e1e;
  font-size: 1.6rem;
  border-bottom: 1px solid #ccc;
}
.under-contact .ct-contact .privacy_wrap .privacy h1::before, .under-contact .ct-contact .privacy_wrap .privacy h1::after {
  display: none;
}
.under-contact .ct-contact .privacy_wrap .privacy h2 {
  margin-bottom: 15px;
  padding: 0;
  font-size: 1.4rem;
  background-color: transparent;
  border-bottom: none;
}
.under-contact .ct-contact .privacy_wrap .privacy h2::before, .under-contact .ct-contact .privacy_wrap .privacy h2::after {
  display: none;
}
.under-contact .ct-contact .privacy_wrap .privacy p {
  margin: 0 0 15px;
  line-height: 1.5;
}
.under-contact .ct-contact .privacy_wrap .privacy p strong {
  font-weight: bold;
}
.under-contact .ct-contact .privacy_wrap .privacy ul {
  margin: 0 0 15px;
}
.under-contact .ct-contact .mw_wp_form_input .btnarea input.send_btn2 {
  display: none;
  background-color: #f29715;
  color: white;
}
.under-contact .ct-contact .mw_wp_form_confirm .inp_mes {
  display: none;
}
.under-contact .ct-contact .mw_wp_form_confirm .privacy_wrap {
  display: none !important;
}
.under-contact .ct-contact .mw_wp_form_confirm .privacy {
  display: none !important;
}
.under-contact .ct-contact .mw_wp_form_confirm .conf_mes {
  display: block;
}
.under-contact .ct-contact .mw_wp_form_confirm .formbox table td .row {
  margin-top: 0;
}
.under-contact .ct-contact .mw_wp_form_confirm .formbox table tr:nth-of-type(4) td .row {
  display: none;
}
.under-single .pg-post {
  padding-top: 50px;
}
.under-single .pg-post .inner {
  padding: 0 70px;
}
@media screen and (max-width: 767px) {
  .under-single .pg-post .inner {
    padding: 0;
  }
}
.under-single .pg-post .post-ttl {
  margin-bottom: 0;
}
.under-single .pg-post .post-meta {
  margin-top: 15px;
  margin-bottom: 30px;
  display: -webkit-flex;
  display: flex;
}
.under-single .pg-post .post-meta li {
  margin-right: 15px;
  list-style-type: none;
  font-size: 1.3rem;
}
.under-single .pg-post .post-meta li.date {
  position: relative;
}
.under-single .pg-post .post-meta li.date::before {
  content: "";
  display: inline-block;
  margin-right: 0.5em;
  width: 14px;
  height: 14px;
  background: url(img/icon/date.svg) no-repeat center;
  background-size: contain;
  vertical-align: middle;
}
.under-single .pg-post .post-meta li .cate {
  display: table;
  padding: 0 1em;
  color: #00439a;
  background-color: white;
  border: 1px solid #00439a;
  text-align: center;
  text-decoration: none;
}
.under-single .pg-post .context {
  margin: 50px auto 0;
}
.under-single .archive-list dl {
  display: table;
  width: 100%;
  padding: 1em 0;
  border-bottom: 1px dashed #b5b5b6;
}
@media screen and (max-width: 767px) {
  .under-single .archive-list dl {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}
.under-single .archive-list dl:nth-of-type(1) {
  margin-top: 30px;
}
.under-single .archive-list dl dt,
.under-single .archive-list dl dd {
  display: table-cell;
}
@media screen and (max-width: 767px) {
  .under-single .archive-list dl dt,
  .under-single .archive-list dl dd {
    display: block;
  }
}
.under-single .archive-list dl dt {
  width: 10%;
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .under-single .archive-list dl dt {
    width: 30%;
  }
}
.under-single .archive-list dl dd:nth-of-type(1) {
  width: 15%;
}
@media screen and (max-width: 767px) {
  .under-single .archive-list dl dd:nth-of-type(1) {
    width: 70%;
  }
}
.under-single .archive-list dl dd:nth-of-type(1) .cate {
  display: table;
  padding: 0 1em;
  color: #00439a;
  background-color: white;
  border: 1px solid #00439a;
  text-align: center;
  font-size: 1.3rem;
}
.under-single .archive-list dl dd a {
  color: #1e1e1e;
  text-decoration: none;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .under-single .archive-list dl dd a {
    display: block;
    margin: 10px 0 0;
  }
}
.under-single .wp-pagenavi {
  margin-top: 50px;
  padding: 1em 0;
  text-align: center;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
}
.under-single .wp-pagenavi a,
.under-single .wp-pagenavi span {
  text-decoration: none;
  border: none;
  border-right: 1px solid #1e1e1e;
  padding: 0.25em 1em;
  margin: 0;
  color: #1e1e1e;
  box-sizing: border-box;
}
.under-single .wp-pagenavi a.page, .under-single .wp-pagenavi a.current,
.under-single .wp-pagenavi span.page,
.under-single .wp-pagenavi span.current {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
}
.under-single .wp-pagenavi a.pages, .under-single .wp-pagenavi a.nextpostslink, .under-single .wp-pagenavi a.previouspostslink,
.under-single .wp-pagenavi span.pages,
.under-single .wp-pagenavi span.nextpostslink,
.under-single .wp-pagenavi span.previouspostslink {
  border: none;
}
.under-single .wp-pagenavi a.pages:hover, .under-single .wp-pagenavi a.nextpostslink:hover, .under-single .wp-pagenavi a.previouspostslink:hover,
.under-single .wp-pagenavi span.pages:hover,
.under-single .wp-pagenavi span.nextpostslink:hover,
.under-single .wp-pagenavi span.previouspostslink:hover {
  background-color: transparent;
  color: #1e1e1e;
  font-weight: normal;
}
.under-single .wp-pagenavi a:hover,
.under-single .wp-pagenavi span.current {
  color: #1e1e1e;
  font-weight: normal;
  filter: progid:DXImageTransform.Microsoft.Alpha(enabled=false);
  opacity: 1;
}

@media all and (-ms-high-contrast: none) {
  .fv {
    display: block;
    padding-top: 100px;
  }

  .fv-copy {
    text-align: center;
  }
}
