/* ============================common========================= */
.grecaptcha-badge { visibility: hidden; }

html {
  scroll-behavior: smooth;
}
body {
  box-sizing: border-box;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  color: #181818;
}
span {
  display: block;
}
a {
  color: #181818;
  text-decoration: none;
}
a:hover {
  opacity: .6;
  transition: all .5s;
}
nav {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  z-index: 8;
  width: 100%;
  height: 100vh;
  transition: all 1s;
}
.bg {
  position: fixed;
  top: 0;
  left: -900px;
  bottom: 0;
  width: 100%;
  background-color: rgba(0, 0, 0, .85);
  transition: all .5s;
}
.bg .material-icons {
  color: rgb(255, 255, 255);
  position: absolute;
  top: 40px;
  right: 25px;
  margin: 0;
  font-size: 50px;
  cursor: pointer;
}
nav ul {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
}
nav li {
  padding: 13px 0;
}
nav a {
  color: #fff;
  font-size: 25px;
  /* font-family: 'Montserrat'; */
}

.header span {
  display: none;
  color: #000000;
  padding-right: 20px;
  font-size: 30px;
  cursor: pointer;
}
.section_padding_40px {
  padding: 0 2.222vw;
  box-sizing: border-box;
}
.section_padding_200px {
  padding: 0 11.111vw;
}
@media(max-width:1000px) {
  .section {
    padding: 0 15px;
  }
  
  .header-right {
    display: none;
  }
  .header span {
    display: block;
  }
}

.header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2.277vw 2.222vw 2.222vw 2vw;
}
.header-left {
  padding-top: 10px;
  padding-left: 7px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
.header-left__logo-text {
  position: absolute;
  top: 0.166vw;
  right: 0.944vw;
  font-size: 0.666vw;
  font-weight: 500;
  letter-spacing: 2.4px;
}
.header-left__logo {
  width: 20.5vw;
  height: 3.777vw;
}
.header-right {

}
.header-menu {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.header-menu__item {
  padding-left: 3.166vw;
}
.header-menu__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.header-menu__link-title {
  font-size: 0.888vw;
  font-weight: bold;
  letter-spacing: 0.05em;
  padding-bottom: 12px;
}
.header-menu__link-subtitle {
  font-family: 'Alata';
  font-size: 0.666vw;
  letter-spacing: 0.05em;
}
.header-menu__item-tel {
  font-family: 'Alata';
  font-size: 1vw;
  letter-spacing: 0.05em;
  padding-bottom: 12px;
}
.header-menu__item-address {
  font-family: 'Alata';
  font-size: 0.722vw;
  font-weight: bold;
  letter-spacing: 0.05em;
}
.header-contact {
  width: 3.888em;
  height: 3.888em;
  background-color: #f6f6f6;
  display: flex;
  align-items: center;
  justify-content: center;
}
.fa-envelope {
  font-size: 1.388vw;
}
.card {
  position: relative;
}
.btn {
  position: absolute;
  bottom: 1.722vw;
  right: 1.722vw;
  /* bottom: 55px;
  right: 55px; */
  font-family: 'Alata';
  font-size: 1.111vw;
  letter-spacing: 0.12em;
}
.recruit .btn,
.interview .btn  {
  color: #fff;
}
.recruit .fa-circle-arrow-right,
.interview .fa-circle-arrow-right {
  color: #fff;
}
.fa-circle-arrow-right {
  color: #000;
  padding-left: 1.333vw;
}
/* bottom-hero */
.bottom-hero {
  height: 16.666vw;
  background-size: cover;
}
.bottom-hero__title {
  font-family: Alata;
  font-size: 4.444vw;
  line-height: 1.25;
  letter-spacing: 0.12em;
  padding: 4.166vw 0 0 5.666vw;
}
.bottom-hero__subtitle {
  font-size: 1.222vw;
  font-weight: bold;
  letter-spacing: 0.3em;
  padding: 0.888vw 0 0 5.666vw;
}
/*========================================== hero =======================================*/
.hero {
  box-sizing: border-box;
  /* height: calc(100vh - 148px); */
  width: 100%;
  overflow: hidden;
  position: relative;
}
#youtube-area {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
#youtube {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 100%;
  height: 100%;
}
  
/*youtubeがクリックされないためのマスク*/
#youtube-mask{
    position: absolute;
    z-index: 2;/*下から2番目に表示*/
    top:0;
    width:100%;
    height: 100%;
}
.hero-body {
  position: absolute;
  top: 50%;
  left: 10%;
  transform: translate(0,-50%);
}
.hero-body__title {
  font-family: Alata;
  font-size: 6.111vw;
  letter-spacing: 0.12em;
  color: #fff;
}
.hero-body__text {
  font-size: 1.333vw;
  font-weight: bold;
  letter-spacing: 0.3em;
  color: #fff;
  padding-top: 40px;
}

/* =======================-news======================== */
.news {
  width: 100%;
}
.news__body {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: end;
  padding-top: 2.111vw;
  position: relative;
}
.news__body::after {
  position: absolute;
  content: '>';
  width: 0.5vw;
  height: 0.833vw;
  position: absolute;
  right: 0.555vw;
  /* transform: translate(0,-50%); */
}
.news__title {
  font-size: 1.333vw;
  font-weight: bold;
  letter-spacing: 0.05em;
  color: #181818;
  padding-right: 4vw;
}
.news__detail {
  display: flex;
  align-items: center;
}
.news__time {
  font-size: 0.833vw;
  font-weight: 500;
  line-height: 3.33;
  letter-spacing: 0.05em;
  padding-right: 1.111vw;
}
.news__category {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 7vw;
  height: 1.222vw;
  font-size: 0.666vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #fff;
  background-color: #181818;
  margin-right: 0.722vw;
}
.news__text {
  font-size: 0.833vw;
  font-weight: 500;
  letter-spacing: 0.05em;
  padding-right: 21vw;
}

/* ================================-trusted===========================- */
.trusted {
  padding-top: 170px;
}
.card__right{
  width: 100%;
  height: 38.888vw;
  background-image: url('../img/top/レイヤー 18@2x.jpg');
  background-size: cover;
  display: flex;
  flex-direction: column;
  align-items: end;
  justify-content: center;
  box-sizing: border-box;
}
.card__right .card__body {
  width: 35%;
  padding-right: 6.5vw;
}
.card__title {
  font-family: 'Alata';
  font-size: 5vw;
  line-height: 1.11;
  letter-spacing: .1em;
}
 .card__subtitle {
  font-size: 1.388vw;
  font-weight: bold;
  letter-spacing: 0.3em;
  padding: 2.674vw 0 2.616vw 0;
}
.card__text {
  font-size: 0.888vw;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.8px;
}

/* ==================================kaisyudo solution ===================================*/

.kaisyudo-solution__title {
  font-family: 'Alata';
  font-size: 3.888vw;
  letter-spacing: 0.05em;
  text-align: center;
  /* padding: 7.555vw 0 2.111vw 0; */
  padding: 7.055vw 0 1.833vw 0;
}
.kaisyudo-solution__text {
  font-family: 'Alata';
  font-size: 1.111vw;
  font-weight: bold;
  letter-spacing: 0.2em;
  text-align: center;
  padding-bottom: 112px;
}

.media {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.media__img-wrapper {
  width: calc(100%/3);
  height: 31.833vw;
  position: relative;
}
.media__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.media__img-btn {
  position: absolute;
  left: 0;
  bottom: 1.666vw;
  width: 17.777vw;
  height: 3.333vw;
  background-color: rgba(255, 255, 255, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.888vw;
  font-weight: bold;
  letter-spacing: 0.1em;
}
.kaisyudo-solution .media__body {
  box-sizing: border-box;
  width: calc(100%/3);
  padding: 0 3.777vw;
  height: 31.833vw;
  background-color: #f6f8fa;
  position: relative;
}
.works .media__body {
  box-sizing: border-box;
  width: calc(100%/3);
  padding: 0 3.777vw;
  background-color: #f6f8fa;
  position: relative;
}
.media__body > *:last-child {
  /* margin-bottom: 0; */
}
.media__title {
  font-family: 'Alata';
  font-size: 2.777vw;
  letter-spacing: 0.05em;
  text-align: center;
  padding-top: 7.611vw;
}
.works .media__title {
  padding-top: 0;
}
.btn__works {
  padding-top: 3.722vw;
  display: block;
  position: static;
  border-bottom: 1px solid #000;
  text-align: center;
  padding-bottom: 10px;
}
.media__subtitle {
  font-size: 1.111vw;
  font-weight: bold;
  letter-spacing: 0.2em;
  text-align: center;
  padding-top: 1.777vw;
}
.media__text {
  font-size: 0.888vw;
  font-weight: 500;
  line-height: 2em;
  letter-spacing: 0.05em;
  text-align: left;
  padding-top: 2.277vw;
}

.cards {
  display: flex;
  padding-top: 2.222vw;
}
.card__center{
  width: 50%;
  height: 15.555vw;
  background-color: #f5f7f9;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
.card__center:first-of-type {
  background-color: #fafbfc;
}
.card__center .card__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.card__center .card__title {
  font-size: 2.777vw;
}
.card__center .card__subtitle {
  font-size: 1.111vw;
  padding: 1.777vw 0 0 0;
}
/*======================================= works========================================== */
.works {
  padding-top: 12.555vw;
}
.media__img-wrappers {
  width: 66.27%;
  display: flex;
}
.works .media__img-wrapper {
  width: calc(100%/3);
  height: 33.333vw;
}
.works .media__body {
  background-color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

/* =========================================information================================= */

.information {
  padding-top: 13.611vw;
  display: flex;
  flex-wrap: wrap;
}

.card__left {
  display: flex;
  flex-direction: column;
  align-items: start;
  justify-content: center;
  box-sizing: border-box;
}
.card__left .card__body {
  padding-left: 7.333vw;
}
.card__left .card__title {
  font-family: 'Alata';
  font-size: 3.333vw;
  letter-spacing: 0.05em;
}
.card__left .card__subtitle {
  font-size: 1.111vw;
  font-weight: bold;
  letter-spacing: 0.2em;
}
.card__left .card__text {
  font-size: 0.888vw;
  font-weight: 500;
  line-height: 2em;
  letter-spacing: 0.05em;
}
.recruit {
  width: 100%;
  height: 23.333vw;
  background-image: url('../img/top/information-recruit.jpg');
  background-size: cover;
  margin-bottom: 1.166vw;
}
.interview {
  width: 57.142%;
  height: 16.666vw;
  background-image: url('../img/top/information-interview.jpg');
  background-size: cover;
  margin-right: 1.328%;
  box-sizing: border-box;
}
.about {
  width: 41.428%;
  height: 16.666vw;
  background-image: url('../img/top/information-about.jpg');
  background-size: cover;
  box-sizing: border-box;
}

/* ====================================blog=================================== */
.blog {
  margin-top: 9.5vw;
  background-color: #f5f7f9;
  padding: 0 18.888vw;
	overflow: hidden;
}
.blog__title {
  font-family: 'Alata';
  font-size: 3.888vw;
  letter-spacing: 0.05em;
  text-align: center;
  padding-top: 5.666vw;
}
.blog__subtitle {
  font-size: 1.111vw;
  font-weight: bold;
  letter-spacing: 0.2em;
  text-align: center;
  padding-top: 2.055vw;
}
.articles {
  padding-top: 4.333vw;
  padding-bottom: 8.555vw;
  display: flex;
  /* flex-wrap: wrap; */
}
.article {
  box-sizing: border-box;
  width: 48.214%;
  height: 8.333vw;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: start;
  margin-right: 3.571%;
}
.article:last-of-type {
  margin-right: 0;
}
.article__img-wrapper {
  width: 6.111vw;
  height: 6.111vw;
  margin-right: 1.555vw;
  margin-left: 1.194vw;
}

.article__body {
    width: 18vw;
}

.article__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.article__time {
  font-family: 'Alata';
  font-size: 0.944vw;
  letter-spacing: 0.05em;
}
.article__text {
  font-size: 0.888vw;
  font-weight: 500;
  line-height: 1.63;
  letter-spacing: 0.05em;
}

/*================================ contact ===============================*/
.contact {
  display: flex;
  justify-content: center;
  padding-bottom: 4.166vw;
}
.contact__title {
  padding-top: 4vw;
  padding-right: 8.888vw;
  font-family: 'Alata';
  font-size: 3.333vw;
  letter-spacing: 0.05em;

}
.contact__subtitle {
  padding-top: 1.777vw;
  font-size: 1.111vw;
  font-weight: bold;
  letter-spacing: 0.2em;
}
.contact__text {
  padding-top: 3.888vw;
  padding-bottom: 1.555vw;
  font-size: 0.888vw;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.05em;
}
.contact__detail {
  display: flex;
}
.contact__detail .fa-circle-arrow-right {
  color: #fff;
}
.contact__tel {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 18.888vw;
  height: 3.5vw;
  font-family: Alata;
  font-size: 1.444vw;
  letter-spacing: 0.05em;
  background-color: #f9f9f9;
}
.contact__form {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 18.888vw;
  height: 3.5vw;
  font-size: 0.944vw;
  font-weight: bold;
  letter-spacing: 0.05em;
  background-color: #181818;
  color: #fff;
}

/* =============================footer=============================== */

.footer {
  background-color: #181818;
  height: 18.333vw;
  /* padding: 0 23.055vw; */
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  gap: 7.777vw;
}
.footer-left {
  display: flex;
  flex-direction: column;
  /* justify-content: center; */
  align-items: center;
}
.footer__img-wrapper {
  padding-top: 4.166vw;
  position: relative;
}
.footer__img {
  width: 20.5vw;
  height: 3.777vw;
}
.footer__img-text {
  position: absolute;
  top: 4.055vw;
  right: 0;
  font-size: 0.666vw;
  font-weight: 500;
  letter-spacing: 0.2em;
  color: #fff;
}
.footer__text {
  color: #fff;
  font-size: 0.833vw;
  font-weight: bold;
  line-height: 1.73;
  letter-spacing: 0.2em;
}
.footer-left__link {
  padding-top: 3.944vw;
  display: flex;
  gap: 3.777vw;
  padding-top: 2.277vw;
}
.footer-left__link-item {
  color: #fff;
  font-size: 0.777vw;
  font-weight: 500;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: 0.05em;
}
.footer-right {
  display: flex;
  flex-direction: column;
  /* justify-content: center; */
  align-items: center;
}
.footer-right__menu {
  margin-top: 2.5vw;
  display: flex;
  flex-wrap: wrap;
}
.footer-right__menu-item {
  margin-top: 2.277vw;
  width: calc(100%/3);
}
.footer-right__menu-link {
  color: #fff;
  font-size: 0.888vw;
  font-weight: bold;
  letter-spacing: 0.05em;
  position: relative;
}
.footer-copyright {
  padding-top: 3.277vw;
  color: #aaa;
  font-size: 0.777vw;
  font-weight: 500;
  letter-spacing: 0.05em;
}
.footer-left__link-item ,
.footer-right__menu-item {
  position: relative;
}
.footer-left__link-item::before,
.footer-right__menu-link::before {
  position: absolute;
  top: 50%;
  left: -0.555vw;
  transform: translate(-50%,-50%);
  width: 0.5vw;
  height: 0.222vw;
  content: '';
  background-color: #fff;
}


/* ====================================================================================== */
/* ==========================================solution==================================== */
/* ====================================================================================== */

.bottom-hero {
  height: 16.666vw;
  background-size: cover;
}
.bottom-hero__title {
  font-family: Alata;
  font-size: 4.444vw;
  line-height: 1.25;
  letter-spacing: 0.12em;
  padding: 4.166vw 0 0 5.666vw;
}
.bottom-hero__subtitle {
  font-size: 1.222vw;
  font-weight: bold;
  letter-spacing: 0.3em;
  padding: 0.888vw 0 0 5.666vw;
}
.solution__hero {
  background-image: url('../img/solution/solution-top.jpg');
}

.bottom-menu {
  text-align: center;
  padding-top: 3.444vw;
}
.bottom-menu__inner {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.solution__menu .bottom-menu__item {
  width: 16.5%;
}
.solution__menu li:last-child .bottom-menu__title {
	letter-spacing: -0.05em;
}

.bottom-menu__item:last-child .bottom-menu__body {
  border-right: none;
}
.bottom-menu__body {
  /* height: 5.888vw; */
  height: 7.5vw;
  border-right: #bdbdbd solid 1px;
  position: relative;
}
.fa-circle-arrow-down {
  position: absolute;
  bottom: -0.277vw;
  left: 50%;
  transform: translate(-50%,0);
  width: 1.111vw;
  height: 1.111vw;
}
.bottom-menu__title {
  font-family: Alata;
  font-size: 2vw;
  letter-spacing: 0.05em;
  padding-bottom: 0.777vw;
}
.bottom-menu__subtitle {
  font-size: 0.833vw;
  font-weight: bold;
  line-height: 1.47em;
  letter-spacing: 0.2em;
}
.solution__menu li:last-child .bottom-menu__subtitle {
	position: relative;
	top: -5px;
}

/*==================================== cooperation ====================================*/

.cooperation {
  padding-top: 3.055vw;
}
.cooperation__contect {
  padding-bottom: 6.555vw;
}
.card__bottom {
  background-size: cover;
  height: 33.333vw;
  display: flex;
  align-items: end;
  /* margin-top: 5.166vw; */
}
.card__bottom .card__body {
  padding: 0 0 3.277vw 4vw;
}
.card__bottom .card__title {
  width: 22.888vw;
  height: 4.111vw;
  font-family: 'YuGothic';
  font-size: 1.555vw;
  font-weight: bold;
  /* letter-spacing: 0.2em; */
  background-color: #222;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 2.222vw;
}
.card__bottom .card__text {
  font-size: 0.888vw;
  font-weight: 500;
  line-height: 2em;
  letter-spacing: 0.05em;
  color: #fff;
}

.cooperation__text {
  padding-top: 3.166vw;
  font-size: 1.222vw;
  font-weight: bold;
  letter-spacing: 0.3em;
  line-height: normal;
  text-align: center;
}
.cooperation__images {
  padding-top: 3.111vw;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3.555vw;
}
.cooperation__img-wrapper {
  text-align: center;
}
.cooperation__img {
  width: 12.227vw;
  height: 3.111vw;
}

.cooperation__office {
  background-image: url('../img/solution/solution__1.jpg');
  background-position: center;
}
.cooperation__school {
  background-image: url('../img/solution/solution__2.jpg');
  background-position: center;
}
.cooperation__security {
  background-image: url('../img/solution/solution__3.jpg');
  background-position: center;
}
.cooperation__construction {
  background-image: url('../img/solution/solution__4.jpg');
  background-position: center;
}
.cooperation__signage {
  background-image: url('../img/solution/solution__5.jpg');
  background-position: center;
}
.cooperation__maintenance {
  background-image: url('../img/solution/solution__6.jpg');
  background-position: center;
  margin: 8.722vw 0 5.666vw 0;
}
.axona {
  width: 19.166vw;
  height: 1.722vw;
}
.art {
  width: 15.833vw;
  height: 3.055vw;
}
.dodwell {
  width: 16vw;
  height: 2.777vw;
}
.toli {
  width: 9.5vw;
  height: 4.888vw;
}
.tatikawa {
  width: 17.222vw;
  height: 2.111vw;
}
/* ======================================================================================= */
/* ======================================company ==========================================*/
/* ======================================================================================= */

.company__hero {
  background-image: url('../img/company/company.jpg');
}

.company-top {
  padding-top: 7.055vw;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.company-top__title {
  font-family: Alata;
  font-size: 3.888vw;
  letter-spacing: 0.05em;
  text-align: center;
}
.company-top__subtitle {
  padding-top: 1.722vw;
  font-size: 1.111vw;
  font-weight: bold;
  letter-spacing: 0.2em;
}
.company-top__img-wrapper {
  padding-top: 4.333vw;
  position: relative;
}
.company-top__img {
  width: 26.277vw;
  height: 5vw;
}
.company-top__text {
  padding-top: 3.333vw;
  font-size: 0.888vw;
  font-weight: bold;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: center;
}
.company-detail {
  padding-top: 6.611vw;
  position: relative;
}
.company-detail__img-wrapper {
  width: 95.555vw;
  padding-bottom: 592px;
}
.company-detail__img {
  width: 100%;
}


.company-detail .table_box {
  padding: 23px;
  position: absolute;
  bottom: -9.945vw;
  left: 50%;
  transform: translate(-50%,0);
  width: 70vw;
  background-color: #fff;

  box-shadow: 0 0 42px 0 rgba(0, 0, 0, 0.05);
}
.company-detail table {
  padding: 0;
  margin: 0;
  border-collapse: collapse;
    border-spacing: 0;
  width: 100%;
}
.company-detail table tr:nth-child(even) {
  background: #f5f5f5;
}
.company-detail table th,
.company-detail table td {
  font-size: 15px;
  font-weight: 500;
  padding: 20px 30px;
  letter-spacing: 1px;
    vertical-align: middle;
  text-align: left;
  line-height: 2;
}
.company-detail table th {
  font-weight: bold;
  text-align: center;
  background: #f6f6f8;
}
.company-detail table td span {
}
.company-detail ul {
  padding: 0;
  margin: 0;
}
.company-detail li {
  list-style: none;
  margin-left: 0;
}
.company-detail li:before {
  content: '■';
  margin-right: 10px;
  color: #4cafdf;
}
.company-detail .btn_list {
  overflow: hidden;
  clear: both;
  width: 300px;
}
.company-detail table td.btn_list {
  padding: 10px;
}
.company-detail table td:first-child {
  padding-left: 40px;
  position: relative;
}
.company-detail table td:first-child:before {
  display: block;
  content: '';
  width: 8px;
  height: 8px;
  background: #ff0000;
  position: absolute;
  top: -4px;
  left: 18px;
  bottom: 0;
  margin: auto;
}
.company-detail .btn_list a {
  display: block;
  width: 47%;
  margin: 1.5%;
  border-radius: 15px;
  text-decoration: none;
  float: left;
  box-sizing: border-box;
  text-align: center;
  font-size: 13px;
  padding: 1.5% 0;
  background: #658ccc;
  color: #fff;
  border: 1px solid #fff;
  position: relative;
}
.company-detail .btn_list a i {
  position: absolute;
  top: 0;
  left: 20px;
  bottom: 0;
  margin: auto;
  height: 13px;
}
.company-detail .btn_list a:nth-child(2) {
  background: #e3cf5f;
}
.company-detail .btn_list a:nth-child(3) {
  background: #df8098;
}
.company-detail .btn_list a:nth-child(4) {
  background: #de955b;
}
.company-detail .btn_list a.off {
  border: 1px solid #ddd;
  color: #ddd;
  background: #fff;
}
.company-detail table.tal td {
  text-align: left;
}
.company-detail table.koukan_table td:first-child:before {
  display: none;
}
.company-detail table.koukan_table td {
  text-align: left;
  padding-left: 30px;
}


.history {
  padding-top: 16vw;
}

.history__title {
  font-family: Alata;
  font-size: 3.888vw;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: 0.05em;
  text-align: center;
}
.history__subtitle {
  padding-top: 2.111vw;
  font-size: 1.111vw;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: 0.2em;
  text-align: center;
}
.history-list .table_box{
  width: 62.222vw;
  margin:0 auto;
  padding:100px 0;
}
.history-list table {
  padding:0;
  margin:0;
  border-collapse:collapse;
  border-spacing:0;
  width:100%;
}
.history-list table tr{
  position: relative;
}
.history-list table tr:nth-child(odd){
  background:#f6f6f6;
}
.history-list table td {
  font-size:14px;
  font-weight:500;
  letter-spacing:1px;
  vertical-align:middle;
  text-align:left;
  padding: 18px 0;
  z-index: 2;
  position: relative;
  line-height: 2;
}
.history-list table td:first-child {
  text-align: center;
  position: relative;
  color: #fff;
}
.history-list table tr i {
	position: relative;
	display: block;
  width: 140px;
  height: 30px;
  border-radius: 100px;
  background: #ff0000;
	margin-left: 20px;
	color: #fff;
}
/*.history-list table tr i::before {
  content: '';
  display: block;
  width: 140px;
  height: 30px;
  position: absolute;
  border-radius: 100px;
  background: #ff0000;
  margin: auto;
  top: 0;
    bottom: 0;
  left: 20px;
}*/
.history-list table td:nth-child(2) {
  padding-left: 10px;
  padding-right: 20px;
}

/* =================================================================================== */
/*======================================= works =======================================*/
/* =================================================================================== */

.works_section_padding_200px {
  margin: 0 11.111vw;
}
.works__hero {
  background-image: url('../img/works/works.jpg');
}
.works-media {
  padding: 7.333vw 11.111vw 8.555vw 11.111vw;
  display: flex;
  align-items: center;
  gap: 4.111vw;
}
.works-media:nth-child(even) {
  background-color: #f5f7f9;
}
.works-media__img-wrapper {
  width: 38.888vw;
}
.works-media__img {
  width: 100%;
}
.works-media__body {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.works-media__title {
  width: 33.333vw;
  height: 4.111vw;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.555vw;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: 0.2em;
  color: #fff;
  background-color: #222;
  margin-bottom: 2.888vw;
}
.works-media__text {
  font-size: 1.222vw;
  font-weight: 500;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.82;
  letter-spacing: 0.05em;
  text-align: center;

}
.works-media__company {
  font-size: 1vw;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: 0.24em;
  padding-top: 2.6vw;
	text-align: center;
}
.works-media__company i {
	display: block;
	font-size: 85%;
	padding-top: 5px;
}
.sub-image {
  display: flex;
  gap: 1.388vw;
  padding-top: 3.777vw;
}
.sub-image__img-wrapper {
  width: 16.66vw;
  height: 11.111vw;
}
.sub-image__img {
  width: 100%;
}

.pager {
  display: flex;
  overflow-x: auto;
  background-color: #f5f7f9;
  height: 10.555vw;
  align-items: center;
}
.pager__inner {
  display: flex;
  margin-right: auto;
  margin-left: auto;
}
.pager__inner > *:last-child {
  margin-right: 0;
}
.pager__item {
  margin-right: 0.833vw;
}
.pager__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.055vw;
  height: 3.055vw;
  font-size: 1.222vw;
  border: 1px solid currentColor;
  color: #fff;
  background-color: #222222;
  text-decoration: none;
  transition: all .25s;
}
.pager__link:focus,
.pager__link:hover {
  background-color: #222222;
  color: #fff;
  opacity: .75;
}
.pager__link--active {
  background-color: #fff;
  color: #181818;
  pointer-events: none;
}


/* ================================================================================== */
/* ======================================recruit===================================== */
/* ================================================================================== */

.recruit-hero {
  box-sizing: border-box;
  margin: 0 2.222vw;
  width: 95.555vw;
  height: 38.888vw;
  background-image: url('../img/recruit/recruit__image.jpg');
  background-size: cover;
  position: relative;
}
.recruit-hero .hero-body__title {
  color: #181818;
}
.recruit-hero .hero-body__text {
  color: #181818;
  padding-top: 0.833vw;
}
.recruit-media {
  display: flex;
  flex-wrap: wrap;
  padding-top: 10.611vw;
	position: relative;
}
.recruit-media .media__img-wrapper {
  width: 42.777vw;
  height: 31.111vw;
}
.recruit-media .media__body {
  box-sizing: border-box;
  width: 52.777vw;
  /* padding: 0 3.777vw; */
  /* padding: 0 235px; */
  padding-left: 13.055vw;
  height: 31.111vw;
  background-color: #f6f8fa;
  position: relative;
	position: absolute;
    top: 40%;
    right: 5%;
}
.recruit-media .media__title {
  font-family: Alata;
  font-size: 5vw;
  line-height: 1.11;
  letter-spacing: 0.12em;
  padding-top: 4.611vw;
  text-align: left;
}
.recruit-media .media__subtitle {
  font-size: 1.111vw;
  font-weight: bold;
  letter-spacing: 0.2em;
  text-align: left;
  /* padding-top: 1.777vw; */
  padding-top: 1.888vw;
}
.recruit-media .media__text {
  font-size: 0.888vw;
  font-weight: 500;
  line-height: 2em;
  letter-spacing: 0.05em;
  text-align: left;
  /* padding-top: 5.277vw; */
  padding-top: 2.222vw;
}

/* ==================================================================================== */
/*====================================== message =======================================*/
/* ==================================================================================== */

.message__hero {
  background-image: url('../img/message/massage-top.jpg');
}
.message-top {
  padding-top: 7.388vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-bottom: 119px;
}
.message-top__img-wrapper {
  padding-top: 2.833vw;
}
.message-top__img {
  width: 64.722vw;
  height: 22.055vw;
}



.profile {
  padding: 7.888vw 18.888vw 2.333vw 18.888vw;
  background-color: #f5f7f9;
}
.profile__title {
  font-family: Alata;
  font-size: 3.888vw;
  letter-spacing: 0.05em;
  text-align: center;
  padding-bottom: 1vw;
}
.profile__subtitle {
  font-size: 1.111vw;
  font-weight: bold;
  letter-spacing: 0.2em;
  text-align: center;
  padding-top: 0.777vw;
  padding-bottom: 4.777vw;
}
.profile-card {
  margin-bottom: 1.666vw;
  display: flex;
  align-items: center;
  flex-direction: column;
}


.profile-card__img-wrapper {
  width: 100%;
  height: 10.055vw;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 2.444vw;
}
.profile-cards__item:nth-child(1) .profile-card__img {
  width: 8.5vw;
  height: 7.388vw;
}
.profile-cards__item:nth-child(2) .profile-card__img {
  width: 9.166vw;
  height: 10.055vw;
}
.profile-cards__item:nth-child(3) .profile-card__img {
  width: 6.333vw;
  height: 8.944vw;
}

.graph-content span {
  display: inline;
}
.profile-card__body {
  padding: 0.833vw;
}
.profile-card__body > *:last-child {
  margin-bottom: 0;
}
.profile-card__title {
  font-size: 1.111vw;
  font-weight: bold;
  line-height: 1.3em;
  letter-spacing: 0.2em;
  text-align: center;
  height: 2.5vw;
  display: flex;
  align-items: center;
  justify-content: center;
}
.profile-card__text {
  font-size: 0.888vw;
  font-weight: 500;
  line-height: 2em;
  letter-spacing: 0.05em;
  text-align: left;
  padding-top: 1.944vw;
}
.profile-cards {
  display: flex;
  flex-wrap: wrap;
}

.profile-cards--col3 > .profile-cards__item {
  width: 31.707%;
  margin-right: 2.43902%;
  margin-bottom: 30px;
}
.profile-cards--col3 > .profile-cards__item:nth-of-type(3n) {
  margin-right: 0;
}

/* ======================================================================================= */
/*======================================= welfare =========================================*/
/* ======================================================================================= */

.welfare__hero {
  background-image: url('../img/welfare/welfare-top.jpg');
}
.welfare-top {
  box-sizing: border-box;
  padding: 0 18.888vw;
}
.welfare-top__title {
  font-family: Alata;
  font-size: 3.888vw;
  letter-spacing: 0.05em;
  text-align: center;
  padding-top: 6.611vw;
}
.welfare-top__subtitle {
  font-size: 1.111vw;
  font-weight: bold;
  letter-spacing: 0.2em;
  text-align: center;
  padding-top: 0.777vw;
}
.welfare-top__img-wrapper {
  padding-top: 4.666vw;
  width: 62.222vw;
  height: 18.888vw;
}
.welfare-top__img {
  width: 100%;
}
.welfare-top__lists {
  padding-top: 0.944vw;
  display: flex;
  flex-wrap: wrap;
	padding-bottom: 3vw;
}
.welfare-top__list {
  width: 25%;
}
.welfare-top__list-item {
  font-size: 0.888vw;
  font-weight: bold;
  line-height: 2.25;
  letter-spacing: 0.1em;
  padding-left: 1.277vw;
  position: relative;
}
.welfare-top__list-item::before {
  position: absolute;
  top: 50%;
  left: 0.444vw;
  transform: translate(-50%,-50%);
  width: 0.722vw;
  height: 0.722vw;
  content: '';
  background-color: #ff0000;
}
.education {
  background-color: #f5f7f9;
  padding-bottom: 6.722vw;
}
.education__title {
  font-family: Alata;
  font-size: 3.888vw;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: 0.05em;
  text-align: center;
  padding-top: 6.555vw;
}
.education__subtitle {
  font-size: 1.111vw;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: 0.2em;
  text-align: center;
  padding: 0.777vw 0 3.277vw 0;
}
.education-card {
  /* box-shadow: 0 3px 6px rgba(0, 0, 0, .16); */
  margin-bottom: 1.666vw;
}
.education-card__img-wrapper {
  width: 30vw;
  height: 18.888vw;
}
.education-card__img {
  width: 100%;
  height: 100%;
}
.education-card__body {
  /* padding: 15px; */
}
.education-card__body > *:last-child {
  margin-bottom: 0;
}
.education-card__title {
  padding-top: 1.444vw;
  font-size: 1.111vw;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: 0.2em;
}
.education-card__text {
  font-size: 0.888vw;
  font-weight: 500;
  font-stretch: normal;
  font-style: normal;
  line-height: 2;
  letter-spacing: 0.05em;
  padding-top: 1.111vw;
}
.education-cards {
  display: flex;
  align-items: center;
  justify-content: center;
}
.education-cards--col3 {
  margin-bottom: -1.666vw;
}
.education-cards--col3 > .education-cards__item {
  /* width: 31.707%; */
  margin-right: 2.43902%;
  margin-bottom: 1.666vw;
}
.education-cards--col3 > .education-cards__item:nth-of-type(2n) {
  margin-right: 0;
}

.vacation {
  padding-bottom: 5.444vw;
}
.vacation__title {
  font-family: Alata;
  font-size: 3.888vw;
  letter-spacing: 0.05em;
  text-align: center;
  padding-top: 5.222vw;
}
.vacation__subtitle {
  font-size: 1.111vw;
  font-weight: bold;
  letter-spacing: 0.2em;
  text-align: center;
  padding-top: 1.944vw;
}
.vacation-media {
  display: flex;
  align-items: start;
  justify-content: center;
  gap: 3.166vw;
  padding-top: 5.166vw;
}
.vacation-media__img-wrapper {
  width: 30vw;
  height: 18.888vw;
}
.vacation-media__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.vacation-media__lists {
  display: flex;
  width: 29vw;
}
.vacation-media__list {
  width: 50%;
}
.vacation-media__list-item {
  font-size: 0.888vw;
  font-weight: bold;
  line-height: 2.25;
  letter-spacing: 0.1em;
  padding-left: 1.277vw;
  position: relative;
}
.vacation-media__list-item::before {
  position: absolute;
  top: 50%;
  left: 0.444vw;
  transform: translate(-50%,-50%);
  width: 0.722vw;
  height: 0.722vw;
  content: '';
  background-color: #ff0000;
}

/* ===================================================================================== */
/*==================================== recruit-staff ====================================*/
/* ===================================================================================== */

.interview__hero {
  background-image: url('../img/interview/interview-top.jpg');
}
.interview__menu {
  padding-bottom: 5.777vw;
}
.interview__menu .bottom-menu__item {
  width: 33%;
}
.interview__menu .bottom-menu__title {
  font-size: 1.666vw;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 0.1em;
	font-family: "Yu Gothic","游ゴシック",YuGothic,"Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"MS Pゴシック",Helvetica,Arial,Verdana,sans-serif;

}
.interview__menu .solution__menu li:last-child .bottom-menu__title {
  letter-spacing: 0.1em;

}
.interview__menu .bottom-menu__subtitle {
  font-size: 1vw;
  font-weight: bold;
  line-height: 2.333em;
  letter-spacing: 0.2em;

}
.staff-medias {
  padding-bottom: 5.777vw;
}
.staff-media { 
  display: flex;
  align-items: start;
  gap: 3.722vw;
  padding-bottom: 35px;
}
.staff-media:nth-child(1) .staff-media__img-wrapper{
  width: 46.444vw;
  height: 53vw;
}
.staff-media:nth-child(2) .staff-media__img-wrapper{
  width: 49.833vw;
  height: 39vw;
}
.staff-media--reverse {
  flex-direction: row-reverse;
}
.staff-media__img-wrapper {
  /* flex: 0 1 50.58333%; */
  /* margin-right: 3.33333%; */
}
.staff-media__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.staff-media__body {
  flex: 1;
	padding-top: 5%;
  /* padding: 0 3vw; */
  padding-right: 11.111vw;
}
.staff-media--reverse .staff-media__body {
  flex: 1;
  /* padding: 0 3vw; */
  padding-right: 0;
  padding-left: 11.111vw;
}
.staff-media__body > *:last-child {
  margin-bottom: 0;
}
.staff-media__title {
  font-size: 1.222vw;
  font-weight: bold;
  letter-spacing: 0.2em;
  padding-left: 3.888vw;
  margin-bottom: 1.666vw;
  position: relative;
}
.staff-media__title::before {
  position: absolute;
  content: 'Q.';
  font-family: Alata;
  font-size: 2.222vw;
  top: 50%;
  left: 1.5vw;
  transform: translate(-50%,-50%);
}
.staff-media__text {
  font-size: 0.888vw;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.05em;
  padding-bottom: 4.111vw;
}
.staff-introduce {
  display: flex;
  align-items: center;
  padding-bottom: 4.333vw;
}
.staff-detail {
  padding-left: 1.722vw;
}
.staff-name {
  font-size: 1.777vw;
  font-weight: bold;
  letter-spacing: 0.2em;
  padding-bottom: 1.166vw;
}
.staff-about {
  font-size: 1.111vw;
  font-weight: bold;
  letter-spacing: 0.2em;
}
.staff-introduce__img-wrapper {
  width: 4.333vw;
  height: 4.333vw;
}
.staff-introduce__img {
  width: 100%;
  height: 100%;
}
.staff-answer {
  display: flex;
  flex-wrap: wrap;
  /* gap: 7.777vw; */
}
.staff-answer__body {
  width: 45%;
}
.staff-answer__body:nth-child(even) {
  padding-left: 7.777vw;
}

.schedule__heading {
  display: flex;
  align-items: end;
  padding-bottom: 2.055vw;
}
.schedule__title {
  font-family: Alata;
  font-size: 2.777vw;
  letter-spacing: 0.05em;
  padding-right: 1.5vw;
}
.schedule__text {
  font-size: 1.555vw;
  font-weight: bold;
  letter-spacing: 0.2em;
}
.schedule-models {
  display: flex;
}
.schedule-model {
  width: 22.857%;
  height: 16.666vw;
  margin-right: 2.222vw;
  background-color: #f5f7f9;
  position: relative;
}
.height_tall .schedule-model {
  height: 19.5vw;
}
.schedule-model::after {
  position: absolute;
  top: 50%;
  right: -4.833vw;
  transform: translate(-50%,-50%);
  content: '';
  border: 1.444vw solid transparent;
  border-left: 1.444vw solid #000;
  width: 0;
  height: 0;
}
.schedule-model:last-child {
  margin-right: 0;
}
.schedule-model:last-child::after {
  display: none;
}
.schedule-model__time {
  font-size: 1.222vw;
  font-weight: bold;
  letter-spacing: 0.2em;
  padding: 1.055vw 0 0 1.277vw;
}
.schedule-model__title {
  font-size: 1.444vw;
  font-weight: bold;
  letter-spacing: 0.2em;
  text-align: center;
  padding: 2.444vw 0;
}
.schedule-model__text {
	font-size: 0.744vw;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.2em;
	padding: 1vw;
}

/* ================================================================================== */
/* ======================================recruit===================================== */
/* ================================================================================== */

.recruit-about__hero {
  background-image: url('../img/recruit-about/about-top@2x.jpg');
}
.recruit-about__top {
  padding-top: 5vw;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.recruit-about__title {
  font-family: Alata;
  font-size: 3.888vw;
  letter-spacing: 0.05em;
}
.recruit-about__subtitle {
  padding-top: 1.722vw;
  font-size: 1.111vw;
  font-weight: bold;
  letter-spacing: 0.2em;
}
.recruit-about__img-wrappers {
  padding-top: 9.166vw;
  display: flex;
  gap: 5.055vw;
}
.recruit-about__img-suit {
  width: 16.5vw;
  height: 20.555vw;
}
.recruit-about__img-graph {
  width: 22.222vw;
  height: 22.222vw;
}
.recruit-about__img-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.rest {
  padding-top: 4.722vw;
  padding-bottom: 6.333vw;
  position: relative;
}
.rest-bg {
  position: absolute;
  top: -6.111vw;
  background-color: #f5f7f9;
  height: 50.888vw;
  width: 100%;
  z-index: -2;
}
.graph-contents__text {
  font-family: NotoSansJP;
  font-size: 1.555vw;
  font-weight: bold;
  letter-spacing: 0.12em;
  width: 16.055vw;
  height: 4.888vw;
  background-color: #eff3f5;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: -1.277vw;
  right: -8vw;
}
.graph-contents__text::after {
  position: absolute;
    content: "";
    bottom: -1.777vw;
    left: 2.777vw;
    border: 0.277vw solid transparent;
    border-bottom: 2.611vw solid transparent;
    border-left: 1.777vw solid #eff3f5;
    transform: rotate(14deg);
}
.suit-logo__title {
  font-family: NotoSansJP;
  font-size: 1.611vw;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: 0.12em;
  text-align: center;
}
.graph-content {
  position: absolute;
}
.graph-content:nth-child(1){
  top: 9.277vw;
  left: 2.944vw;
}
.graph-content:nth-child(2){
  top: 5.555vw;
  left: 13vw;
}
.graph-content:nth-child(3){
  top: 14vw;
  left: 13.111vw;
}
.graph__number {
  font-family: Alata;
  font-size: 4.027vw;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  color: #fff;
}
.graph__number span {
  font-family: Alata;
  font-size: 1.972vw;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: 0.12em;
}
.graph__text {
  font-family: NotoSansJP;
  font-size: 1.166vw;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: 0.12em;
  color: #fff;
}
.block {
  width: 6.555vw;
  height: 6.333vw;
  border-radius: 2.05vw;
  background-color: #97646f;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.666vw;
  color: #fff;
}
.medium {
  width: 6.888vw;
  height: 6.888vw;
  border-radius: 50%;
}
.color2 {
  background-color: #d5936b;
}
.block__title {
  font-family: NotoSansJP;
  font-size: 1vw;
  font-weight: 500;
  font-stretch: normal;
  font-style: normal;
  /* line-height: normal; */
  letter-spacing: 0.12em;
	text-align: center;
}
.block__number {
  font-family: Alata;
  font-size: 2.388vw;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  /* line-height: 2.67; */
  letter-spacing: 0.05em;
}
.block__number span {
  font-family: Alata;
  font-size: 1.166vw;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: 0.12em;

}

.hobby__title {
  text-align: center;
  font-family: NotoSansJP;
  font-size: 1.444vw;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: 0.12em;
  padding-bottom: 2.055vw;
}
.hobby-blocks {
  display: flex;
  align-items: center;
  justify-content: center;
}
.hobby .block {
  margin-right: 1.222vw;
}
.hobby .block__number {
  font-size: 1.333vw;
	display: none !important;
}
.large {
  width: 8.611vw;
  height: 8.611vw;
  border-radius: 50%;
}
.small {
  width: 6.5vw;
  height: 5.277vw;
}
.block__img {
  width: 2.611vw;
  height: 2.611vw;
}
.rest-bottom {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.666vw;
}
.vacations {
  padding-top: 3.444vw;
}
.vacations__title {
  font-family: NotoSansJP;
  font-size: 1.444vw;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: 0.12em;
  text-align: center;
  padding-bottom: 2.444vw;
}
.vacations__body {
  display: flex;
  align-items: center;
}

.vacation-left {
	display: flex;
}
.vacation-left .large {
	margin: 0 2%;
}


.vacations .block__number {
  font-size: 1.111vw;
	display: none !important;
}
.vacations .block__number span {
  font-size: 0.777vw;
}
.vacation-right .block__title {
  font-size: 0.888vw;
  text-align: center;
}
.vacation-right .block{
  margin-left: 0.5vw;
}
.vacation-top {
  display: flex;
  padding-bottom: 0.444vw;
}
.vacation-bottom {
  display: flex;
}
.rest__img {
  width: 24.888vw;
  height: 17.277vw;
}

.achievements {
  padding: 7.888vw 18.888vw 2.333vw 18.888vw;
  /* background-color: #f5f7f9; */
}
.achievements__title {
  font-family: Alata;
  font-size: 3.888vw;
  letter-spacing: 0.05em;
  text-align: center;
  padding-bottom: 1vw;
}
.achievements__subtitle {
  font-size: 1.111vw;
  font-weight: bold;
  letter-spacing: 0.2em;
  text-align: center;
  padding-top: 0.777vw;
  padding-bottom: 5.666vw;
}
.achievements-card {
  margin-bottom: 1.666vw;
  display: flex;
  align-items: center;
  flex-direction: column;
  position: relative;
}
.achievements-card:nth-child(2)::before {
  position: absolute;
  content: '';
  border-radius: 50%;
  width: 1.111vw;
  height: 1.111vw;
  bottom: 7.888vw;
  left: 1.166vw;
  background-color: #e4a074;
}
.achievements-card:nth-child(2)::after {
  position: absolute;
  content: '';
  border-radius: 50%;
  width: 1.111vw;
  height: 1.111vw;
  bottom: 7.888vw;
  right: -1.333vw;
  background-color: #e4a074;
}

.achievements-card__img-wrapper {
  width: 100%;
  height: 10.055vw;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 2.444vw;
}
.achievements-cards__item:nth-child(1) .achievements-card__img-wrapper {
  position: relative;
}
.achievements-cards__item:nth-child(1) .achievements-card__img:nth-child(1) {
  position: absolute;
  top: -2.222vw;
  left: 5.277vw;
  width: 11.222vw;
  height: 10.166vw;
}
.achievements-cards__item:nth-child(1) .achievements-card__img:nth-child(2) {
  position: absolute;
  top: 3.055vw;
  left: 1vw;
  width: 8.222vw;
  height: 7.722vw;
}
.achievements-cards__item:nth-child(1) .achievements-card__img:nth-child(3) {
  position: absolute;
  top: 0.611vw;
  left: 12.722vw;
  width: 5.666vw;
  height: 11.444vw;
}
.achievements-cards__item:nth-child(1) .achievements-card__img {
  width: 8.5vw;
  height: 7.388vw;
}
.achievements-cards__item:nth-child(2) .achievements-card__img {
  width: 15.444vw;
  height: 17.833vw;
}
.achievements-cards__item:nth-child(3) .achievements-card__img {
  width: 18.388vw;
  height: 12.555vw;
}


.achievements-card__body {
  padding: 0.833vw 0.833vw 4.166vw 0.833vw;
}
.achievements-card__body > *:last-child {
  margin-bottom: 0;
}
.achievements-card__title {
  font-family: NotoSansJP;
  font-size: 1.333vw;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: 0.12em;

}
.achievements-card__text {
  font-family: Alata;
  font-size: 3.333vw;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: 2.38;
  letter-spacing: 0.05em;
  text-align: center;

}
.achievements-card__text span {
  font-family: NotoSansJP;
  font-size: 1.444vw;
  font-weight: bold;
  letter-spacing: 0.12em;

}
.achievements-cards {
  display: flex;
  flex-wrap: wrap;
}

.achievements-cards--col3 > .achievements-cards__item {
  width: 31.707%;
  margin-right: 2.43902%;
  margin-bottom: 1.666vw;
}
.achievements-cards--col3 > .achievements-cards__item:nth-of-type(3n) {
  margin-right: 0;
}

/* ========================================================================================== */
/* =========================================about.html======================================= */
/* ========================================================================================== */

.about__hero {
  background-image: url('../img/about/about@2x.jpg');
}
.about-top {
  padding-top: 11.722vw;
  padding-bottom: 6.055vw;
  position: relative;
}
.about-top__logo-wrapper {
  position: absolute;
  top: 16.277vw;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 20vw;
  height: 20vw;
  z-index: -1;
}
.about-top__logo {
  width: 100%;
  height: 100%;
}
.plus-design {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4.888vw;
  padding-left: 5.277vw;
}
.plus-design__name {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.plus-design__title {
  font-family: Alata;
  font-size: 5vw;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: 0.05em;
}
.plus-design__subtitle {
  font-size: 1.388vw;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: 0.2em;
}
.plus {
  width: 2.333vw;
  height: 2.333vw;
  position: relative;
}
.plus-bar {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  height: 2.333vw;
  width: 0.277vw;
  background-color: #000;
}
.plus-cross {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 2.333vw;
  height: 0.277vw;
  background-color: #000;
}
.about-top__text {
  font-size: 1.388vw;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: 0.3em;
  text-align: center;
  padding-top: 8vw;
}
.about-top__text--small {
  font-size: 0.888vw;
  font-weight: 500;
  font-stretch: normal;
  font-style: normal;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: center;
  padding-top: 2.222vw;
}

.productivity {
  margin: 0 2.222vw;
  padding: 0 16.666vw 8.111vw 16.666vw;
  background-color: #f5f7f9;
}
.productivity__title {
  font-family: Alata;
  font-size: 3.888vw;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: 0.05em;
  text-align: center;
  padding-top: 5.5vw;
}
.productivity__subtitle {
  font-size: 1.111vw;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: 0.2em;
  text-align: center;
  padding-top: 0.777vw;
}
.mathematical {
  margin-top: 3.555vw;
  width: 62.222vw;
  height: 12.777vw;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}
.result,
.numerator,
.denominator {
  font-size: 1.444vw;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: 0.2em;

}
.numerator {
  padding-bottom: 2.944vw;
  padding-right: 2.055vw;
}
.denominator {
  padding-top: 2.944vw;
  padding-left: 2.055vw;
}
.equal {
  width: 1.777vw;
  height: 0.944vw;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 0 3.888vw;
}
.equal-top {
  width: 1.777vw;
  height: 0.222vw;
  background-color: #000;
}
.equal-bottom {
  width: 1.777vw;
  height: 0.222vw;
  background-color: #000;
}
.grating {
  background-color: #000;
  height: 7.222vw;
  width: 0.277vw;
  transform: rotate(41deg);
}
.productivity__text {
  padding-top: 2.611vw;
  font-size: 0.888vw;
  font-weight: 500;
  font-stretch: normal;
  font-style: normal;
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: left;
}

.activity__title {
  font-family: Alata;
  font-size: 3.888vw;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: 0.05em;
  text-align: center;
  padding-top: 6.333vw;
}
.activity__subtitle {
  font-size: 1.111vw;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: 0.2em;
  text-align: center;
  padding-top: 0.611vw;
}
.activity__text {
  font-size: 1.388vw;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: 0.3em;
  text-align: center;
  padding-top: 3.611vw;
}
.activity__menu {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.666vw;
  padding-top: 2.777vw;
}
.activity__menu-top {
  display: flex;
  gap: 1.666vw;
}
.activity__menu-bottom {
  display: flex;
  gap: 1.666vw;
}
.activity__menu-item {
  font-size: 1.111vw;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  /* line-height: 4.5; */
  letter-spacing: 0.14em;
  width: 34.055vw;
  height: 3.333vw;
  border-radius: 30px;
  background-color: #f5f7f9;
  display: flex;
  align-items: center;
  /* justify-content: center; */
  box-sizing: border-box;
  padding-left: 3.888vw;
  position: relative;
}
.activity__menu-item::before {
  position: absolute;
  content: '';
  top: 50%;
  left: 2.388vw;
  transform: translate(-50%,-50%);
  background-image: url('../img/about/blue-check@2x.png');
  background-size: cover;
  width: 1.444vw;
  height: 1.444vw;
  z-index: 3;
}

.change {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.222vw;
  padding-top: 4.333vw;
}
.before {
  box-sizing: border-box;
  width: 37.777vw;
  height: 30.555vw;
  padding: 1.611vw 2.333vw 2vw 2.555vw;
  background-color: #f5f7f9;
  position: relative;
}
.before::after {
  position: absolute;
  content: '';
  top: 50%;
  right: -7.055vw;
  transform: translate(-50%,-50%);
  border: 1.916vw solid transparent;
  border-left: 2.722vw solid #287acc;
}
.after {
  box-sizing: border-box;
  width: 37.777vw;
  height: 30.555vw;
  padding: 1.611vw 2.333vw 2vw 2.555vw;
  background-color: #f5f7f9;
}
.before-top {
  display: flex;
  align-items: center;
  justify-content: start;
  padding-bottom: 1.777vw;
  border-bottom: 3px solid #287acc;
  position: relative;
}
.before-productive {
  width: 5.555vw;
  height: 5.555vw;
  background-color: #287acc;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.before-productive__title {
  font-size: 1.111vw;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: 0.2em;
  color: #fff;
}
.before-productive__letter {
  font-size: 2.222vw;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: 0.2em;
  color: #fff;
}
.before-top__title {
  font-size: 1.166vw;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.71;
  letter-spacing: 0.09em;
  padding-left: 1.722vw;
}
.before-top__text {
  font-family: Alata;
  font-size: 2.777vw;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: 0.05em;
  color: #287acc;
  position: absolute;
  bottom: 0.555vw;
  right: 0.111vw;
}
.before-bottom {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 1.333vw;
  gap: 4.111vw;
}
.before-left {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.555vw;
}
.before-left__title {
  font-size: 1.166vw;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.71;
  letter-spacing: 0.09em;
}
.before-left__img {
  width: 5.777vw;
  height: 5.833vw;
}
.before-left__menu-item {
  font-size: 0.833vw;
  font-weight: 500;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.73;
  letter-spacing: 0.09em;
  position: relative;
}
.before-left__menu-item::before {
  position: absolute;
  content: '';
  top: 50%;
  left: -0.833vw;
  transform: translate(-50%,-50%);
  background-image: url('../img/about/blue-check@2x.png');
  background-size: cover;
  width: 0.833vw;
  height: 0.833vw;
}

.before-right {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.166vw;
}
.before-right__title {
  font-size: 1.166vw;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.71;
  letter-spacing: 0.09em;
}
.before-right__img {
  width: 9.166vw;
  height: 6.055vw;
}
.before-right__menu-item {
  font-size: 0.833vw;
  font-weight: 500;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.73;
  letter-spacing: 0.09em;
  position: relative;
}
.before-right__menu-item::before {
  position: absolute;
  content: '';
  top: 50%;
  left: -0.833vw;
  transform: translate(-50%,-50%);
  background-image: url('../img/about/blue-check@2x.png');
  background-size: cover;
  width: 0.833vw;
  height: 0.833vw;
}
.before-center__img-wrapper {
  position: relative;
  width: 4.277vw;
  height: 11.166vw;
}
.before-center__img {
  width: 4.277vw;
  height: 11.166vw;
  z-index: 2;
  position: absolute;

}
.left-arrow,
.right-arrow {
  position: absolute;
  top: 50%;
  transform: translate(-50%,-50%);
  width: 4.722vw;
  height: 2.444vw;
  z-index: 1;
}
.left-arrow {
  left: -1.444vw;
}
.right-arrow {
  right: -6.111vw;
}

.after-top {
  display: flex;
  align-items: center;
  justify-content: start;
  padding-bottom: 1.777vw;
  border-bottom: 3px solid #ff0000;
  position: relative;
}
.after-productive {
  width: 5.555vw;
  height: 5.555vw;
  background-color: #ff0000;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.after-productive__title {
  font-size: 1.111vw;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: 0.2em;
  color: #fff;
}
.after-productive__letter {
  font-size: 2.222vw;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: 0.2em;
  color: #fff;
}
.after-top__title {
  font-size: 1.166vw;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.71;
  letter-spacing: 0.09em;
  padding-left: 1.722vw;
}
.after-top__text {
  font-family: Alata;
  font-size: 2.777vw;
  font-weight: normal;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: 0.05em;
  color: #ff0000;
  position: absolute;
  bottom: 0.555vw;
  right: 0.111vw;
}
.after-bottom {
  position: relative;
}
.circle {
  position: absolute;
  top: 10.888vw;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 26.5vw;
  height: 16.222vw;
  z-index: 1;
}
.suit-man {
  position: absolute;
  top: 10.888vw;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 4.277vw;
  height: 11.166vw;
  z-index: 2;
}
.after-bottom__img-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 2;
  position: absolute;
  transform: translate(-50%,-50%);
}
.after-bottom__item-name {
  font-size: 0.833vw;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: 2.4;
  letter-spacing: 0.09em;
  z-index: 2;
  text-shadow: 0px 0px 5px #f5f7f9, 2px 2px 5px #f5f7f9, -2px -2px 5px #f5f7f9,2px -2px 5px #f5f7f9,-2px 2px 5px #f5f7f9;
}
.focus {
  top: 5.111vw;
  left: 9.444vw;
}
.focus__img {
  width: 7.166vw;
  height: 4.888vw;
  z-index: 2;
}
.co-works {
  top: 11.277vw;
  left: 3.444vw;
}
.co-works__img {
  width: 5.722vw;
  height: 5.055vw;
  z-index: 2;
}
.duo {
  bottom: -24.777vw;
  left: 9.444vw;
}
.duo__img {
  width: 6.888vw;
  height: 4.888vw;
  z-index: 2;
}
.recharge {
  bottom: -25vw;
  right: 0.777vw;
}
.recharge__img {
  width: 5.833vw;
  height: 4.944vw;
  z-index: 2;
}
.chat {
  bottom: -18.277vw;
  right: -3.444vw;
}
.chat__img {
  width: 6.111vw;
  height: 4.5vw;
  z-index: 2;
}
.forn {
  top: 4.444vw;
  right: 1.777vw;
}
.forn__img {
  width: 4.5vw;
  height: 5.277vw;
  z-index: 2;
}


.cards-top__title {
  font-size: 1.388vw;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: 0.3em;
  text-align: center;
  color: #287acc;
  padding-top: 4.111vw;
}
.cards__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.388vw;
  padding-top: 1.5vw;
}
.about-card {
  width: 25vw;
  height: 11.111vw;
  /* padding: 0 1px 32px 40px; */
  background-color: #f5f7f9;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  gap: 2.5vw;
}
.about-card__img {
  width: 7.777vw;
  height: 6.833vw;
}
.effusion {
  position: absolute;
  top: 0;
  right: 0;
  width: 9.833vw;
  height: 2.5vw;
  background-color: #287acc;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
      font-size: 0.9vw;
    font-weight: bold;
}
.effusion::after {
  position: absolute;
  content: "";
  bottom: -1.166vw;
  left: 45%;
  transform: translate(-50%,-50%);
  border: 0.555vw solid transparent;
  border-bottom: 1.277vw solid transparent;
  border-left: 1.166vw solid #287acc;
  transform: rotate(14deg);
}
.about-card__title {
  font-size: 1.111vw;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.8;
  letter-spacing: 0.09em;
  padding-top: 1.555vw;
}
.about-card__text {
  font-size: 0.777vw;
  font-weight: 500;
  font-stretch: normal;
  font-style: normal;
  line-height: 1.79;
  letter-spacing: 0.09em;
}
.effusion--red {
  background-color: #ff0000;
}
.effusion--red::after {
  border-left-color: #ff0000;
}
.cards-bottom__title {
  font-size: 1.388vw;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: 0.3em;
  text-align: center;
  color: #ff0000;
  padding-top: 3.333vw;
}
.cards-top .about-card:nth-child(2) .about-card__img {
  width: 7.944vw;
  height: 6.722vw;
}
.cards-top .about-card:nth-child(3) .about-card__img {
  width: 8.222vw;
  height: 6vw;
}
.cards-bottom .about-card:nth-child(1) .about-card__img {
  width: 9.777vw;
  height: 6.666vw;
}
.cards-bottom .about-card:nth-child(2) .about-card__img {
  width: 6.055vw;
  height: 7.055vw;
}
.cards-bottom .about-card:nth-child(3) .about-card__img {
  width: 9.388vw;
  height: 6.611vw;
}
.about-cards {
  padding-bottom: 8.333vw;
}



.company-top__img-text {
  position: absolute;
  top: 4.055vw;
  right: 0;
  font-size: 0.666vw;
  font-weight: bold;
  letter-spacing: 0.2em;
  color: #000000;
}
.hero .hero-body__text {
  font-size: 1.333vw;
  font-weight: bold;
  letter-spacing: 0.3em;
  color: #fff;
  padding-top: 2.222vw;
}
.td-map {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

}
.td-map li::before {
  display: none;
}
.td-map iframe {
  width:44.444vw;
  height:11.111vw;
}
.google-maps {
  padding-top: 12.888vw;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3.5vw;
}
.google-maps__left {
  box-sizing: border-box;
  padding: 25px 22px 28px 24px;
  box-shadow: 0 0 42px 0 rgba(0, 0, 0, 0.05);
}
.google-maps__right {
  box-sizing: border-box;
  padding: 25px 22px 28px 24px;
  box-shadow: 0 0 42px 0 rgba(0, 0, 0, 0.05);
}
.google-maps__text {
  font-size: 0.888vw;
  font-weight: bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: 1.92px;
  padding: 1.388vw 0 0.333vw 1.611vw;
  position: relative;
}
.google-maps__text:before {
  display: block;
  content: '';
  width: 8px;
  height: 8px;
  background: #ff0000;
  position: absolute;
  top: 1vw;
  left: 0.5vw;
  bottom: 0;
  margin: auto;
}

.google-maps iframe {
 
  width: 31.944vw;
  height: 18.722vw;
}
.block span {
	display: inline;
}