﻿@charset "UTF-8";
@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
/** 基本 **/
@media screen and (max-width: 640px) {
  body {
    min-width: auto !important;
  }
}
body {
  background-color: #FFF4E9;
  font-family:'Noto Sans Japanese', serif;
  letter-spacing: .04px;
}
li {
  font-size: 14px;
}
h1 {
  font-size: 24px;
  font-family:'Catamaran', sans-serif;
}
h2 {
  font-size: 20px;
  font-family:'Catamaran', sans-serif;
}
h3 {
  font-size: 16px;
}
p {
  font-size: 14px;
}
a {
  color: #000;
}
a:hover {
  text-decoration: none;
}
.container {
  max-width: 970px;
}
.company-name {
  left: 230px;
  top: 25px;
  font-size: 10px;
  color: #A4A4A4;
}
/** ナビ **/
.enline {
  border: 1px solid #D76000;
  border-radius: 6px;
}
.enline:hover {
  border: 1px solid #D76000;
  background: #D76000;
  border-radius: 6px;
}
.navbar {
  padding: 12px 0;
}
.navbar-collapse {
  flex-grow: 0;
}
.navbar-light .navbar-nav .nav-link {
  color: #D76000;
}
.navbar-light .navbar-nav .nav-link:hover {
  color: #A4A4A4;
}
.navbar-light .navbar-nav .link-en {
  color: #D76000;
}
.navbar-light .navbar-nav .link-en:hover {
  color: #FFFFFF;
}
.navbar-light .navbar-toggler {
  border: none;
}
button[aria-expanded="false"]:after {
  content: url("/images/toggler-icon.svg");
}
button[aria-expanded="true"]:after {
  content: url("/images/toggler-close-icon.svg");
}
.navbar .company-name {
  position: absolute;
}
@media (max-width: 970px) {
  .enline {
    border: none;
  }
}
[class*="col-"] {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.table td, .table th {
  border-top: none;
}
.intro_text {
  color: #000000;
  line-height: 30px;
  padding-top: 30px;
}
.text {
  color: #000000;
  line-height: 30px;
}
/*@keyframes delay_display_bg_line {*/
  /*0% {*/
    /*background: url(/images/line.png) repeat-y 150vw 120px;*/
  /*}*/
  /*100% {*/
    /*background: url(/images/line.png) repeat-y 50% 120px;*/
  /*}*/
/*}*/
.bg_line {
  /*animation: delay_display_bg_line 1s forwards;*/
  background: url(/images/line.png) repeat-y 50% 120px;
}
/** top **/
.main-slider {
  margin-top: 1.5rem;
  padding-left: 0;
  padding-right: 0;
  overflow: hidden;
}
.main-slider .container {
  padding: 0;
}
/** プラグインのスライダー上書き */
.wpsk-carousel-wrap .swiper-container {
  overflow: visible;
}
.wpsk-carousel-wrap .swiper-container-horizontal > .swiper-pagination-bullets {
  bottom: -30px;
}
.swiper-pagination-bullets .swiper-pagination-bullet {
  border-radius: unset;
  width: 10px;
  height: 10px;
}
.swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: #D76000;
}

.main_headline {
  font-size: 32px;
  letter-spacing: 0.01rem;
}
.main_headline br {
  display: none;
}
.top_projectlist {
  background: #EEEEEE;
  margin-top: 90px;
}
.project_img {
  z-index: 1;
}
.seemore {
  border: 1px solid #D76000;
  color: #D76000;
  width: 200px;
  margin: auto;
}
.seemore:hover {
  color: #FFFFFF;
  background: #D76000;
}
.project_text {
  margin: auto -15px;
  height: 380px;
  display: block;
  padding: 70px 50px 5px 60px;
  background-color: #FFFFFF;
}
.contact_box {
  border: 1px solid #979797;
  border-radius: 6px;
  padding: 25px 50px 54px 50px;
  margin-top: 50px;
  margin-bottom: 50px;
}
.wrapper {
  width: 100%;
  height: auto;
  padding: 50px 0;
  overflow: hidden;
}
.slides .wrapper:last-child {
  padding-bottom: 0;
  overflow: visible;
}
.left-block-bg {
  background: linear-gradient(90deg, #FDEBD8 0%, #FDEBD8 50%, transparent 50%, transparent 100%);
}
.right-block-bg {
  background: linear-gradient(90deg, transparent 0%, transparent 50%, #FDEBD8 50%, #FDEBD8 100%);
}
.block-wrapper {
  height: auto;
  position: relative;
  background: 50% 0, #FDEBD8;
  padding: 30px;
}
.last-block .block-wrapper {
  height: auto;
  position: relative;
  background: url(/images/line.png) no-repeat 50% 0, #FDEBD8;
  padding: 30px;
}
.block-wrapper:after {
  content: ".";
  display: block;
  height: 0;
  font-size: 0;
  clear: both;
  visibility: hidden;
}
.block2-wrapper {
  float: left;
  width: 15%;
  display: block;
  padding: 50px;
}
.block3-wrapper {
  float: left;
  width: 85%;
  height: auto;
  position: relative;
  background: #FDEBD8;
  padding: 30px;
}
.block3-wrapper:after {
  content: ".";
  display: block;
  height: 0;
  font-size: 0;
  clear: both;
  visibility: hidden;
}
.block-inner-img img {
  width: 100%;
  height: 100%;
}
.block1 {
  float: left;
  width: 40%;
  display: block;
  padding: 50px;
}
.block2 {
  float: left;
  height: auto;
  display: block;
  background: #fff;
  margin: 0 0 0 235px;
  padding: 40px 24px 40px 285px;
}
.block-left {
  float: left;
  height: auto;
  display: block;
  background: #fff;
  margin: 0 235px 0 0;
  padding: 40px 285px 40px 60px;
}
.development .block2 {
  padding-top: 30px;
  padding-bottom: 60px;
}
.three_s .block-left {
  padding-top: 30px;
  padding-bottom: 65px;
}
.three_wave .block2 {
  padding-top: 30px;
  padding-bottom: 10px;
}
.field_worker .block-left {
  padding-top: 30px;
  padding-bottom: 30px;
}
.kama_con .block2 {
  padding-top: 30px;
  padding-bottom: 30px;
}
.img-block {
  position: absolute;
  top: -20px;
  width: 50%;
}
.img-block img {
  width: 100%;
  height: 100%;
}
.img-right-block {
  position: absolute;
  top: -20px;
  right: 30px;
  width: 50%;
}
.img-right-block img {
  width: 100%;
  height: 100%;
}
.top_projectlist .left-block-bg {
  background: #EEEEEE;
  height: 550px;
}
.top_projectlist .left-block-bg .block-wrapper {
  background: #EEEEEE;
  height: 550px;
  padding: 48px 20px;
}
.top_projectlist .left-block-bg .block-wrapper .block2 {
  float: none;
  height: 100%;
  padding: 50px 24px 40px 285px;
}
.top-project-headline {
  font-size: 1.5rem;
}
.top-project-img {
  position: absolute;
  top: 0;
  left: -200px;
  height: 550px;
}
.pcNone {
  display: none;
}
.left_arrow, .right_arrow {
  display: none;
}
@media (max-width: 970px) {
  .navbar .company-name {
    position: absolute;
    top: 17px;
    left: 120px;
    font-size: 10px;
    transform: scale(0.7);
  }
  .navbar-light .navbar-toggler {
    border-color: #FFFFFF;
  }
  .main-slider {
    margin-top: 0;
  }
  .wpsk-carousel-wrap .swiper-container {
    overflow: hidden;
  }
  .main_headline br {
    display: block;
  }
  .intro_text {
    text-align: left;
  }
  .intro_text br {
    display: none;
  }
  .spNone {
    display: none;
  }
  .bg_line {
    animation: none;
  }
  .wrapper.animated.fadeInRight {
    animation: none;
  }
  .left-block-bg {
    background: inherit;
  }
  .right-block-bg {
    background: inherit;
  }
  .block-wrapper {
    background: inherit;
    padding: 27px 14px 20px 14px;
  }
  .container .block-wrapper .block2,
  .container .block-wrapper .block-left {
    float: none;
    margin: 115px 0 0 0;
    padding: 200px 20px 20px 20px;
  }
  .block2 h2,
  .block2 h3,
  .block-left h2,
  .block-left h3 {
    text-align: center;
  }
  .img-block, .img-right-block {
    top: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 286px;
  }
  .project_text {
    background-color: #FFF4E9;
    margin: auto;
  }
  .top_projectlist {
    background: transparent;
    margin-top: 20px;
  }
  .top_projectlist .container-fluid,
  .top_projectlist .container {
    padding: 0;
  }
  .top_projectlist .block-wrapper {
    padding-left: 0;
    padding-right: 0;
  }
  .top_projectlist .left-block-bg {
    background: transparent;
    height: 100%;
  }
  .top_projectlist .left-block-bg .block-wrapper {
    background: transparent;
    height: 100%;
    padding-left: 0;
    padding-right: 0;
  }
  .top_projectlist .left-block-bg .block-wrapper .block2 {
    padding: 20px 20px;
    margin-top: 30px;
  }
  .top-project-img {
    position: static;
    width: 100%;
    height: 100%;
  }
  .contact_box {
    border: none;
  }
  .nav {
    display: block;
    text-align: center;
  }
  .left_arrow {
    cursor: pointer;
    position: absolute;
    display: inline-block;
    padding-left: 20px;
    top: 57%;
    left: 20px;
    z-index: 9999;
  }
  .left_arrow::before {
    content: '';
    width: 16px;
    height: 16px;
    border: 0px;
    border-top: solid 3px #D76000;
    border-left: solid 3px #D76000;
    -ms-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    position: absolute;
    left: 0;
  }
  .right_arrow {
    cursor: pointer;
    position: absolute;
    display: inline-block;
    padding-left: 20px;
    top: 57%;
    right: 14px;
    z-index: 9999;
  }
  .right_arrow::before {
    content: '';
    width: 16px;
    height: 16px;
    border: 0px;
    border-top: solid 3px #D76000;
    border-right: solid 3px #D76000;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    left: 0;
  }
  .carousel .wrapper {
    padding: 20px 0 10px 0;
  }
  .carousel {
    height: 750px;
    position: relative;
    overflow: hidden;
  }
  .carousel .slides {
    width: 500%;
    overflow: hidden;
    position: relative;
    transition: .5s ease-in;
  }
  .carousel .slides .wrapper {
    width: 20%;
    position: relative;
    float: left;
  }
  .carousel .slides[data-slide-item="1"] {
    transform: translateX(0);
  }
  .carousel .slides[data-slide-item="2"] {
    transform: translateX(-20%);
  }
  .carousel .slides[data-slide-item="3"] {
    transform: translateX(-40%);
  }
  .carousel .slides[data-slide-item="4"] {
    transform: translateX(-60%);
  }
  .carousel .slides[data-slide-item="5"] {
    transform: translateX(-80%);
  }
}
/** TOP配下共通**/
.page-img-block {
  margin: 20px auto 42px;
  text-align: center;
}
.page-img-block img {
  width: 50%;
}
.page-img {
  width: 50%;
}
.page-b {
  padding: 100px 142px 100px 142px;
  border-top: 1px solid #D76000;
  border-bottom: 1px solid #D76000;
  margin-top: -125px;
}
@media (max-width: 970px) {
  .page-img-block {
    margin: 40px auto 42px;
    text-align: center;
  }
  .page-img-block img {
    width: 70%;
  }
  .page-img {
    width: 80%;
  }
  .page-b {
    padding: 100px 5px 20px 5px;
  }
  .page-b.type-page {
    border-top: none;
  }
}
/** 会社概要**/
.company_table_caption {
  margin-top: 50px;
  font-size: 15px;
}
.company_table {
  color: #000000;
  line-height: 40px;
}
.company_table .mail {
  position: relative;
  top: -2px;
}
.company_table th {
  font-weight: normal;
  width: 170px;
}
.company_table td {
  padding-left: 40px
}
.head_table {
  margin-top: 90px;
}
@media screen and (max-width: 970px) {
  .page-b.company {
    padding-left: 15px;
    padding-right: 15px;
  }
  .company_table {
    line-height: 25px;
  }
  .company_table th,
  .company_table td {
    width: 100%;
    display: block;
  }
  .company-th {
    margin-top: 50px;
  }
  .company_table td {
    padding-left: 0px
  }
}
/** PROJECT LIST**/
.project_list {
  margin-top: 5px;
}
.page-b.order_records {
  padding: 100px;
}
.year {
  font-size: 17px;
  margin-top: 55px;
  margin-bottom: 20px;
}
.month_box {
  background: #E6E5E5;
  color: #000000;
  padding-left: 5px;
  padding-right: 5px;
}
.detail_box {
  background: #F3F3F3;
  color: #000000;
}
.pagination {
  margin-top: 38px;
}
.page-numbers {
  background: #FFF4E9;
  width: 36px;
  height: 36px;
  margin-left: 5px;
  margin-right: 5px;
  color: #A4A4A4;
  padding: 5px;
}
.page-numbers.current {
  background: #D76000;
  color: #FFFFFF;
}
@media screen and (max-width: 640px) {
  .page-b.order_records {
    padding: 100px 30px;
  }
  .detail_box {
    text-align: left;
  }
  .pagination {
    margin: 38px auto;
  }

}
/** TEAM**/
.page-b.team {
  padding: 100px 50px;
}
.page-b.team h3 {
  margin-bottom: 100px;
}
.team_position {
  color: #000000;
  letter-spacing: 0.02px;
}
.team_job {
  color: #000000;
  line-height: 25px;
}
.team_meta {
  color: #000000;
  line-height: 22px;
}
.team_memo {
  color: #000000;
  letter-spacing: -0.07px;
  line-height: 22px;
}
.team_etc {
  color: #000000;
  letter-spacing: -0.07px;
}
.team_right_card {
  margin-top: -110px;
}
.team_right_card-100 {
  margin-top: -100px;
}
.team_right_card-90 {
  margin-top: -90px;
}
@media screen and (max-width: 640px) {
  .page-b.team {
    padding: 100px 30px;
  }
  .page-b.team h3 {
    margin-bottom: 20px;
  }
  .team_right_card {
    margin-top: 0px;
  }
}
/** contact **/
.page_contact {
  padding: 50px 140px;
  border-top: 1px solid #D76000;
  border-bottom: 1px solid #D76000;
  margin-top: 70px;
  font-size: 14px;
}
.page_contact h3 {
  margin-bottom: 50px;
}
.contact_text {
  color: #000000;
  margin-bottom: 30px;
}
.contact_label {
  color: #000000;
  line-height: 42px;
  padding: 0;
}
.page_contact .form-group {
  margin-bottom: 0;
}
.page_contact input[type="text"],
.page_contact input[type="email"],
.page_contact textarea {
  width: 90%;
}
.send {
  border: 1px solid #D76000;
  color: #D76000;
  letter-spacing: 0.04px;
  width: 200px;
  margin: auto;
  background-color: #fff;
}
@media screen and (max-width: 970px) {
  .page_contact input[type="text"],
  .page_contact input[type="email"],
  .page_contact textarea {
    width: 100%;
  }
  .page_contact {
    padding: 40px 30px 63px 30px;
  }
  .send {
    width: 185px;
    margin-top: 45px;
  }
}
/** contact_comp **/
.contact_comp_message {
  border-top: 1px solid #D6D6D6;
  border-bottom: 1px solid #D6D6D6;
  color: #000000;
  margin: 100px auto;
  padding: 1rem 0;
  width: 220px;
}
.contact_message {
  color: #000000;
  line-height: 34px;
  margin: 100px auto;
  width: 470px;
}
@media screen and (max-width: 970px) {
  .contact_comp_message {
    margin: 70px auto;
  }
  .contact_message {
    width: 100%;
  }
}
/** company english **/
.page-b.company_en {
  padding: 100px;
}
.company_en_text {
  margin-bottom: 70px;
  margin-top: 50px;
  padding: 5px 0;
  color: #000000;
  letter-spacing: 0.07px;
  line-height: 26px;
  text-align: left;
}
.company_en_table {
  margin-top: 30px;
  color: #000000;
  letter-spacing: 0.07px;
  line-height: 32px;
  text-align: left;
}
.company_en_table tbody {
  padding: 0 15px;
}
.company_en_table th {
  font-weight: normal;
  width: 20%;
}
.company_en_table td {
  padding-left: 60px
}
@media (max-width: 970px) {
  .page-b.company_en {
    padding: 100px 15px;
  }
  .company_en_table tbody {
    padding: 0;
  }
  .company_en_table tr {
    line-height: 18px;
    margin-bottom: 20px;
  }
  .company_en_table th {
    width: 100%;
  }
  .company_en_table td {
    padding-left: 0;
  }
  .company_en_table tbody,
  .company_en_table tr,
  .company_en_table th,
  .company_en_table td {
    display: block;
  }
}
/** TOPへ **/
#page-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  font-size: 77%;
}
#page-top a {
  display: block;
}
/** フッター **/
footer {
  background: #FDEBD8;
}
.footer_logo {
  padding: 25px 25px 15px 25px;
}
.footer_logo .company-name {
  position: relative;
  top: 0;
  left: 20px;
  color :#A4A4A4;
}
.navbar .nav .nav-link {
  color: #D76000;
}
.navbar .nav .nav-link:hover {
  color: #A4A4A4;
}
.copyright {
  height: 30px;
  background: #D76000;
  color: #FFFFFF;
}
/** 部品 **/
.mt-50 {
  margin-top: 50px
}
.mt-60 {
  margin-top: 60px;
}
.mt-100 {
  margin-top: 100px
}
.fs-12 {
  font-size: 12px;
}
.fs-13 {
  font-size: 13px;
}
.fs-14 {
  font-size: 14px;
}
.fs-15 {
  font-size: 15px;
}
.fs-16 {
  font-size: 16px;
}
.fs-18 {
  font-size: 18px;
}
.lspa-003 {
  letter-spacing: 0.03px;
}
.color-orange {
  color: #D76000;
}
.f-catamaran {
  font-family:'Catamaran', sans-serif;
}
.f-noto {
  font-family:'Noto Sans Japanese', serif;
}
/* 全固定ページで非表示 */
.page .entry-title {
  display: none;
}
