@charset "UTF-8";
/*
Theme Name: Theme name
Author: Author
Author URI:
*/
/* CSS Document */
/*                Reset-------------------------------*/
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

html, body, div, span, applet, object, embed, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  outline: 0;
  border: none;
  font-size: 100%;
  font-style: normal;
  font-weight: normal;
  background: transparent;
  vertical-align: baseline;
}

html {
  height: 100%;
  overflow-y: scroll;
}

body {
  line-height: 1.8;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
}

article, aside, footer, header, nav, main, section {
  display: block;
}

strong, em {
  font-weight: bold;
}

blockquote p {
  padding: 0.5em;
}

blockquote p.cite {
  text-align: right;
  background-color: #f0f0e8;
}

blockquote, q {
  quotes: none;
}

q:before, q:after {
  content: "";
}

ins {
  text-decoration: none;
}

del {
  text-decoration: line-through;
}

br {
  letter-spacing: 0;
}

pre {
  font-family: "Osaka-Mono", "Osaka－等幅", "MS Gothic", "ＭＳ ゴシック", arial, "Lucida Grande", monospace;
  line-height: 1.4;
  letter-spacing: 0;
  white-space: pre;
  /* CSS 2.0 */
  white-space: pre-wrap;
  /* CSS 2.1 */
  white-space: pre-line;
  /* CSS 3.0 */
  white-space: -pre-wrap;
  /* Opera 4-6 */
  white-space: -o-pre-wrap;
  /* Opera 7 */
  white-space: -moz-pre-wrap;
  /* Mozilla */
  white-space: -hp-pre-wrap;
  /* HP Printers */
  word-wrap: break-word;
  /* IE 5+ */
}

hr {
  margin: 0;
  padding: 0;
  border: 0;
  color: #000;
  background-color: #000;
  height: 1px;
}

/* テーブル系 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th {
  text-align: left;
}

th, td {
  vertical-align: top;
}

/* リスト系 */
ol, ul {
  /* list-style: none; */
  list-style-position: inside;
}

ol {
  list-style-type: decimal;
}

ol li {
  zoom: normal;
}

/* ボタン系 */
input[type=text], input[type=password], input[type=tel], input[type=email], textarea, select {
  border-width: 1px;
  border-style: solid;
  border-color: #ddd;
  font-size: 93%;
  color: #333;
  background-color: #fff;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

input[type=text]:focus, input[type=password]:focus, input[type=tel]:focus, input[type=email]:focus, textarea:focus {
  border-width: 1px;
  border-style: solid;
  border-color: #6ddeff;
  font-size: 93%;
  color: #333;
  background-color: #fff;
}

button, input[type=button], input[type=submit], input[type=reset] {
  padding: 3px 0.7em 1px;
  margin: 0;
}

form label, button, input[type=button], input[type=submit], input[type=reset] {
  font-size: 0.8em;
  padding: 3px 10px;
  cursor: hand;
  cursor: pointer;
}

input[disabled][readonly] {
  background-color: #ccc;
}

/*        CSS Tricks-------------------------------*/
.hideText {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}

/* 簡易ロールオーバー */
a:hover.rollover img {
  opacity: 0.7;
  /* Standard: FF gt 1.5, Opera, Safari */
  filter: alpha(opacity=70);
  /* IE lt 8 */
  -ms-filter: "alpha(opacity=70)";
  /* IE 8 */
  -khtml-opacity: 0.7;
  /* Safari 1.x */
  -moz-opacity: 0.7;
  /* FF lt 1.5, Netscape */
}

/* new clearfix */
.clearfix:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
}

* html .clearfix {
  zoom: 1;
}

/* IE6 */
*:first-child + html .clearfix {
  zoom: 1;
}

/* IE7 */
html {
  font-size: calc(100vw / 1280 * 16);
  scroll-padding-top: 5rem;
  scroll-behavior: smooth;
}
@media (1280px < width) {
  html {
    font-size: 16px;
  }
}
@media (width <= 768px) {
  html {
    font-size: calc(100vw / 375 * 15);
    scroll-padding-top: 4rem;
  }
}

body {
  font-family: "Noto Sans JP", sans-serif;
  color: #000;
  font-weight: 500;
  line-height: 2;
}

a {
  color: #000;
}
a:hover {
  opacity: 0.9;
  filter: alpha(opacity=90);
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

pre {
  white-space: pre;
}

p {
  letter-spacing: 0.05em;
}

/********************************************
* Layout
********************************************/
/* Header */
.l-header {
  padding: 1.25rem 1.875rem;
  position: fixed;
  z-index: 99999;
  top: 0;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: space-between;
  height: 5rem;
  transition: 0.8s;
}
@media (width <= 768px) {
  .l-header {
    height: 4rem;
    padding: 0.8666666667rem;
  }
}
.l-header__logo {
  width: 16.5rem;
  height: 2.375rem;
  background: url(./images/common/logo_white.webp);
  background-size: 100% 100%;
  transition: 0.8s;
}
@media (width <= 768px) {
  .l-header__logo {
    width: 11.8666666667rem;
    height: 1.7333333333rem;
  }
}
.is-scrolled .l-header__logo, .is-clicked .l-header__logo {
  background: url(./images/common/logo.webp);
  background-size: 100% 100%;
  z-index: 1;
  position: relative;
}
.l-header__logo-link {
  display: block;
  height: 100%;
}
.is-scrolled .l-header {
  background: #fff;
}

.l-header-nav {
  position: absolute;
  right: 0;
  top: 0;
  font-size: 0;
}
@media (width <= 768px) {
  .l-header-nav {
    position: fixed;
    width: 100%;
    height: 100vh;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    left: 100%;
    transition: 0.3s;
  }
  .is-clicked .l-header-nav {
    left: 0;
  }
}
.l-header-nav__list {
  display: flex;
  align-items: center;
}
@media (width <= 768px) {
  .l-header-nav__list {
    display: block;
    text-align: center;
    width: 17.3333333333rem;
    margin-bottom: 1.3333333333rem;
  }
}
.l-header-nav__item {
  display: inline-block;
  padding: 0 1.25rem;
}
@media (width <= 768px) {
  .l-header-nav__item {
    display: block;
    margin-bottom: 1.3333333333rem;
  }
}
.l-header-nav__item.l-header-nav__company {
  padding-right: 1.5625rem;
}
@media (width <= 768px) {
  .l-header-nav__item.l-header-nav__company {
    padding: 0;
  }
}
.l-header-nav__link {
  display: block;
  text-decoration: none;
  color: #000;
  font-weight: 700;
  font-size: 0.9375rem;
}
@media (width <= 768px) {
  .l-header-nav__link {
    font-size: 1.3333333333rem;
  }
}
.l-header-nav__contact {
  height: 5rem;
  background: #156F9A;
  display: flex;
  padding: 0;
}
@media (width <= 768px) {
  .l-header-nav__contact {
    display: block;
    margin-top: 2.6666666667rem;
  }
}
.l-header-nav__contact .l-header-nav__link {
  color: #fff;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  padding: 0 1.75rem;
}
@media (width <= 768px) {
  .l-header-nav__contact .l-header-nav__link {
    font-size: 1.3333333333rem;
  }
}

/* Article */
/* Footer */
.l-footer {
  background: #fff;
}
.l-footer__inner {
  padding: 4.125rem 0.9375rem 1.5625rem;
  margin: 0 auto;
  max-width: 68.75rem;
  margin: 0 auto;
}
@media (width <= 768px) {
  .l-footer__inner {
    padding: 4rem 1.3333333333rem 2.6666666667rem;
    max-width: inherit;
  }
}
.l-footer__content {
  display: flex;
  justify-content: space-between;
  margin-bottom: 3.75rem;
}
@media (width <= 768px) {
  .l-footer__content {
    display: block;
    margin-bottom: 2.6666666667rem;
  }
}
.l-footer__copy {
  font-weight: 500;
  font-size: 0.8125rem;
  text-align: right;
}
@media (width <= 768px) {
  .l-footer__copy {
    font-size: 0.9333333333rem;
    text-align: center;
  }
}
.l-footer__nav {
  width: 18.75rem;
  margin-top: 0.625rem;
}
@media (width <= 768px) {
  .l-footer__nav {
    width: 100%;
    margin-top: 1.3333333333rem;
  }
}
.l-footer__list {
  flex-wrap: wrap;
  display: flex;
  list-style: none;
}
.l-footer__item {
  width: 9.375rem;
  margin-bottom: 0.3125rem;
}
@media (width <= 768px) {
  .l-footer__item {
    width: 50%;
    margin-bottom: 0;
  }
}
.l-footer__link {
  color: #000;
  text-decoration: none;
  font-size: 0.9375rem;
}
@media (width <= 768px) {
  .l-footer__link {
    font-size: 1.0666666667rem;
  }
}
.l-footer__logo {
  margin-bottom: 1.25rem;
}
@media (width <= 768px) {
  .l-footer__logo {
    margin-bottom: 1.3333333333rem;
  }
}
.l-footer__p {
  margin-bottom: 0.8em;
  font-size: 0.875rem;
}
@media (width <= 768px) {
  .l-footer__p {
    font-size: 1.0666666667rem;
  }
}
@media (width <= 768px) {
  .l-footer__p span {
    display: block;
  }
}

/* Sidebar */
/********************************************
* Form
********************************************/
input[type=email],
input[type=text] {
  width: 500px;
  max-width: 100%;
  padding: 5px;
  height: 35px;
}

textarea {
  width: 500px;
  max-width: 100%;
  height: 250px;
}

input[type=submit] {
  width: 300px;
  height: 35px;
  max-width: 100%;
  border: 1px solid #ccc;
}

/********************************************
* Component
********************************************/
.c-btn {
  display: inline-block;
  padding: 0.6875rem 2.5rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
}
@media (width <= 768px) {
  .c-btn {
    font-size: 1.0666666667rem;
    padding: 0.6666666667rem rem_sop(30);
  }
}
.c-btn--line-blue {
  color: #156F9A;
  padding: 0.6875rem 3.75rem 0.6875rem 2.5rem;
  border: 0.125rem solid #156F9A;
  border-radius: 9999px;
  position: relative;
}
@media (width <= 768px) {
  .c-btn--line-blue {
    padding: 0.6666666667rem 4rem 0.6666666667rem 2.6666666667rem;
    border: 0.1333333333rem solid #156F9A;
  }
}
.c-btn--line-blue:after {
  content: "→";
  position: absolute;
  right: 2.5rem;
  top: calc(50% - 0.5rem);
}
@media (width <= 768px) {
  .c-btn--line-blue:after {
    right: 2.6666666667rem;
    top: calc(50% - 0.5333333333rem);
  }
}
.c-btn--line-white {
  color: #fff;
  padding: 0.6875rem 3.75rem 0.6875rem 2.5rem;
  border: 0.125rem solid #fff;
  border-radius: 9999px;
  position: relative;
}
@media (width <= 768px) {
  .c-btn--line-white {
    padding: 0.7333333333rem 4rem 0.7333333333rem 2.6666666667rem;
    border: 0.1333333333rem solid #fff;
  }
}
.c-btn--line-white:after {
  content: "→";
  position: absolute;
  right: 2.5rem;
  top: calc(50% - 0.5rem);
}
@media (width <= 768px) {
  .c-btn--line-white:after {
    right: 2.6666666667rem;
    top: calc(50% - 0.5333333333rem);
  }
}

.c-eng {
  font-size: 5rem;
  color: #156F9A;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
}
@media (width <= 768px) {
  .c-eng {
    font-size: 3.3333333333rem;
  }
}

.c-fade-in {
  opacity: 0;
  transform: translateY(1.875rem);
  transition: 0.8s;
}
@media (width <= 768px) {
  .c-fade-in {
    transform: translateY(2rem);
  }
}
.c-fade-in.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.c-inner {
  padding: 6.25rem 0;
  max-width: 68.75rem;
  margin: 0 auto;
}
@media (width <= 768px) {
  .c-inner {
    padding: 4rem 1.3333333333rem;
    max-width: 100%;
  }
}
.c-inner--small {
  max-width: 46.875rem;
}
@media (width <= 768px) {
  .c-inner--small {
    max-width: 100%;
  }
}

.c-must {
  font-size: 0.8125rem;
  color: #fff;
  background: #BF4343;
  line-height: 1;
  padding: 0 0.625rem;
  margin-left: 0.3125rem;
}
@media (width <= 768px) {
  .c-must {
    font-size: 0.8rem;
    padding: 0 0.6666666667rem;
    margin-left: 0.3333333333rem;
  }
}

.c-mv {
  display: flex;
  height: 40.9375rem;
}
@media (width <= 768px) {
  .c-mv {
    display: block;
    height: auto;
  }
}
.c-mv__thumb {
  width: 50%;
  position: relative;
}
@media (width <= 768px) {
  .c-mv__thumb {
    width: 100%;
    height: 26rem;
  }
}
.c-mv__filter {
  position: absolute;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.65) 0, rgba(217, 217, 217, 0) 100%);
  z-index: 1;
}
.c-mv__text {
  width: 50%;
  background: url(./images/home/symbol_white.webp) no-repeat;
  background-position: center;
  background-size: 26.6875rem 25.1875rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (width <= 768px) {
  .c-mv__text {
    width: 100%;
    height: 19.2rem;
    background-size: 14.6666666667rem;
  }
}
.c-mv__inner {
  line-height: 1.5;
  text-align: center;
}
.c-mv__title {
  font-weight: 700;
  font-size: 3.125rem;
  margin-bottom: 0.9375rem;
}
@media (width <= 768px) {
  .c-mv__title {
    font-size: 2.6666666667rem;
    margin-bottom: 1rem;
  }
}
.c-mv__p {
  font-weight: 700;
  font-size: 1.25rem;
}
@media (width <= 768px) {
  .c-mv__p {
    font-size: 1.2rem;
  }
}

.c-mv-slide {
  height: 100%;
}
@media (width <= 768px) {
  .c-mv-slide {
    height: 26rem;
  }
}
.c-mv-slide__list {
  position: relative;
  height: 100%;
}
.c-mv-slide__list .slick-slide {
  height: 40.9375rem;
}
@media (width <= 768px) {
  .c-mv-slide__list .slick-slide {
    height: 26rem;
  }
}
.c-mv-slide__list .slick-slide > div {
  position: relative;
}
.c-mv-slide__list .slick-slide:nth-of-type(1) {
  background: url(./images/home/mv_pic1.webp) no-repeat;
  background-size: cover;
  background-position: center;
}
.c-mv-slide__list .slick-slide:nth-of-type(2) {
  background: url(./images/home/mv_pic2.webp) no-repeat;
  background-size: cover;
  background-position: center;
}
.c-mv-slide__list .slick-slide:nth-of-type(3) {
  background: url(./images/home/mv_pic3.webp) no-repeat;
  background-size: cover;
  background-position: center;
}
.c-mv-slide__item {
  position: absolute;
  height: 100vh;
}
@media (width <= 768px) {
  .c-mv-slide__item {
    height: 26rem;
  }
}

.c-sp-menu {
  display: none;
  cursor: pointer;
}
@media (width <= 768px) {
  .c-sp-menu {
    width: 4.6666666667rem;
    height: 4rem;
    background: #156F9A;
    position: fixed;
    padding: 1rem;
    top: 0;
    right: 0;
    display: block;
  }
}
.c-sp-menu__span {
  display: block;
  height: 0.1333333333rem;
  background: #fff;
  width: calc(100% - 2rem);
  transition: 0.3s;
}
.c-sp-menu__span:nth-of-type(1) {
  position: absolute;
  top: 1rem;
  left: 1rem;
}
.c-sp-menu__span:nth-of-type(2) {
  position: absolute;
  top: calc(50% - 1px);
  left: 1rem;
}
.c-sp-menu__span:nth-of-type(3) {
  position: absolute;
  bottom: 1rem;
  left: 1rem;
}
.is-clicked .c-sp-menu__span:nth-of-type(1) {
  transform: rotate(40deg);
  top: 1.9333333333rem;
}
.is-clicked .c-sp-menu__span:nth-of-type(2) {
  opacity: 0;
}
.is-clicked .c-sp-menu__span:nth-of-type(3) {
  transform: rotate(-40deg);
  bottom: 1.9333333333rem;
}

.c-table {
  width: 100%;
  background: #fff;
}
.c-table th {
  background: #156F9A;
  color: #fff;
  padding: 0.375rem 1.25rem;
  border: 0.125rem solid #F2F7F9;
  font-weight: 500;
  width: 11.25rem;
  text-align: center;
}
@media (width <= 768px) {
  .c-table th {
    width: 100%;
    display: block;
    padding: 0.4rem 1.3333333333rem;
    border: 0.1333333333rem solid #F2F7F9;
    text-align: left;
  }
}
.c-table td {
  font-weight: 500;
  padding: 0.375rem 1.25rem;
  border: 0.125rem solid #F2F7F9;
}
@media (width <= 768px) {
  .c-table td {
    width: 100%;
    display: block;
    padding: 0.4rem 1.3333333333rem;
    border: 0.1333333333rem solid #F2F7F9;
  }
}

.c-top-about {
  background: #fff url(./images/home/about_bg.webp) no-repeat;
  background-position: left top;
  background-size: 32.25rem 29.8125rem;
  height: 29.8125rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media (width <= 768px) {
  .c-top-about {
    background-size: 34.4rem 31.8rem;
    height: 31.8rem;
  }
}

.c-top-company {
  position: relative;
}
.c-top-company__img {
  width: 14.5rem;
  height: 13.6875rem;
  position: absolute;
  left: calc(50% - 7.25rem);
}
@media (width <= 768px) {
  .c-top-company__img {
    left: calc(50% - 6rem);
    width: 12rem;
    height: auto;
  }
}

.c-top-contact {
  background: #156F9A;
  color: #fff;
}
.c-top-contact__info {
  line-height: 1;
  color: #fff;
  text-decoration: none;
  border: 0.125rem solid #fff;
  padding: 0.9375rem 0 1.5625rem;
  text-align: center;
  width: 27.5rem;
  font-weight: 700;
  font-size: 2.75rem;
  display: block;
  margin: 0 auto 3.75rem;
}
@media (width <= 768px) {
  .c-top-contact__info {
    border: 0.1333333333rem solid #fff;
    padding: 1rem 0 1.6666666667rem;
    width: 100%;
    font-size: 2.5333333333rem;
    margin: 0 auto 4rem;
  }
}
.c-top-contact__info i {
  margin-right: 0.625rem;
}
.c-top-contact__time {
  font-size: 1rem;
  font-weight: 500;
  margin-top: 0.625rem;
}
@media (width <= 768px) {
  .c-top-contact__time {
    margin-top: 0.6666666667rem;
  }
}
.c-top-contact__inner {
  width: 100%;
  background: #fff;
  border-radius: 0.625rem;
  padding: 2.5rem 3.75rem;
  color: #000;
}
@media (width <= 768px) {
  .c-top-contact__inner {
    border-radius: 0.6666666667rem;
    padding: 1.3333333333rem;
  }
}
.c-top-contact__dt {
  font-size: 1.125rem;
  font-weight: 700;
  margin-bottom: 0.3125rem;
}
@media (width <= 768px) {
  .c-top-contact__dt {
    font-size: 1.2rem;
    margin-bottom: 0.3333333333rem;
  }
}
.c-top-contact__dd {
  margin-bottom: 1.25rem;
}
@media (width <= 768px) {
  .c-top-contact__dd {
    margin-bottom: 1.3333333333rem;
  }
}
.c-top-contact__submit {
  height: auto !important;
  background: #156F9A;
  color: #fff;
  font-weight: 700;
  padding: 1.25rem 3.75rem !important;
  border-radius: 9999px;
  display: inline-block;
  font-size: 1rem !important;
  width: auto !important;
}
@media (width <= 768px) {
  .c-top-contact__submit {
    padding: 1.3333333333rem 4rem !important;
  }
}
.c-top-contact input[type=radio] {
  margin-right: 0.3125rem;
}
@media (width <= 768px) {
  .c-top-contact input[type=radio] {
    margin-right: 0.3333333333rem;
  }
}
.c-top-contact input[type=tel],
.c-top-contact input[type=email],
.c-top-contact input[type=text] {
  width: 100%;
  height: 2.5rem;
  background: #F2F7F9;
  border: 1px solid #d9d9d9;
  border-radius: 0.3125rem;
  font-size: 1.0625rem;
  padding: 0 0.625rem;
}
@media (width <= 768px) {
  .c-top-contact input[type=tel],
.c-top-contact input[type=email],
.c-top-contact input[type=text] {
    height: 2.6666666667rem;
    border-radius: 0.3333333333rem;
    font-size: 1.0666666667rem;
    padding: 0 0.6666666667rem;
  }
}
.c-top-contact textarea {
  background: #F2F7F9;
  border: 1px solid #d9d9d9;
  border-radius: 0.3125rem;
  width: 100%;
  height: 17.125rem;
  font-size: 1.0625rem;
  padding: 0.625rem;
}
@media (width <= 768px) {
  .c-top-contact textarea {
    border-radius: 0.3333333333rem;
    height: 18.2666666667rem;
    font-size: 1.0666666667rem;
    padding: 0.6666666667rem;
  }
}
.c-top-contact *::placeholder {
  color: #aeaeae;
}
.c-top-contact label {
  font-size: 1.0625rem;
  padding-left: 0;
}
@media (width <= 768px) {
  .c-top-contact label {
    font-size: 1.0666666667rem;
    display: inline-block;
  }
}

.c-top-map {
  height: 26.25rem;
}
@media (width <= 768px) {
  .c-top-map {
    height: 28rem;
  }
}
.c-top-map iframe {
  width: 100%;
  height: 100%;
}

.c-top-recruit {
  background: url(./images/home/recruit_pic.webp) no-repeat;
  background-position: center center;
  background-size: cover;
  position: relative;
}
.c-top-recruit__filter {
  background: rgba(0, 0, 0, 0.5);
  left: 0;
  top: 0;
  position: absolute;
  width: 100%;
  height: 100%;
}
.c-top-recruit__inner {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 4.625rem;
  margin-bottom: 3.75rem;
}
@media (width <= 768px) {
  .c-top-recruit__inner {
    display: block;
    margin-bottom: 0;
  }
}
.c-top-recruit__text {
  width: 35.8125rem;
}
@media (width <= 768px) {
  .c-top-recruit__text {
    width: 100%;
    margin-bottom: 2.6666666667rem;
  }
}

.c-top-service {
  background: #F2F7F9 url(./images/home/service_pic.webp) no-repeat;
  background-position: calc(50% + 17.375rem) center;
  background-size: 34.75rem;
}
@media (width <= 768px) {
  .c-top-service {
    background-size: 20.4666666667rem;
    background-position: center 11.3333333333rem;
  }
}
.c-top-service__title {
  font-weight: 700;
  font-size: 1.875rem;
  margin-top: 3.75rem;
}
@media (width <= 768px) {
  .c-top-service__title {
    font-size: 1.3333333333rem;
    margin-top: 20rem;
  }
}
.c-top-service__p {
  margin-bottom: 1.5625rem;
  width: 33.5rem;
}
@media (width <= 768px) {
  .c-top-service__p {
    width: 100%;
    text-align: left;
  }
}

.c-title__h2--top {
  font-size: 1.25rem;
  font-weight: 700;
}
@media (width <= 768px) {
  .c-title__h2--top {
    font-size: 1.2rem;
  }
}

.c-value-list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  max-width: 60.75rem;
  margin: 0 auto;
  gap: 4.6875rem 4rem;
}
@media (width <= 768px) {
  .c-value-list {
    max-width: 64.8rem;
    gap: 2.6666666667rem;
  }
}
.c-value-list__item {
  width: calc(50% - 2rem);
}
@media (width <= 768px) {
  .c-value-list__item {
    width: 100%;
  }
}
.c-value-list__title {
  font-size: 1.625rem;
  font-weight: 700;
  margin-bottom: 0.625rem;
}
@media (width <= 768px) {
  .c-value-list__title {
    font-size: 1.2rem;
    margin-bottom: 0.6666666667rem;
  }
}
.c-value-list__span {
  font-size: 3.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-right: 0.8125rem;
}
@media (width <= 768px) {
  .c-value-list__span {
    font-size: 2.6666666667rem;
    margin-right: 0.8666666667rem;
  }
}
.c-value-list__thumb {
  margin-bottom: 1.25rem;
}
@media (width <= 768px) {
  .c-value-list__thumb {
    margin-bottom: 0.6666666667rem;
  }
}

/********************************************
* Project
********************************************/
.p-home {
  background: #F2F7F9;
}
.p-home .c-top-about .c-title__h2--top {
  margin-bottom: 6.875rem;
}
@media (width <= 768px) {
  .p-home .c-top-about .c-title__h2--top {
    margin-bottom: 2rem;
  }
}
.p-home .c-top-about .c-inner {
  padding: 0;
}
@media (width <= 768px) {
  .p-home .c-top-about .c-inner {
    padding: 4rem 1.3333333333rem;
  }
}
@media (width <= 768px) {
  .p-home .c-top-about .c-inner p {
    text-align: left;
  }
}
.p-home .c-top-service {
  position: relative;
  z-index: 1;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 5rem), 0 100%);
}
.p-home .c-top-service .c-inner {
  padding-bottom: 11.25rem;
}
@media (width <= 768px) {
  .p-home .c-top-service .c-inner {
    text-align: center;
    padding-bottom: 8.6666666667rem;
  }
}
@media (width <= 768px) {
  .p-home .c-top-service {
    clip-path: polygon(0 0, 100% 0, 100% calc(100% - 5.3333333333rem), 0 100%);
  }
}
.p-home .c-top-value {
  position: relative;
  margin-top: -5rem;
  background: #156F9A;
  color: #fff;
}
@media (width <= 768px) {
  .p-home .c-top-value {
    margin-top: -5.3333333333rem;
    padding-top: 5.3333333333rem;
  }
}
.p-home .c-top-value .c-eng {
  font-size: 13rem;
  color: rgba(255, 255, 255, 0.3);
}
@media (width <= 768px) {
  .p-home .c-top-value .c-eng {
    font-size: 3.3333333333rem;
  }
}
.p-home .c-top-value .c-title__h2--top {
  font-size: 1.875rem;
  margin: -4.0625rem 0 3.125rem;
}
@media (width <= 768px) {
  .p-home .c-top-value .c-title__h2--top {
    font-size: 1.2rem;
    margin: 0 0 3.3333333333rem;
  }
}
.p-home .c-top-recruit {
  color: #fff;
}
.p-home .c-top-recruit .c-inner {
  position: relative;
  z-index: 1;
  padding: 9.375rem 0;
}
@media (width <= 768px) {
  .p-home .c-top-recruit .c-inner {
    padding: 4rem 1.3333333333rem;
  }
}
.p-home .c-top-recruit .c-eng {
  color: #fff;
}
@media (width <= 768px) {
  .p-home .c-top-recruit .c-eng {
    text-align: center;
  }
}
@media (width <= 768px) {
  .p-home .c-top-recruit .c-title__h2--top {
    text-align: center;
    margin-bottom: 2rem;
  }
}
.p-home .c-top-recruit .c-btn--line-white {
  padding: 0.9375rem 5rem 0.9375rem 3.75rem;
}
.p-home .c-top-company .c-eng {
  margin-top: 3.75rem;
  position: relative;
  z-index: 1;
}
.p-home .c-top-company .c-title__h2--top {
  position: relative;
  z-index: 1;
  margin-bottom: 3.125rem;
}
.p-home .c-top-contact .c-eng {
  color: #fff;
}
.p-home .c-top-contact .c-title__h2--top {
  margin-bottom: 2.1875rem;
}

/* Utilities */
.u-mt0 {
  margin-top: 0px;
}

.u-mb0 {
  margin-bottom: 0px;
}

.u-mt10 {
  margin-top: 10px;
}

.u-mb10 {
  margin-bottom: 10px;
}

.u-mt20 {
  margin-top: 20px;
}

.u-mb20 {
  margin-bottom: 20px;
}

.u-mt30 {
  margin-top: 30px;
}

.u-mb30 {
  margin-bottom: 30px;
}

.u-mt40 {
  margin-top: 40px;
}

.u-mb40 {
  margin-bottom: 40px;
}

.u-mt50 {
  margin-top: 50px;
}

.u-mb50 {
  margin-bottom: 50px;
}

.u-mt60 {
  margin-top: 60px;
}

.u-mb60 {
  margin-bottom: 60px;
}

.u-mt70 {
  margin-top: 70px;
}

.u-mb70 {
  margin-bottom: 70px;
}

.u-mt80 {
  margin-top: 80px;
}

.u-mb80 {
  margin-bottom: 80px;
}

.u-mt90 {
  margin-top: 90px;
}

.u-mb90 {
  margin-bottom: 90px;
}

.u-mt100 {
  margin-top: 100px;
}

.u-mb100 {
  margin-bottom: 100px;
}

.u-pc {
  display: block;
}
.u-pc--inline {
  display: inline;
}
.u-pc--iblock {
  display: inline-block;
}

.u-sp {
  display: none;
}
.u-sp--inline {
  display: none;
}
.u-sp--iblock {
  display: none;
}

.u-ofit {
  object-fit: cover;
  font-family: "object-fit: cover;";
}

.u-pos--absolute {
  position: absolute;
}
.u-pos--fixed {
  position: fixed;
}
.u-pos--relative {
  position: relative;
}

.u-text--default {
  font-family: "Noto Sans JP", sans-serif;
}
.u-text--barlow {
  font-family: "Barlow Semi Condensed", sans-serif;
  line-height: 1;
}
.u-text--center {
  text-align: center;
}
.u-text--left {
  text-align: left;
}
.u-text--right {
  text-align: right;
}
.u-text--thin {
  font-weight: 100;
}
.u-text--extra-light {
  font-weight: 200;
}
.u-text--light {
  font-weight: 300;
}
.u-text--regular {
  font-weight: 400;
}
.u-text--medium {
  font-weight: 500;
}
.u-text--semi-bold {
  font-weight: 600;
}
.u-text--bold {
  font-weight: 700;
}
.u-text--extra-bold {
  font-weight: 800;
}
.u-text--black {
  font-weight: 900;
}
.u-text--big {
  font-size: 1.4em;
}
.u-text--regular {
  font-size: 1em;
}
.u-text--small {
  font-size: 0.8em;
}

.u-text_ellipsis {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  background-color: #ccc;
  line-height: 1.5;
}
.u-text_ellipsis--multiline {
  white-space: normal;
  max-height: 3em;
  position: relative;
}
.u-text_ellipsis--multiline::after {
  content: "…";
  position: absolute;
  display: block;
  bottom: 0;
  right: 0;
  background-color: #ccc;
}
.u-text_ellipsis--line2 {
  max-height: 3em;
}
.u-text_ellipsis--line3 {
  max-height: 4.5em;
}
.u-text_ellipsis--line4 {
  max-height: 6em;
}
.u-text_ellipsis--line5 {
  max-height: 7.5em;
}

.u-color__yellow {
  color: yellow;
}

@media (width <= 768px) {
  .u-pc {
    display: none;
  }
  .u-pc--inline {
    display: none;
  }
  .u-pc--iblock {
    display: none;
  }

  .u-sp {
    display: block;
  }
  .u-sp--inline {
    display: inline;
  }
  .u-sp--iblock {
    display: inline-block;
  }
}