@charset "utf-8";



/* ------------------------------------------------
##  SLIDERの範囲
------------------------------------------------ */

.slider .carousel-item {
min-height: 100vh;
background-position: center;
background-size: cover;
position: relative;
z-index: 1;
background-repeat: no-repeat;
}
/*--------------------------------------------------------------
## 中デバイス（タブレット, 992px 以下）
--------------------------------------------------------------*/
@media (max-width: 1200px) {
.slider .carousel-item {
min-height: 81vh;
background-position: center;
background-size: cover;
position: relative;
z-index: 1;
background-repeat: no-repeat;
}
}
/*--------------------------------------------------------------
## 極小デバイス（縦向きモバイル, 576px 以下）
--------------------------------------------------------------*/
@media (max-width: 576px) {
.slider .carousel-item {
    min-height: 50vh;
    background-position: center;
    background-size: cover;
    position: relative;
    z-index: 1;
    background-repeat: no-repeat;
}
}


.slider .carousel-item::before {
content: '';
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
background-color: rgba(0,0,0,0.7);
z-index: -1;
}

.carousel-box {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%,-50%);
text-align: center;
color: #FFF;
}
/*--------------------------------------------------------------
## 小デバイス（横向きモバイル, 768px 以下）
--------------------------------------------------------------*/
@media (max-width: 768px) {
.carousel-box {
position: absolute;
left: 50%;
top: 56%;
transform: translate(-50%,-50%);
text-align: center;
color: #FFF;
}
}
/*--------------------------------------------------------------
## 極小デバイス（縦向きモバイル, 576px 未満）
--------------------------------------------------------------*/
@media (max-width: 576px) {
.carousel-box {
position: absolute;
left: 50%;
top: 58%;
transform: translate(-50%,-50%);
text-align: center;
color: #FFF;
}
}

.slider div#carousel.carousel.slide div.carousel-inner div.carousel-item.active div.container-fluid h2 {
font-size: 54px;
margin: 10px 0;
letter-spacing: 3px;
background-color: #000;
display: inline-block;
padding: 0 20px 6px 20px;
}
/*--------------------------------------------------------------
## 中デバイス（タブレット, 992px 以下）
--------------------------------------------------------------*/
@media (max-width: 1999px) {
.slider div#carousel.carousel.slide div.carousel-inner div.carousel-item.active div.container-fluid h2 {
font-size: 48px;
margin: 10px 70px;
letter-spacing: 3px;
background-color: #000;
display: inline-block;
padding: 0 20px 6px 20px;
}
}
/*--------------------------------------------------------------
## 小デバイス（横向きモバイル, 768px 未満）
--------------------------------------------------------------*/
@media (max-width: 768px) {
.slider div#carousel.carousel.slide div.carousel-inner div.carousel-item.active div.container-fluid h2 {
font-size: 40px;
margin: 10px 70px;
letter-spacing: 3px;
background-color: #000;
display: inline-block;
padding: 0 20px 6px 20px;
}
}
/*--------------------------------------------------------------
## 極小デバイス（縦向きモバイル, 576px 未満）
--------------------------------------------------------------*/
@media (max-width: 576px) {
.slider div#carousel.carousel.slide div.carousel-inner div.carousel-item.active div.container-fluid h2 {
font-size: 24px;
margin: 10px 25px;
letter-spacing: 3px;
background-color: #000;
display: inline-block;
padding: 0 20px 6px 20px;
}
}

/*--------------------------------------------------------------
## 極小デバイス（縦向きモバイル, 576px 未満）
--------------------------------------------------------------*/
@media (max-width: 576px) {
.slider-lead01 {
display: none;
}
}

.slider-lead02 {
font-size: 24px;
}
/*--------------------------------------------------------------
## 中デバイス（タブレット, 992px 以下）
--------------------------------------------------------------*/
@media (max-width: 992px) {
.slider-lead02 {
font-size: 18px;
margin: 0 70px;
}
}
/*--------------------------------------------------------------
## 小デバイス（横向きモバイル, 768px 以下）
--------------------------------------------------------------*/
@media (max-width: 768px) {
.slider-lead02 {
font-size: 18px;
margin: 0 70px;
}
}
/*--------------------------------------------------------------
## 極小デバイス（縦向きモバイル, 576px 未満）
--------------------------------------------------------------*/
@media (max-width: 576px) {
.slider-lead02 {
font-size: 16px;
padding: 0px;
margin: 0px;
}
}







/* ------------------------------------------------
##  CONCEPTの範囲
------------------------------------------------ */
.concept {
background-color: #2bb3d5;
color: #FFF;
padding: 10px 20px 10px 20px;
}
/*--------------------------------------------------------------
## 極小デバイス（縦向きモバイル, 576px 未満）
--------------------------------------------------------------*/
@media (max-width: 575.98px) {
.concept {
background-color: #2bb3d5;
color: #FFF;
padding: 20px 0px 30px 0px;
}
}

/*--------------------------------------------------------------
## 極小デバイス（縦向きモバイル, 576px 未満）
--------------------------------------------------------------*/
@media (max-width: 575.98px) {
.concept-inner01 h1 {
font-size: 19px; 
}
}

.concept-inner01 {
text-align: center;
}
.concept-lead01 {
display: inline-block;
border-top: 1px dashed;
border-bottom: 1px dashed;
padding: 12px;
}






/*--------------------------------------------------------------
## 大デバイス（デスクトップ, 1200px 未満）
--------------------------------------------------------------*/
@media (max-width: 1199.98px) {
.slide .slide__content--headings h2 {
font-size: 45px;
margin: 10px 20px;
letter-spacing: 3px;
background-color: #000;
display: inline-block;
padding: 0 20px 6px 20px;
}
}
/*--------------------------------------------------------------
## 極小デバイス（縦向きモバイル, 576px 未満）
--------------------------------------------------------------*/
@media (max-width: 575.98px) {
.slide .slide__content--headings h2 {
font-size: 20px;
margin: 10px 20px;
letter-spacing: 3px;
background-color: #000;
display: inline-block;
padding: 0 20px 6px 20px;
}
}


/*--------------------------------------------------------------
## 中デバイス（タブレット, 992px 未満）
--------------------------------------------------------------*/
@media (max-width: 991.98px) {
.rpa h3 {
font-size: 24px;
letter-spacing: 1px;
}
}







/* ------------------------------------------------
ABOUT USの範囲
------------------------------------------------ */
.rpa {
margin: 60px 0px 0px 0px;
}

.rpa h3 {
  font-size: 32px;
  letter-spacing: 1px;
  color: #2bb3d5;
}
/*--------------------------------------------------------------
## 小デバイス（横向きモバイル, 768px 未満）
--------------------------------------------------------------*/
@media (max-width: 767.98px) {
.rpa h3 {
font-size: 30px;
letter-spacing: 1px;
  color: #2bb3d5;
}
}
/*--------------------------------------------------------------
## 極小デバイス（縦向きモバイル, 576px 未満）
--------------------------------------------------------------*/
@media (max-width: 575.98px) {
.rpa h3 {
font-size: 22px;
letter-spacing: 1px;
  color: #2bb3d5;
}
}

.rpa-innre01 {
position: relative;
padding: 33px 30px 20px 30px;
background-color: #f4f7fc;
margin: 20px;

}
.rpa-innre01::before,.rpa-innre01::after {
content: '';
width: 30px;
height: 30px;
position: absolute;
}
.rpa-innre01::before {
border-left: solid 2px #2bb3d5;
border-top: solid 2px #2bb3d5;
top: -10px;
left: -10px;
}

.rpa-innre01::after {
border-right: solid 2px #2bb3d5;
border-bottom: solid 2px #2bb3d5;
bottom: -10px;
right: -10px;
}

.rpa-lead01 {
margin-left: 4px;
line-height: 0 !important;
display: flex;
align-items: center;
}
.rpa-lead01:after {
border-top: 1px solid;
content: "";
width: 100px;
}
.rpa-lead01:after {
margin-left: 1rem;
}

.rpa-text01 {
margin-bottom: 16px;
line-height: 2;
letter-spacing: 2px;
}






/* ------------------------------------------------
SERVICESの範囲
------------------------------------------------ */
.services {
background-color: #f4f7fc;
padding: 80px 0px 80px 0px;
}
/*--------------------------------------------------------------
## 極小デバイス（縦向きモバイル, 576px 未満）
--------------------------------------------------------------*/
@media (max-width: 575.98px) {
.services {
background-color: #f4f7fc;
padding: 30px 0px 20px 0px;
}
}

.services-blockA {
padding: 30px 15px 30px 15px;
display: flex;
flex-direction: column;
border: #2bb3d5 1px solid;
}
/*--------------------------------------------------------------
## 極小デバイス（縦向きモバイル, 576px 未満）
--------------------------------------------------------------*/
@media (max-width: 575.98px) {
.services-blockA {
padding: 10px 0px 30px 0px;
display: flex;
flex-direction: column;
}
}

.services-blockA p {
padding: 0 22px;
}

.item-ttl {
text-align: center;
}
.item-ttl h2 {
font-size: 24px;
margin-bottom: 15px;
margin-top: 15px;
}
.services div.container div.row div.col-12.col-md-6 p {
line-height: 2;
text-align: justify;
padding: 0px 20px;
}






/* ------------------------------------------------
COMPANYの範囲
------------------------------------------------ */
.company {
padding-top: 80px;
}
/*--------------------------------------------------------------
## 極小デバイス（縦向きモバイル, 576px 未満）
--------------------------------------------------------------*/
@media (max-width: 575.98px) {
.company {
padding-top: 40px;
}
}

.company-wrap h3 {
font-size: 24px;
margin-bottom: 30px;
}
/*--------------------------------------------------------------
## 極小デバイス（縦向きモバイル, 576px 未満）
--------------------------------------------------------------*/
@media (max-width: 575.98px) {
.company-wrap h3 {
font-size: 20px;
margin-bottom: 30px;
}
}

.company-boxA {
background: #FFF;
border: 1px solid #2bb3d5;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-direction: normal;
-webkit-box-orient: vertical;
-ms-flex-direction: column;
flex-direction: column;

}
/*--------------------------------------------------------------
## 極小デバイス（縦向きモバイル, 576px 未満）
--------------------------------------------------------------*/
@media (max-width: 575.98px) {
.company-boxA {
background: #FFF;
border: 1px solid #2bb3d5;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-direction: normal;
-webkit-box-orient: vertical;
-ms-flex-direction: column;
flex-direction: column;
margin-bottom: 20px;
}
}

.company-boxA h4 {
padding-top: 10px;
font-size: 20px;
position: relative;
}
.company-boxA h4::before {
content: "";
background-color: #2bb3d5; /* 線の色 */
border-radius: 5px; /* 線の両端を丸く */
bottom: -10px; /* 線の位置 */
height: 2px; /* 線の高さ */
left: 50%; /* 線の中央寄せ */
position: absolute;
transform: translateX(-50%); /* 線の中央寄せ */
width: 40px; /* 線の長さ */
}
.company-text02 {
padding: 20px 40px 0px;
text-align: justify;
letter-spacing: 1px;
}
.company-icon {
padding-top: 30px;
}


/*
.company-ttl01::after {
content: "Message From The President";
position: absolute;
top: 42px;
right: 0;
bottom: 0;
left: 0;
font-size: 16px;
color: #FF0;
font-family: 'Nunito', sans-serif;
}
.company-ttl02 {
padding-top: 10px;
padding-bottom: 15px;
font-size: 20px;
position: relative;
}
.company-ttl02::after {
content: "Company Information";
position: absolute;
top: 42px;
right: 0;
bottom: 0;
left: 0;
font-size: 16px;
color: #FF0;
font-family: 'Nunito', sans-serif;
}
.company-ttl03 {
padding-top: 10px;
padding-bottom: 15px;
font-size: 20px;
position: relative;
}
.company-ttl03::after {
content: "History";
position: absolute;
top: 42px;
right: 0;
bottom: 0;
left: 0;
font-size: 16px;
color: #FF0;
font-family: 'Nunito', sans-serif;
}
*/






/* ------------------------------------------------
INFORMATIONの範囲
------------------------------------------------ */
.information {
margin-top: 80px;
}
/*--------------------------------------------------------------
## 小デバイス（横向きモバイル, 768px 未満）
--------------------------------------------------------------*/
@media (max-width: 768px) {
.information {
margin-top: 40px;
}
}
/*--------------------------------------------------------------
## 極小デバイス（縦向きモバイル, 576px 未満）
--------------------------------------------------------------*/
@media (max-width: 576px) {
.information {
margin-top: 40px;
}
}

.information-article {
display: flex;
position: relative;
padding: 30px 0px 28px 0px;
border-top: 1px solid #CCC;
}
.information-article:nth-child(6){
display: flex;
position: relative;
padding: 30px 0px 28px 0px;
border-bottom: 1px solid #CCC;
}
.information-date {
font-weight: normal;
width: 22%;
}
.information-icon01 {
line-height: 0 !important;
position: absolute;
top: 29px;
left: 140px;
background-color: #8dc031;
padding: 14px 14px 14px 14px;
letter-spacing: 0;
color: #FFF;
font-size: 14px;
}
.information-icon02 {
line-height: 0 !important;
position: absolute;
top: 29px;
left: 140px;
background-color: #df8190;
padding: 14px 30px 14px 30px;
letter-spacing: 0;
color: #FFF;
font-size: 14px;
}
.information-title {
width: 78%;
}
.information-title a:hover {
color: #1f849d;
text-decoration: underline;
}

/*--------------------------------------------------------------
## 中デバイス（タブレット, 992px 以下）
--------------------------------------------------------------*/
@media (max-width: 992px) {
.information-date {
  font-weight: normal;
  width: 33%;
}
}
/*--------------------------------------------------------------
## 小デバイス（横向きモバイル, 768px 以下）
--------------------------------------------------------------*/
@media (max-width: 768px) {
.information-article {
  display: block;
  position: relative;
  padding: 30px 0px 28px 0px;
  border-top: 1px solid #CCC;
}
.information-article:nth-child(6) {
  display: block;
  position: relative;
  padding: 30px 0px 28px 0px;
  border-bottom: 1px solid #CCC;
}
.information-date {
  font-weight: normal;
  width: 30%;
}
.information-title {
  width: auto;
  margin-top: 10px;
}
}







/* ------------------------------------------------
ACCESS MAPの範囲
------------------------------------------------ */
.map {
margin-bottom: -80px;
}







/* ------------------------------------------------
ACCESS MAPの範囲
------------------------------------------------ */
.cookie-consent {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: fixed;
  bottom: 0;
  width: 100%;
  font-size: 12px;
  color: #fff;
  background: rgba(0,0,0,.7);
  padding: 1.2em;
  box-sizing: border-box;
  z-index: 100;
  visibility: hidden;
}
.cookie-consent.is-show {
  visibility: visible;
}
.cookie-consent a {
  color: #fff !important;
}
.cookie-agree {
  color: #fff;
  background: dodgerblue;
  padding: .5em 1.5em;
}
.cookie-agree:hover {
  cursor: pointer;
}
/* パッと消える */
.cc-hide1 {
  display: none;
}
/* ゆっくり消える */
.cc-hide2 {
  animation: hide 1s linear 0s;
  animation-fill-mode: forwards;
}
@keyframes hide {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    visibility: hidden;
  }
}
/* メディアクエリ */
@media screen and (max-width: 600px) {
  .cookie-consent {
    flex-direction: column;
  }
  .cookie-text {
    margin-bottom: 1em;
  }
}


html body div div#pi_tracking_opt_in_div {
display: none;
}




/*** 2023-1025に追加 ***/
.easyworker {
margin-top: 40px;
padding-bottom: 0;
padding-right: 15px;
padding-left: 15px;
}




.btn01 a i.fa-solid.fa-arrow-up-right-from-square {
position: absolute;
left: 68px;
top: 23px;
}




section#section1.rpa {
scroll-margin-top: 150px;
}