@charset "UTF-8";
/* 文字サイズ
--------------------------------------------- */
/* 48 42 31 */
.size_l {
  font-size: clamp(1.9375rem, 0.55vw + 0.205rem, 3rem);
  font-size: 2.625rem;
  font-size: clamp(2.625rem, 0rem + 3vw, 3rem);
  font-weight: 500;
}

/* 41 36 23 */
.size_m {
  font-size: clamp(1.4375rem, 0.09375vw + 0.9375rem, 2.5625rem);
  font-size: 2.25rem;
  font-size: clamp(2.25rem, 0.0625rem + 2.5vw, 2.5625rem);
  font-weight: 500;
}

/* 29.7 26 19 */
.size_s {
  font-size: clamp(1.1875rem, 0.05573vw + 0.8448rem, 1.85625rem);
  font-size: 1.625rem;
  font-size: clamp(1.625rem, 0.00625rem + 1.85vw, 1.85625rem);
}

/* 18.2 16 12 */
.size_deco {
  font-size: clamp(0.75rem, 0.03229vw + 0.54794rem, 1.1375rem);
  font-size: 1rem;
  font-size: clamp(1rem, 0.0375rem + 1.1vw, 1.1375rem);
  font-family: "Space Mono", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Helvetica Neue", "Helvetica", "YuGothic", "Arial", "Yu Gothic", "Meiryo";
  letter-spacing: 0.15em;
  display: block;
  margin-bottom: 1em;
}

.txt_cts p {
  margin-bottom: 1em;
}

@media screen and (max-width: 1400px) {
  /* 48 42 31 */
  .size_l {
    font-size: 1.9375rem;
    font-size: clamp(1.9375rem, 1.6625rem + 1.1vw, 2.625rem);
  }
  /* 41 36 23 */
  .size_m {
    font-size: 1.4375rem;
    font-size: clamp(1.4375rem, 1.1125rem + 1.3vw, 2.25rem);
  }
  /* 29.7 26 19 */
  .size_s {
    font-size: 1.1875rem;
    font-size: clamp(1.1875rem, 1.0125rem + 0.7vw, 1.625rem);
  }
  /* 18.2 16 12 */
  .size_deco {
    font-size: 0.75rem;
    font-size: clamp(0.75rem, 0.65rem + 0.4vw, 1rem);
  }
}
/* レイアウト
--------------------------------------------- */
.ly_910 {
  max-width: clamp(56.875rem, 0rem + 65vw, 65rem);
  margin-left: auto;
  margin-right: auto;
}

.sec_fv_page {
  background-color: inherit;
}

.ttl_page {
  color: #fff;
}

.ttl_page_en {
  color: #fff;
}

.bg_fv_page {
  z-index: 1;
  opacity: 0.3;
}

.header_nav .list_header_nav li:not(:last-child) a {
  color: #fff;
}

.list_header_nav li:not(:last-child) a::after {
  background: #fff;
}

.pankuzu_page, .pankuzu_page a {
  color: #fff;
}

.pankuzu_page li::after {
  color: #fff;
}

/* 動画
--------------------------------------------- */
.sec_video {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  min-width: 100%;
  min-height: 100vh;
  pointer-events: none;
}

.sec_video::before {
  content: "";
  background-color: #000;
  opacity: 0.4;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.sec_video video {
  min-width: 100%;
  min-height: 100vh;
  -o-object-fit: cover;
     object-fit: cover;
}

/* about
--------------------------------------------- */
.sec_about {
  color: #fff;
  min-height: 800px;
  text-align: left;
  position: relative;
  z-index: 0;
}

.wrap_about {
  padding-bottom: 150px;
  padding-top: 150px;
  width: 85%;
  z-index: 1;
  position: relative;
}

.txtbox_about {
  max-width: clamp(23.75rem, 6.25rem + 20vw, 26.25rem);
  width: 100%;
}

.ttl_about {
  margin-bottom: 30px;
}

.txt_about {
  text-align: justify;
  line-height: 1.9;
}

@media screen and (max-width: 640px) {
  .sec_about {
    min-height: auto;
  }
  .txtbox_about {
    max-width: 100%;
  }
}
/* point
--------------------------------------------- */
.sec_point {
  color: #025593;
  background-color: #fff;
  padding-top: 150px;
  padding-bottom: 100px;
  position: relative;
}

.ttlbox_point {
  margin-bottom: 120px;
}

.list_point {
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  text-align: left;
  counter-reset: interview-counter;
}

.li_point {
  display: flex;
  margin-bottom: 100px;
}

.list_point .li_point:nth-child(even) {
  flex-flow: row-reverse;
}

.pic_point {
  width: 43%;
}

.txtbox_point {
  padding-right: 10px;
  max-width: clamp(30.625rem, 0rem + 35vw, 35rem);
  width: 100%;
  margin-left: 5%;
  margin-right: 7%;
}

.list_point .li_point:nth-child(even) .txtbox_point {
  padding-left: 3%;
}

.ttl_s_point {
  margin-bottom: 20px;
}

.ttl_s_point::before {
  counter-increment: interview-counter;
  content: counter(interview-counter);
  font-size: 6.5625rem;
  font-size: clamp(6.5625rem, -0.4375rem + 8vw, 7.5625rem);
  font-family: "Space Mono", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Helvetica Neue", "Helvetica", "YuGothic", "Arial", "Yu Gothic", "Meiryo";
  font-weight: bold;
  color: #fff;
  text-shadow: 1px 0 #025593, -1px 0 #025593, 0 1px #025593, 0 -1px #025593;
  display: block;
  margin-top: -0.6em;
  padding-left: 0.1em;
}

.txt_point {
  line-height: 1.9;
  text-align: justify;
}

@media screen and (max-width: 1300px) {
  .pic_point {
    width: 50%;
  }
  .txtbox_point {
    max-width: 45%;
  }
}
@media screen and (max-width: 800px) {
  .li_point {
    display: block;
  }
  .pic_point {
    width: 100%;
  }
  .txtbox_point {
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  .list_point .li_point:nth-child(even) .txtbox_point {
    padding-left: 0;
  }
  .wrap_point {
    width: 85%;
    margin-left: auto;
    margin-right: auto;
  }
}
/* anzen
--------------------------------------------- */
.sec_anzen {
  color: #025593;
  text-align: left;
  padding-bottom: 40px;
  background-color: #fafbfd;
  position: relative;
}

.txtbox_anzen {
  padding-top: 100px;
  padding-bottom: 100px;
  width: 85%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.txt_point {
  width: clamp(26.25rem, 4.375rem + 25vw, 29.375rem);
}

.ttlbox_anzen {
  width: calc(95% - clamp(26.25rem, 4.375rem + 25vw, 29.375rem));
}

.ttl_anzen {
  margin-bottom: 20px;
}

.ttl_eco {
  margin-bottom: 20px;
}

@media screen and (max-width: 800px) {
  .txt_point {
    width: 100%;
  }
  .ttlbox_anzen {
    width: 100%;
  }
  .ttl_anzen .pc {
    display: none;
  }
}
/* company
--------------------------------------------- */
.sec_company {
  background-color: #fff;
  color: #025593;
  text-align: left;
  padding-top: 180px;
  padding-bottom: 180px;
  position: relative;
}

.wrap_company {
  width: 85%;
}

.ttlbox_company {
  margin-bottom: 30px;
}

.tbl_co {
  max-width: clamp(38.25rem, -0.25rem + 44vw, 43.75rem);
  width: 100%;
  margin-left: auto;
}

.tr_co {
  border-bottom: 1px solid #025593;
  display: flex;
  flex-wrap: wrap;
  padding-top: 25px;
  padding-bottom: 25px;
}

.tr_co:last-child {
  border-bottom: none;
}

.dt_co {
  width: 30%;
  font-weight: normal;
  padding-left: 3%;
  padding-right: 3%;
}

.dd_co {
  width: 70%;
  line-height: 1.7;
}

/* company
--------------------------------------------- */
.sec_history {
  background-color: #025593;
  color: #fff;
  text-align: left;
  padding-top: 180px;
  padding-bottom: 180px;
  position: relative;
}

.wrap_history {
  width: 85%;
}

.ttlbox_history {
  margin-bottom: 30px;
}

.sec_history .tr_co {
  border-bottom: 1px solid #fff;
}

.sec_history .tr_co:last-child {
  border-bottom: none;
}

/* award
--------------------------------------------- */
.sec_award {
  padding-top: 150px;
  padding-bottom: 150px;
  position: relative;
  background-color: #fafbfd;
}

.wrap_award {
  width: 85%;
}

.link_award {
  height: clamp(25rem, 0.5rem + 28vw, 28.5rem);
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}

.ttlbox_award {
  position: relative;
  z-index: 1;
  color: #fff;
}

.pic_award {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.pic_award img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  min-height: 100%;
  min-width: 100%;
  transition: 0.25s;
}

.link_award::before {
  content: "";
  background-color: #000;
  opacity: 0.3;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  transition: 0.25s;
}

.link_award:hover .pic_award img {
  transform: scale(1.1);
  transition: 0.25s;
}

.link_award:hover::before {
  opacity: 0;
  transition: 0.25s;
}

/* office
--------------------------------------------- */
.sec_office {
  padding-top: 180px;
  padding-bottom: 180px;
  position: relative;
  background-color: #fafbfd;
}

.wrap_office {
  width: 85%;
}

.ttlbox_office {
  margin-bottom: 150px;
  color: #025593;
}

.sec_area {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  text-align: left;
  margin-bottom: 50px;
}

.ttl_area {
  width: 30%;
  color: #025593;
}

.ly_area {
  width: 65%;
}

.ttl_s_area {
  color: #025593;
  margin-bottom: 10px;
}

.box_area iframe {
  margin-bottom: 25px;
}

.box_area {
  margin-bottom: 50px;
}

@media screen and (max-width: 640px) {
  .ttl_area {
    width: 100%;
    font-weight: bold;
    margin-bottom: 30px;
  }
  .ly_area {
    width: 100%;
  }
}
/* 
--------------------------------------------- */
.site-footer, .sec_pagetop {
  background-color: #fafbfd;
}