@charset "utf-8";

/* ===================================================================

 file name  :index.css
 style info :トップページ

=================================================================== */
/*
.preload * {
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -ms-transition: none !important;
  -o-transition: none !important;
  transition: none !important;
}
*/
.pc {
  display: none;
}
html {
  scroll-behavior: smooth;
}
section{
  padding-top: 43px;
  margin-top: -43px;
}
@media screen and (min-width: 600px) {
  .pc {
    display: block;
  }
}

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

		structure

--------------------------------------------------------------------------- */
a {
  transition: all ease 0.3s;
  text-decoration: none;
}

html.sc-hidden,
html.sc-hidden body {
  overflow: hidden;
}

/* ---------------------------------------------------------------------------
		#wrapper
--------------------------------------------------------------------------- */
#wrapper {
  min-width: 320px;
}

#wrapper img {
  width: 100%;
  height: auto;
}

/* ---------------------------------------------------------------------------
		#header
--------------------------------------------------------------------------- */

.bar {
  display: none;
}
.head-overlay {
  background-color: #dcdddd;
}

#header .head-overlay .fixed-logo {
  display: none;
}

ul#gnavMenu span {
  text-align: center;
  display: table-cell;
  vertical-align: middle;
  padding: 0 19px;
  width: 1px;
  color: #656464;
  background-color: #dcdddd;
}
li.nav_item {
  background-color: #dcdddd;
}
#header .head-overlay .fixed-tel {
  display: none;
}

.fix-flex {
  display: flex;
  align-items: center;
  justify-content: center;
}

h1.nav-logo {
  width: 150px;
  display: block;
}

/*
	fixed
*/
#header .head-overlay.fixed {
  position: fixed;
  top: 0;
  bottom: auto;
  left: 0;
  width: 100%;
  z-index: 5999;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

#header .head-overlay.fixed .hnav {
  top: 0;
  right: 16px;
  display: block;
}

#header .head-overlay.fixed #gnav {
  position: relative;
  bottom: auto;
  top: 0;
  left: 0;
  background-color: #dcdddd;
}

#header .head-overlay.fixed #gnav #gnavMenu {
}

#header .head-overlay.fixed .fixed-logo {
  display: block;
  width: 240px;
  margin-left: 30px;
  margin-top: 15px;
  transition: all ease 0.3s;
  z-index: 5001;
}

#header .head-overlay.fixed .fixed-tel {
  display: block;
  transition: all ease 0.3s;
  z-index: 5001;
  padding-top: 18.5px;
  padding-left: 5px;
}

#header .head-overlay.fixed #gnav #gnavMenu > li#gnavReserve > a,
#header .head-overlay.fixed #gnav #gnavMenu > li > span > a {
  line-height: 46px;
}

.inquiry {
  font-weight: bold;
  width: 200px;
}

#gnav .inquiry a {
  color: #fff;
}

.nav-menus {
  display: none;
}

.nav-menus .header-logo {
  height: 70px;
  margin-left: 30px;
  padding: 10px 0 10px 0;
}
li.pc {
  background-color: #656464;
  padding: 10px 30px 10px 30px;
  width: fit-content;
}

@media screen and (min-width: 601px) {
  .nav-menus {
    display: block;
    margin: auto;
  }
}

/* gnav */
#gnav {
  width: 100%;
  position: relative;
  font-size: 16px;
  z-index: 5000;
}

@media screen and (max-width: 1100px) {
  #gnav #gnavMenu > li {
    font-size: 14px;
    padding: 7px;
  }
}

#gnav a {
  color: #656464;
  font-size: 16px;
}

#gnav #gnavMenu {
  margin: 0 auto;
  display: table;
  width: 100%;
  max-width: 1080px;
}

#gnav #gnavMenu > li {
  text-align: center;
  display: table-cell;
  vertical-align: middle;
}

li.inquiry {
  padding: 10px 0;
  background-color: #656464;
}
img.mail_icon {
  width: 32px !important;
  margin-right: 5px;
}
#gnav #gnavMenu > li > span {
  background: url(../../images/top/ico_gnav.png) no-repeat right 50%;
  position: relative;
  display: block;
}

#gnav #gnavMenu > li > span > a {
  line-height: 75px;
  display: block;
}

#gnav #gnavMenu > li > span::after {
  content: "";
  width: 60%;
  height: 3px;
  position: absolute;
  left: 20%;
  bottom: 0;
  background: #1070ae;
  transition: all ease 0.3s;
  transform: scaleX(0);
}

#gnav #gnavMenu > li > span:hover::after,
#gnav #gnavMenu > li.show > span::after {
  transform: scaleX(1);
}

#gnav #gnavMenu > li#gnavReserve > a {
  display: block;
  background: #f90;
  color: #fff;
  line-height: 75px;
  font-weight: bold;
}

#gnav #gnavMenu > li#gnavReserve > a:hover {
  box-shadow: inset 0 0 0 4em #e60;
}

#gnav #gnavMenu > li:last-child > span,
#gnav #gnavMenu > li:last-child > span,
#gnav #gnavMenu > li#gnavReserve > span,
#gnav #gnavMenu > li#gnavReserve > span {
  background: none;
}

#header .loader {
  z-index: 1200;
  -ms-transform: translateY(-40px);
  transform: translateY(-40px);
}

ul#gnavMenu li:nth-child(2) {
  width: 64px;
}
ul#gnavMenu li:nth-child(4) {
  width: 64px;
}
ul#gnavMenu li:nth-child(6) {
  width: 64px;
}
ul#gnavMenu li:nth-child(8) {
  width: 64px;
}
ul#gnavMenu li:nth-child(10) {
  width: 64px;
}

/* ---------------------------------------------------------------------------
	#main
--------------------------------------------------------------------------- */
.flex {
  display: flex;
  flex-wrap: wrap;
}
.m_a {
  margin: auto;
}
.c_f {
  color: #fff;
}
.mt_40 {
  margin-top: 40px !important;
}
.mw_600 {
  max-width: 600px;
}
.w_30 {
  width: 30%;
  margin-bottom:30px;
}
.jc_sa {
  justify-content: space-around;
}
.jc_sb {
  justify-content: space-between;
}
.item_left {
  width: 50%;
}
.item_right {
  width: 50%;
}
.item_left40 {
  width: 40%;
}
.item_right40 {
  width: 40%;
}
.p_20 {
  padding: 20px;
}
.green_bg {
  background-color: #22ac38;
}
.green_c {
  color: #22ac38 !important;
}
.ygreen_bg {
  background-color: #bfd500;
}
.ygreen_c {
  color: #bfd500 !important;
}
.title {
  text-align: center;
  margin-top: 55px;
  margin-bottom: 40px;
}

h2.title {
  font-size: 20px;
  letter-spacing: 0.1em;
  line-height: 1;
  margin: unset;
  padding: 20px 0;
  color: #fff;
}
.title h3 {
  font-size: 24px;
  letter-spacing: 0.1em;
  line-height: 1;
}

.title p {
  font-size: 16px;
  letter-spacing: 0.1em;
  line-height: 1.8;
  display: inline !important;
}
h2.title.type_title {
  border-bottom: 1px solid;
}
.title span {
  border-bottom: 1px solid #000;
  height: 2px;
  display: block;
  width: 376px;
  margin: 15px auto 12px;
  position: relative;
  left: 6px;
}

section#newslist {
  max-width: 1031px;
  margin: auto;
}

.newsContent {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 76px;
}

.newsTitle {
  font-size: 18px;
  padding-top: 34px;
  padding-bottom: 87px;
  padding-left: 18px;
}

.circle1 {
  width: 21%;
  margin-bottom: 20px;
}
.circle2 {
  width: 30%;
}
h3.car_txt {
  text-align: center;
  font-size: 18px;
}
h4.car_txt {
  text-align: center;
  font-size: 16px;
}
a.car_youtube {
  display: block;
  width: 150px;
  margin: auto;
}
a.car_link_btn {
  background-color: #fff;
  border-radius: 20px;
  padding: 0px 20px;
  display: block;
  text-align: center;
  width: 200px;
  margin: 40px auto 0;
  text-decoration: none;
  color: #22ac38;
}

.type {
  padding: 20px 0 40px;
}
.g_map {
  padding: 40px 20px;
}
iframe.g_item {
  max-width: 600px;
  margin: auto;
  width: 100%;
  height: 400px;
  display: block;
}
a.ac_tel.green_c {
  font-size: 20px;
  margin: 0 auto 40px;
  display: block;
  text-align: center;
  font-weight: bold;
}
/* ---------------------------------------------------------------------------
	#form
--------------------------------------------------------------------------- */

table {
  border-collapse: collapse;
}

input[type="submit"],
input[type="text"],
select,
textarea,
button {
  -moz-appearance: none;
  -webkit-appearance: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  outline: none;
  border: none;
}

input[type="text"],
textarea {
  display: block;
  font-size: 16px;
  padding: 12px 15px;
  width: 100%;
  transition: 0.8s;
  border-radius: 0;
  border: 1px solid #ccc;
}

input[type="text"]:focus,
textarea:focus {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

textarea[name="content"] {
  display: inline-block;
  width: 100%;
  height: 200px;
}

input::placeholder,
textarea::placeholder {
  color: #ccc;
}

::-webkit-input-placeholder {
  color: #ccc;
  opacity: 1;
}

::-moz-placeholder {
  color: #ccc;
  opacity: 1;
}

:-ms-input-placeholder {
  color: #ccc;
  opacity: 1;
}

form.contactForm {
  width: 100%;
  max-width: 600px;
  margin: 40px auto;
}

input#inputEmail {
  display: block;
  font-size: 16px;
  padding: 12px 15px;
  width: 100%;
  transition: 0.8s;
  border-radius: 0;
  border: 1px solid #ccc;
}
button#submit-input {
  display: block;
  width: 150px;
  text-align: center;
  padding: 10px;
  margin: 0 auto 40px;
  font-size: 20px;
  font-weight: bold;
  border-radius: 5px;
  letter-spacing: 0.5em;
}
p.error_msg {
  color: red;
  margin-bottom: 20px;
}
button.confirm-button.next {
  display: block;
  width: 150px;
  text-align: center;
  padding: 10px;
  margin: 0 auto 40px;
  font-size: 20px;
  font-weight: bold;
  border-radius: 5px;
  letter-spacing: 0.5em;
}
.form-table {
  width: 100%;
  max-width: 600px;
  margin: 40px auto;
}

.form-table th,
.form-table td {
  display: block;
  width: 100%;
}

.form-table th {
  position: relative;
  text-align: left;
  padding-top: 20px;
  font-weight: normal;
  z-index: -1;
}

a.form_btn.green_bg.c_f {
  display: block;
  width: 150px;
  text-align: center;
  padding: 10px;
  margin: 0 auto 40px;
  font-size: 20px;
  font-weight: bold;
  border-radius: 5px;
  letter-spacing: 0.5em;
}

/* aboutページ */
h2.green_c.about_title {
  font-size: 20px;
  border-bottom: 2px solid #22ac38;
  padding-bottom: 5px;
  margin-bottom: 20px;
}
.item_right.about {
  width: 48%;
}
.item_left.about {
  width: 45%;
}
#idea .title {
  text-align: center;
  margin-top: 108px;
  margin-bottom: 62px;
}
#aboutCompany .title {
  text-align: center;
  margin-top: 116px;
  margin-bottom: 57px;
}
#aboutActive .title {
  text-align: center;
  margin-top: 134px;
  margin-bottom: 124px;
}
#quality .title {
  text-align: center;
  margin-top: 229px;
  margin-bottom: 34px;
}

.aboutContent div p {
  text-align: center;
  line-height: 48px;
  font-size: 16px;
  margin-bottom: 70px;
}
.aboutFlex {
  max-width: 1110px;
  display: flex;
  justify-content: space-between;
  margin: auto;
}
.aboutLeft {
  width: 540px;
}
.aboutRight {
  width: 540px;
}
table.companyTable {
  margin: 20px auto;
  max-width: 1110px;
  font-size: 16px;
  line-height: 30px;
}
.companyTable th {
  background: #4eabe7;
  border: solid 1px #ccc;
  color: #fff;
  padding: 24px 30px 20px 30px;
  width: 246px;
}
.companyTable td {
  border: solid 1px #ccc;
  padding: 24px 38px 20px 38px;
  width: 855px;
}
.tdFlex {
  display: flex;
}
.tdFlex:nth-child(2) {
  border-right: solid 1px #ccc;
  border-top: none;
  border-left: none;
  border-bottom: none;
  margin-left: 1px;
}
@media screen and (max-width: 640px) {
  .last td:last-child {
    border-bottom: solid 1px #ccc;
    width: 100%;
  }
  .companyTable th,
  .companyTable td {
    border-bottom: none;
    display: block;
    width: 100%;
  }
  .tdFlex {
    display: block;
  }
  .tdFlex:nth-child(2) {
    border-right: solid 1px #ccc;
    border-top: solid 1px #ccc;
    border-left: solid 1px #ccc;
    border-bottom: none;
  }
}
.activeMain {
  max-width: 1110px;
  margin: auto;
}
.activeFlex {
  display: flex;
  margin-top: 82px;
  justify-content: space-between;
}
.activeFlex div.activeImg {
  width: 400px;
}
.activeFlex div.activeText {
  width: 654px;
}
.activeText h4 {
  font-weight: 300;
  font-size: 20px;
}
.activeText span {
  border-bottom: 1px solid #000;
  display: block;
  padding-top: 21px;
  margin-bottom: 31px;
}
.activeText p {
  font-size: 15px;
  line-height: 36px;
}
.qualityContent {
  max-width: 1110px;
  margin: auto;
}
.qualityFlex {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}
.qualityCard {
  width: 334px;
  padding: 108px 33px 47px 30px;
  box-shadow: 2px 2px 4px #ededed;
  margin-top: 40px;
}
.qualityCard h4 {
  width: 150px;
  font-size: 20px;
  font-weight: 300;
  line-height: 30px;
  text-align: center;
  letter-spacing: -0.05em;
  margin: auto;
}

.qualityCard h4 span {
  display: block;
  width: 100%;
  border-bottom: 1px solid #000;
  margin-top: 16px;
  margin-bottom: 40px;
}
.qualityCard p {
  font-size: 16px;
  line-height: 36px;
}
.qualityFlex2 {
  display: flex;
  justify-content: space-between;
  margin-top: 48px;
}
.qualityFlexContent {
  padding: 20px 83px 31px 81px;
  background-color: #f3f3f3;
  width: 518px;
  text-align: center;
}
.qualityImg {
  width: 200px;
  margin: auto;
}
.qualityFlexContent h5 {
  font-size: 20px;
  line-height: 27.59px;
  margin-top: 33px;
  margin-bottom: 33px;
}
.qualityFlexContent p {
  font-size: 16px;
  line-height: 27.59px;
}
.purposeContent {
  background-color: #50ace6;
  padding-bottom: 86px;
}
.titleWrap {
  background-color: #fff;
  padding-bottom: 70px;
  padding-top: 75px;
}
.purposeCard {
  width: 800px;
  background-color: #fff;
  margin: auto;
  padding: 65px 100px 65px 80px;
}
.purposeCard h4 {
  font-size: 20px;
}
.purposeCard span {
  display: block;
  width: 100%;
  border-bottom: 1px solid #000;
  padding-top: 33px;
  margin-bottom: 37px;
}
.purposeCard p {
  font-size: 15px;
  line-height: 48px;
}
.purposeContent div:nth-child(2) {
  margin-top: 70px;
}
.purposeContent div:nth-child(3) {
  margin-top: 28px;
}
.purposeContent div:nth-child(4) {
  margin-top: 28px;
}
section#history {
  max-width: 980px;
  margin: 40px auto;
  padding: 0 20px;
}
.row_table {
  border-collapse: collapse;
  width: 100%;
  max-width: 1024px;
  margin: 19px auto 0;
  font-size: 16px;
  line-height: 48px;
}
.row_table th,
.row_table td {
  padding: 10px;
  box-sizing: border-box;
}
.row_table th {
  font-weight: 300;
  display: flex;
  align-items: center;
}
.row_table th::before {
  content: "";
  height: 16px;
  width: 16px;
  margin-right: 5px;
  background-color: #bfd500;
  display: block;
}

@media screen and (max-width: 640px) {
  .row_table {
    width: 100%;
  }
  .row_table th.rfirstTh {
    border-top: unset;
  }
  .row_table td {
    border-top: unset;
  }
  .row_table th {
    padding-top: 15px;
  }
  .row_table td {
    padding-bottom: 15px;
  }

  .btableWrap {
    display: none;
  }
  .btbSp {
    display: block;
    font-size: 16px;
    width: 270px;
    margin: auto;
  }
  .btbSp dl {
    display: flex;
    flex-wrap: wrap;
  }
  .btbSp dt {
    width: 35%;
    padding: 6px 0;
    background-color: #4eabe7;
    margin: 0 0 22px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    line-height: 1;
  }
  .btbSp dd {
    background-color: #fff;
    margin: 0 0 10px 0;
    border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
    padding-left: 22px;
  }
  .pointDt {
    border-bottom: 1px solid #000;
    margin-bottom: 42px;
  }
  .pointDt dt {
    margin-bottom: 40px;
  }
  dd.ddOnly {
    padding-left: unset;
    line-height: 1.8;
  }
}
@media screen and (min-width: 641px) {
  .btbSp {
    display: none;
  }
}
#electrical .title {
  margin-top: 64px;
  margin-bottom: 45px;
}
#Telecommunications .title {
  margin-top: 123px;
  margin-bottom: 80px;
}
table.bTable {
  margin: auto;
  width: 1105px;
}
.bTable th,
.bTable td {
  padding: 10px;
  border: solid 1px #000;
  text-align: center;
  font-size: 16px;
  box-sizing: border-box;
}
.bTable td {
  padding-top: 34px;
  padding-bottom: 32px;
}
.bTable th {
  background: #4eabe7;
  color: #fff;
  padding: 18px 51px 18px 42px;
  border-bottom: unset;
}
table .bfirstTd {
  border-top: unset;
}
table .bnameTd {
  text-align: left;
  padding-left: 52px;
}
.bSpace {
  margin-bottom: 352px;
}
/* ---------------------------------------------------------------------------
	#type
--------------------------------------------------------------------------- */
.type_txt_wrap {
  border-top: 2px solid #22ac38;
  border-bottom: 2px solid #22ac38;
}
p.type_txt {
  padding: 100px 20px;
}
p.txt {
  display: inline-block;
  font-size: 16px;
}
.youtube_icon {
  width: 50px;
  margin-right: 20px;
}
h2.type_title.green_c {
  font-size: 20px;
}
.type_title_wrap.flex.jc_sb {
  margin-bottom: 10px;
}
.item_left.type {
  width: 300px;
}
.item_right.type {
  width: 48%;
}
/* ---------------------------------------------------------------------------
	#footer
--------------------------------------------------------------------------- */
#footer {
  background: #656464;
  position: relative;
  z-index: 1001;
  padding-top: 1px;
}

p.copyright.wf-Amiri-i.ls1em.add {
  margin-left: 20px;
}

p.copyright.wf-Amiri-i.ls1em.comp {
  font-size: 16px;
  margin-left: 20px;
}

p.copyright.wf-Amiri-i.ls1em.copy {
  margin-right: 0;
  margin-left: auto;
}

.foot_box {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
}

.sc-slideup {
  display: flex;
  justify-content: center;
  max-width: 1111px;
  margin: 23px auto 0px;
}

#footer .subnav {
  text-align: center;
  padding-left: 18px;
}

#footer .subnav ul {
  font-size: 16px;
  border-bottom: 1px solid #fff;
  padding-bottom: 10px;
  margin-bottom: 10px;
}

#footer .subnav ul li {
  padding: 0.2em 0 0 0.8em;
  display: inline-block;
}

#footer .subnav ul li::after {
  content: "|";
  display: inline;
  color: #fff;
  margin-left: 1em;
}
#footer .subnav ul li.txt-effect_line-uc.icon::after {
  content: " ";
  display: inline;
  margin-left: 0 !important;
}

#footer .subnav ul li:last-child::after {
  display: none;
}

#footer .subnav ul li a {
  color: #fff;
}

#footer .subnav ul li a::after {
  background: #fff;
}

@media screen and (max-width: 1200px) {
  #footer .subnav ul li {
    padding-left: 0.8em;
  }

  #footer .subnav ul li::after {
    margin-left: 0.8em;
  }
}

#footer .foot-inner {
  color: #fff;
  font-size: 16px;
}

.sc-slideup {
  display: flex;
  justify-content: center;
}

#footer .foot-inner .logo {
  width: 231px;
  margin-bottom: 19px;
}

p.footer-text {
  padding-left: 26px;
  font-size: 16px;
  font-weight: 300;
}

p.logo img {
  width: 100%;
}

.footer-text a {
  color: #fff;
  line-height: 3;
}

#footer .foot-inner .socials {
  width: 70px;
  padding: 15px;
  margin: 0 auto 80px;
}

#footer .foot-inner .socials li {
  width: 48px;
}

#footer .foot-inner .socials li a {
  display: block;
  background: #454545 url(../../images/top/ico_facebook.png) no-repeat 50% 50%;
  background-size: 18px;
  width: 46px;
  height: 46px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  border-radius: 50%;
  border: 1px solid #454545;
}

#footer .foot-inner .socials li.btn-mail a {
  background: #454545 url(../../images/top/ico_mail.png) no-repeat 50% 50%;
  background-size: 18px;
}

#footer .foot-inner .socials li a:hover {
  border: 1px solid #797979;
  background-color: #666;
  -ms-transform: rotate(360deg) scale(1.1);
  transform: rotate(360deg) scale(1.1);
}

p.copyright.wf-Amiri-i.ls1em {
  font-size: 12px;
  text-align: center;
  color: #fff;
  padding-bottom: 16px;
}
.foot-inner a {
  color: #fff;
}

.sceltonbox {
  height: 300px;
}
