@charset "UTF-8";
body {
  font-family: "Noto Sans JP", sans-serif;
  width: 100%;
  min-width: 1000px;
}
@media screen and (max-width: 828px) {
  body {
    min-width: 640px;
  }
}

@media screen and (min-width: 829px) {
  .pc-none {
    display: none !important;
  }
  .pc-show {
    display: block;
  }
}
@media screen and (max-width: 828px) {
  .sp-none {
    display: none !important;
  }
  .sp-show {
    display: block;
  }
}
.all-none {
  display: none !important;
}

.all-show {
  display: block;
}

.large-text {
  text-transform: uppercase;
}

@media screen and (min-width: 829px) {
  .tel {
    pointer-events: none;
  }
}

* {
  box-sizing: border-box;
}

html, body, h1, h2, h3, h4, h5, h6, ul, ol, dl, li, dt, dd, p, div, span, img, a, table, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: normal;
  font-size: 100%;
  vertical-align: baseline;
}

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

body, h1, h2, h3, h4, p, ul, ol, figure, blockquote, dl, dd {
  margin: 0;
}

body {
  line-height: 1;
  font-size: 16px;
  background: #fff;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

footer {
  margin-top: auto;
}

ol, ul {
  list-style: none;
  list-style-type: none;
}

img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

a {
  text-decoration: none;
  color: inherit;
  font-family: inherit;
  display: block;
}

a, div, p, dt, dd, li {
  -webkit-tap-highlight-color: transparent;
}

.footer {
  background-color: #F2F2F2;
  padding-top: 77px;
  padding-bottom: 88px;
}
@media screen and (max-width: 828px) {
  .footer {
    padding-top: 88px;
  }
}

.footer__items {
  display: flex;
  justify-content: space-between;
}

.footer__item {
  width: 213px;
}

.footer__heading {
  padding-bottom: 12px;
}

.footer__heading a {
  display: flex;
  flex-direction: column;
}

.footer__heading-en {
  color: #489CB5;
  text-transform: uppercase;
  font-family: "Source Sans 3", sans-serif;
  letter-spacing: 0.06em;
}

.footer__heading-ja {
  margin-top: 5px;
  color: #084C61;
  font-size: 10px;
  letter-spacing: 0.06em;
  font-weight: 700;
}

.footer__links {
  padding-top: 12px;
  position: relative;
}
.footer__links::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 2px;
  background-color: #084C61;
  top: 0;
  left: 0;
}

.footer__link {
  display: flex;
  align-items: center;
}
.footer__link::before {
  margin-right: 5px;
  content: "";
  border-style: solid;
  border-width: 4px 0 4px 7px;
  border-color: transparent transparent transparent #084C61;
}
.footer__link:not(:first-child) {
  margin-top: 9px;
}

.footer__link a {
  color: #084C61;
  font-size: 12px;
  letter-spacing: 0.08em;
}

.footer__contents {
  display: flex;
  margin-top: 35px;
}
@media screen and (max-width: 828px) {
  .footer__contents {
    flex-direction: column-reverse;
    margin-top: 0;
  }
}

@media screen and (max-width: 828px) {
  .footer__info {
    margin-top: 100px;
  }
}

.footer__logo {
  width: 352px;
  height: 41px;
}
@media screen and (max-width: 828px) {
  .footer__logo {
    width: 670px;
    height: 78px;
  }
}

.footer__company {
  margin-top: 13px;
  color: #084C61;
  font-weight: 700;
  font-size: 18px;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 828px) {
  .footer__company {
    font-size: 40px;
    margin-top: 30px;
  }
}

.footer__address {
  margin-top: 15px;
  color: #084C61;
  font-size: 14px;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 828px) {
  .footer__address {
    font-size: 30px;
    margin-top: 30px;
  }
}

.footer__tel {
  margin-top: 9px;
  color: #084C61;
  font-size: 14px;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 828px) {
  .footer__tel {
    font-size: 30px;
  }
}

.footer__others {
  margin-left: auto;
}
@media screen and (max-width: 828px) {
  .footer__others {
    margin-left: 0;
  }
}

.footer__other {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
@media screen and (max-width: 828px) {
  .footer__other {
    justify-content: space-between;
  }
}

.footer__other-links {
  display: flex;
}
@media screen and (max-width: 828px) {
  .footer__other-links {
    flex-direction: column;
  }
}

.footer__other-link {
  display: flex;
  align-items: center;
}
.footer__other-link::before {
  margin-right: 5px;
  content: "";
  border-style: solid;
  border-width: 4px 0 4px 7px;
  border-color: transparent transparent transparent #084C61;
}
@media screen and (max-width: 828px) {
  .footer__other-link::before {
    border-width: 8px 0 8px 16px;
    margin-right: 10px;
  }
}
.footer__other-link:not(:first-child) {
  margin-left: 18px;
}
@media screen and (max-width: 828px) {
  .footer__other-link:not(:first-child) {
    margin-left: 0;
    margin-top: 15px;
  }
}

.footer__other-link a {
  color: #084C61;
  font-size: 14px;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 828px) {
  .footer__other-link a {
    font-size: 32px;
  }
}

.footer__mail {
  width: 80px;
  height: 80px;
  background-color: #489CB5;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: 41px;
  cursor: pointer;
}
.footer__mail img {
  width: 28.38px;
  height: 26.61px;
}
@media screen and (max-width: 828px) {
  .footer__mail img {
    width: 79.45px;
    height: 74.48px;
  }
}
@media screen and (max-width: 828px) {
  .footer__mail {
    width: 275px;
    height: 170px;
  }
}

.footer__copy {
  margin-top: 35px;
  display: block;
  color: #084C61;
  font-size: 10px;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 828px) {
  .footer__copy {
    font-size: 22px;
    letter-spacing: 0.02em;
    margin-top: 120px;
    text-align: center;
  }
}

@media screen and (max-width: 828px) {
  .footer__contents.ktt {
    flex-direction: column;
  }
}
@media screen and (max-width: 828px) {
  .footer__contents.ktt .footer__info {
    margin-top: 0;
  }
}
.footer__contents.ktt .footer__logo {
  width: 460px;
}
@media screen and (max-width: 828px) {
  .footer__contents.ktt .footer__logo {
    width: 750px;
    height: 67px;
  }
}
.footer__contents.ktt .footer__company {
  font-size: 24px;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 828px) {
  .footer__contents.ktt .footer__company {
    font-size: 38px;
  }
}
.footer__contents.ktt .footer__address {
  line-height: 1.5;
}
@media screen and (max-width: 828px) {
  .footer__contents.ktt .footer__address {
    font-size: 26px;
  }
}
@media screen and (max-width: 828px) {
  .footer__contents.ktt .footer__tel {
    font-size: 26px;
  }
}
.footer__contents.ktt .footer__others {
  margin-top: 40px;
}
@media screen and (max-width: 828px) {
  .footer__contents.ktt .footer__others {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    margin-top: 100px;
  }
}
@media screen and (max-width: 828px) {
  .footer__contents.ktt .footer__mail {
    width: 192px;
    height: 192px;
  }
}
.footer__contents.ktt .footer__copy {
  font-weight: 700;
  margin-right: 30px;
}
@media screen and (max-width: 828px) {
  .footer__contents.ktt .footer__copy {
    text-align: left;
    font-size: 21px;
    line-height: 1.6666666667;
    margin-top: 80px;
  }
}

.header {
  height: 100px;
  position: relative;
  z-index: 50;
  color: #FFFFFF;
}
@media screen and (max-width: 828px) {
  .header {
    height: 153px;
  }
}
.header.is-open {
  background-color: #FFFFFF;
}
.header.is-open .header__logo .header__logo-blue {
  display: block;
}
.header.is-open .header__logo-white {
  display: none;
}
.header .inner.header__inner,
.header .header__nav,
.header .header__contact {
  height: 100px;
}
@media screen and (max-width: 828px) {
  .header .inner.header__inner,
  .header .header__nav,
  .header .header__contact {
    height: 153px;
  }
}
.header .inner.header__inner {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 828px) {
  .header .inner.header__inner {
    width: 100%;
    padding-left: 40px;
  }
}
.header .header__logo {
  width: 226px;
  height: 47px;
}
@media screen and (max-width: 828px) {
  .header .header__logo {
    width: 289px;
    height: 60px;
  }
}
.header .header__logo .header__logo-blue {
  display: none;
}
.header.ktt .header__logo {
  width: 340px;
}
@media screen and (max-width: 828px) {
  .header.ktt .header__logo {
    width: 450px;
  }
}
.header .header__nav {
  margin-left: auto;
  display: flex;
  align-items: center;
}
.header .header__items {
  display: flex;
}
.header .header__item:last-child a {
  border-right: 2px solid #FFFFFF;
}
.header .header__item a {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 10px 23px;
  border-left: 2px solid #FFFFFF;
}
.header .header__en {
  text-transform: uppercase;
  font-family: "Source Sans 3", sans-serif;
  letter-spacing: 0.06em;
}
.header .header__ja {
  margin-top: 5px;
  font-size: 10px;
  letter-spacing: 0.06em;
  font-weight: 700;
}
.header .header__contact {
  background-color: #489CB5;
  width: 80px;
  height: 80px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: 30px;
  transition: opacity 0.3s ease 0s;
}
@media screen and (max-width: 828px) {
  .header .header__contact {
    width: 153px;
    height: 153px;
  }
}
.header .header__contact:hover {
  opacity: 0.7;
}
.header .header__contact img {
  width: 28.38px;
  height: 26.61px;
  padding: 1px;
}
@media screen and (max-width: 828px) {
  .header .header__contact img {
    width: 53.79px;
    height: 50.42px;
  }
}
@media screen and (max-width: 828px) {
  .header .header__hamberger {
    width: 153px;
    height: 153px;
    background-color: #FFFFFF;
    position: relative;
  }
  .header .header__hamberger .header__bar {
    position: absolute;
    background-color: #084C61;
    width: 67px;
    height: 3px;
    left: 45px;
    transition: transform 0.3s ease 0s;
  }
  .header .header__hamberger .header__bar:nth-child(1) {
    top: 50px;
  }
  .header .header__hamberger .header__bar:nth-child(2) {
    top: 75px;
  }
  .header .header__hamberger .header__bar:nth-child(3) {
    top: 100px;
  }
  .header .header__hamberger.is-open .header__bar:nth-child(1) {
    top: 75px;
    transform: rotate(45deg);
  }
  .header .header__hamberger.is-open .header__bar:nth-child(2) {
    display: none;
  }
  .header .header__hamberger.is-open .header__bar:nth-child(3) {
    top: 75px;
    transform: rotate(-45deg);
  }
}

.header.fix {
  transform: translateY(-100%);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 50;
  background-color: rgba(255, 255, 255, 0.8);
  transition: transform 0.5s ease 0s;
  height: 80px;
}
@media screen and (max-width: 828px) {
  .header.fix {
    height: 153px;
  }
}
.header.fix.is-active {
  transform: translateY(0);
}
.header.fix.is-open {
  background-color: #FFFFFF;
}
.header.fix .inner.header__inner,
.header.fix .header__nav,
.header.fix .header__contact {
  height: 80px;
}
@media screen and (max-width: 828px) {
  .header.fix .inner.header__inner,
  .header.fix .header__nav,
  .header.fix .header__contact {
    height: 153px;
  }
}
.header.fix .header__item a {
  border-left: 2px solid #489CB5;
}
.header.fix .header__item:last-child a {
  border-right: 2px solid #489CB5;
}
.header.fix .header__en {
  color: #489CB5;
}
.header.fix .header__ja {
  color: #084C61;
}
.header.fix .header__contact {
  width: 55px;
  height: 55px;
}
@media screen and (max-width: 828px) {
  .header.fix .header__contact {
    width: 153px;
    height: 153px;
  }
}

.header.under-page {
  background-color: rgba(255, 255, 255, 0.8);
}
.header.under-page.is-open {
  background-color: #FFFFFF;
}
.header.under-page .header__item a {
  border-left: 2px solid #489CB5;
}
.header.under-page .header__item:last-child a {
  border-right: 2px solid #489CB5;
}
.header.under-page .header__en {
  color: #489CB5;
}
.header.under-page .header__ja {
  color: #084C61;
}

body.is-open {
  overflow-y: hidden;
}

.inner {
  width: 1000px;
  margin: 0 auto;
}
@media screen and (max-width: 828px) {
  .inner {
    width: 751px;
  }
}

.drawer {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 40;
  background-color: rgba(8, 76, 97, 0.8);
  overflow: scroll;
  transform: translateY(-105%);
  transition: transform 0.5s ease 0s;
}
.drawer.is-open {
  transform: translateY(0);
}
.drawer::-webkit-scrollbar {
  display: none;
}
.drawer .drawer__items {
  margin-top: 153px;
  padding: 100px 64px 0;
}
.drawer .item {
  width: 700px;
  padding: 60px 72px 84px;
  background-color: #FFFFFF;
}
.drawer .item:not(:first-child) {
  margin-top: 30px;
}
.drawer .item__heading {
  padding-bottom: 15px;
}
.drawer .item__heading-en {
  font-size: 60px;
  font-family: "Source Sans 3", sans-serif;
  letter-spacing: 0.035em;
  color: #489CB5;
}
.drawer .item__heading-ja {
  font-size: 40px;
  color: #084C61;
  letter-spacing: 0.04em;
  margin-left: 15px;
  font-weight: 700;
}
.drawer .drawer__lists {
  border-top: 2px solid #084C61;
  padding-top: 30px;
}
.drawer .drawer__link {
  position: relative;
  padding: 15px 0;
  display: flex;
  align-items: center;
}
.drawer .drawer__link::before {
  margin-right: 10px;
  margin-top: 3px;
  content: "";
  border-style: solid;
  border-width: 10px 0 10px 20px;
  border-color: transparent transparent transparent #084C61;
}
.drawer .drawer__link a {
  font-size: 36px;
  color: #084C61;
  letter-spacing: 0.08em;
}
.drawer .drawer__contact {
  width: 700px;
  height: 239px;
  margin: 76px auto 0;
  background-color: #489CB5;
  color: #FFFFFF;
  font-size: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  letter-spacing: 0.08em;
  display: flex;
  align-items: center;
}
.drawer .drawer__contact::before {
  content: "";
  width: 91.67px;
  height: 85.94px;
  background-image: url(../assets/img/common/icon3.svg);
  margin-right: 40px;
}
.drawer .drawer__other-links {
  width: 700px;
  margin: 60px auto 0;
  margin-bottom: 100px;
}
.drawer .drawer__other-link.drawer__link::before {
  border-color: transparent transparent transparent #FFFFFF;
}
.drawer .drawer__other-link.drawer__link a {
  color: #FFFFFF;
}

.drawer.ktt .item:nth-child(n+3) {
  padding: 55px 72px;
}
.drawer.ktt .item:nth-child(n+3) .item__heading {
  padding-bottom: 0;
}
.drawer.ktt .item:nth-child(n+3) .item__heading-en {
  display: flex;
  align-items: center;
}
.drawer.ktt .item:nth-child(n+3) .item__heading-en::before {
  margin-right: 20px;
  margin-top: -1px;
  content: "";
  border-style: solid;
  border-width: 10px 0 10px 20px;
  border-color: transparent transparent transparent #084C61;
}
.drawer.ktt .item__heading-en {
  text-transform: uppercase;
}
.drawer.ktt .drawer__contact {
  margin-bottom: 100px;
  font-size: 60px;
}

.btn {
  background-image: url(../assets/img/common/btn-bg.jpg);
  background-size: cover;
  display: flex;
  align-items: center;
  color: #FFFFFF;
}
.btn::before {
  content: "";
  height: 1px;
  background-color: #FFFFFF;
  margin-right: 10px;
}

.arrow {
  display: flex;
  align-items: center;
}
.arrow::after {
  content: "";
  border-style: solid;
  border-width: 4px 0 4px 8px;
  border-color: transparent transparent transparent #FFFFFF;
  margin-left: 10px;
}
@media screen and (max-width: 828px) {
  .arrow::after {
    border-width: 8px 0 8px 16px;
    margin-left: 15px;
  }
}

.page-top {
  margin-top: -100px;
}
@media screen and (max-width: 828px) {
  .page-top {
    margin-top: -153px;
  }
}

.page-top__img {
  position: relative;
}
.page-top__img::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(72, 156, 181, 0.4);
  z-index: 10;
}

.page-top__img.no-mask::after {
  display: none;
}

.page-top__heading {
  position: absolute;
  width: 1000px;
  height: -moz-fit-content;
  height: fit-content;
  left: 50%;
  top: calc(50% + 45px);
  transform: translate(-50%, -50%);
  z-index: 20;
}
@media screen and (max-width: 828px) {
  .page-top__heading {
    width: 738px;
    top: calc(50% + 60px);
  }
}

@media screen and (max-width: 828px) {
  .page-top__heading.ktt-csr {
    top: calc(50% - 90px);
  }
}

.page-top__heading-en {
  color: #FFFFFF;
  font-size: 84px;
  font-family: "Source Sans 3", sans-serif;
  font-style: italic;
}
.page-top__heading-en span {
  font-size: 48px;
}
@media screen and (max-width: 828px) {
  .page-top__heading-en span {
    font-size: 52px;
    display: block;
    margin-top: -10px;
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 828px) {
  .page-top__heading-en {
    font-size: 120px;
  }
}

.btn.page-top__heading-ja {
  height: 39px;
  min-width: 100px;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 14px;
  font-weight: 700;
  padding-right: 20px;
  padding-bottom: 3px;
}
@media screen and (max-width: 828px) {
  .btn.page-top__heading-ja {
    height: 98px;
    font-size: 36px;
    padding-right: 30px;
    min-width: initial;
    margin-top: 10px;
  }
}
.btn.page-top__heading-ja::before {
  width: 17px;
}
@media screen and (max-width: 828px) {
  .btn.page-top__heading-ja::before {
    width: 44px;
    margin-right: 20px;
  }
}

.line {
  position: relative;
}
.line::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #489CB5;
}
.line::after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #489CB5;
}

.inner {
  position: relative;
}

.line-right {
  width: calc(50% + 50vw);
  min-width: 1040px;
  height: 14px;
  top: -14px;
  left: -10px;
  background-color: #084C61;
  position: absolute;
}
@media screen and (max-width: 828px) {
  .line-right {
    width: 762px;
    min-width: initial;
    right: -38px;
    left: auto;
  }
}
@media screen and (max-width: 828px) {
  .line-right.wsp614 {
    width: 614px;
  }
}

.line-left {
  width: calc(50% + 50vw);
  min-width: 1040px;
  height: 14px;
  top: -14px;
  right: 0;
  background-color: #084C61;
  position: absolute;
}
@media screen and (max-width: 828px) {
  .line-left {
    width: 762px;
    min-width: initial;
    right: auto;
    left: -38px;
  }
}
@media screen and (max-width: 828px) {
  .line-left.wsp614 {
    width: 614px;
  }
}

.top-page .cards,
.service-page .cards {
  display: flex;
  justify-content: space-between;
}
.top-page .card,
.service-page .card {
  width: 315px;
  color: #FFFFFF;
  padding: 25px 18px 20px;
  background-size: cover;
  display: flex;
  flex-direction: column;
}
.top-page .card:nth-child(1),
.service-page .card:nth-child(1) {
  background-image: url(../assets/img/top/card-bg1.jpg);
}
.top-page .card:nth-child(2),
.service-page .card:nth-child(2) {
  background-image: url(../assets/img/top/card-bg2.jpg);
}
.top-page .card:nth-child(3),
.service-page .card:nth-child(3) {
  background-image: url(../assets/img/top/card-bg3.jpg);
}
.top-page .card__head,
.service-page .card__head {
  display: flex;
}
.top-page .card__number,
.service-page .card__number {
  font-size: 82px;
  font-family: "Source Sans 3", sans-serif;
  font-weight: 700;
  margin-top: -5px;
}
.top-page .card__heading,
.service-page .card__heading {
  margin-left: 20px;
}
.top-page .card__heading-en,
.service-page .card__heading-en {
  font-size: 40px;
  font-family: "Source Sans 3", sans-serif;
  font-weight: 700;
  font-style: italic;
}
.top-page .card__heading-ja,
.service-page .card__heading-ja {
  margin-top: 5px;
  font-size: 16px;
  font-weight: 700;
}
.top-page .card__body,
.service-page .card__body {
  padding: 0px 0 30px 110px;
  height: 100%;
}
.top-page .card__text,
.service-page .card__text {
  font-size: 14px;
  line-height: 1.7;
}
.top-page .card__link,
.service-page .card__link {
  margin-left: auto;
  margin-right: 10px;
  padding: 10px;
  font-weight: 500;
}

.works {
  padding-top: 124px;
  padding-bottom: 173px;
}
@media screen and (max-width: 828px) {
  .works {
    padding-top: 225px;
    padding-bottom: 410px;
  }
}

.works__contents {
  padding: 70px 30px;
  border-top: 2px solid #489CB5;
}
@media screen and (max-width: 828px) {
  .works__contents {
    padding: 110px 30px 140px;
  }
}
.works__contents:last-child {
  border-bottom: 2px solid #489CB5;
}

.works__item {
  display: flex;
  align-items: flex-start;
}
@media screen and (max-width: 828px) {
  .works__item {
    flex-direction: column;
  }
}

.works__head {
  width: 450px;
  padding-right: 60px;
}
@media screen and (max-width: 828px) {
  .works__head {
    width: 100%;
    padding-right: 0;
  }
}

.works__img {
  width: 550px;
}
@media screen and (max-width: 828px) {
  .works__img {
    width: 100%;
    margin-top: 35px;
  }
}

.hover {
  transition: 0.3s opacity ease 0s;
  cursor: pointer;
}
.hover:hover {
  opacity: 0.7;
}

.top-page .links,
.csr-page .links,
.recruit-page .links {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 828px) {
  .top-page .links,
  .csr-page .links,
  .recruit-page .links {
    flex-direction: column;
  }
}
.top-page .link,
.csr-page .link,
.recruit-page .link {
  width: 450px;
}
@media screen and (max-width: 828px) {
  .top-page .link,
  .csr-page .link,
  .recruit-page .link {
    width: 100%;
  }
  .top-page .link:not(:first-child),
  .csr-page .link:not(:first-child),
  .recruit-page .link:not(:first-child) {
    margin-top: 80px;
  }
}
.top-page .link__heading,
.csr-page .link__heading,
.recruit-page .link__heading {
  font-size: 24px;
  color: #084C61;
  display: flex;
  align-items: center;
  font-weight: 300;
}
@media screen and (max-width: 828px) {
  .top-page .link__heading,
  .csr-page .link__heading,
  .recruit-page .link__heading {
    font-size: 40px;
  }
}
.top-page .link__heading::before,
.csr-page .link__heading::before,
.recruit-page .link__heading::before {
  content: "";
  background-color: #084C61;
  height: 1px;
  width: 20px;
  margin-right: 5px;
}
@media screen and (max-width: 828px) {
  .top-page .link__heading::before,
  .csr-page .link__heading::before,
  .recruit-page .link__heading::before {
    width: 30px;
  }
}
.top-page .link__img,
.csr-page .link__img,
.recruit-page .link__img {
  margin-top: 10px;
}
.top-page .link__btn,
.csr-page .link__btn,
.recruit-page .link__btn {
  width: 100%;
  height: 52px;
  margin-top: -52px;
  position: relative;
  z-index: 10;
  justify-content: center;
  font-size: 15px;
  font-weight: 500;
}
@media screen and (max-width: 828px) {
  .top-page .link__btn,
  .csr-page .link__btn,
  .recruit-page .link__btn {
    font-size: 25px;
    height: 80px;
  }
  .top-page .link__btn::after,
  .csr-page .link__btn::after,
  .recruit-page .link__btn::after {
    border-width: 8px 0 8px 16px;
    margin-left: 15px;
  }
}

.about-page {
  overflow: hidden;
}
.about-page .about {
  margin-top: 157px;
  margin-bottom: 216px;
}
@media screen and (max-width: 828px) {
  .about-page .about {
    margin-top: 206px;
    margin-bottom: 433px;
  }
}
.about-page .inner.about__inner {
  padding-top: 110px;
  padding-bottom: 104px;
}
@media screen and (max-width: 828px) {
  .about-page .inner.about__inner {
    width: 751px;
    padding-top: 182px;
    padding-bottom: 180px;
  }
}
.about-page .about__cards {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
@media screen and (max-width: 828px) {
  .about-page .about__cards {
    flex-direction: column;
    flex-wrap: initial;
    align-items: center;
  }
}
.about-page .card {
  width: 406px;
  position: relative;
}
@media screen and (max-width: 828px) {
  .about-page .card {
    width: 696px;
  }
}
.about-page .card:nth-child(2n) {
  margin-left: 70px;
}
@media screen and (max-width: 828px) {
  .about-page .card:nth-child(2n) {
    margin-left: 0;
  }
}
.about-page .card:nth-child(n+3) {
  margin-top: 79px;
}
@media screen and (max-width: 828px) {
  .about-page .card:nth-child(n+3) {
    margin-top: 0;
  }
}
@media screen and (max-width: 828px) {
  .about-page .card:nth-child(n+2) {
    margin-top: 97px;
  }
}
.about-page .card::after {
  position: absolute;
  content: "";
  width: 122px;
  height: 7px;
  background-color: #489CB5;
  top: -7px;
  left: 0;
}
.about-page .card__head {
  position: absolute;
  width: 100%;
  height: 72px;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  color: #FFFFFF;
  overflow: hidden;
}
@media screen and (max-width: 828px) {
  .about-page .card__head {
    height: 122px;
  }
}
.about-page .card__head::after {
  position: absolute;
  content: "";
  background-image: url("../assets/img/common/btn-bg.jpg");
  background-size: cover;
  width: 100%;
  height: 101%;
  top: -1%;
  left: 0;
  opacity: 0.8;
}
.about-page .card__heading {
  position: relative;
  z-index: 10;
  display: flex;
  align-items: center;
  font-size: 24px;
  font-weight: 300;
}
@media screen and (max-width: 828px) {
  .about-page .card__heading {
    font-size: 40px;
  }
}
.about-page .card__heading::before {
  content: "";
  background-color: #FFFFFF;
  width: 20px;
  height: 1px;
  margin-right: 10px;
}
@media screen and (max-width: 828px) {
  .about-page .card__heading::before {
    width: 35px;
    margin-right: 15px;
  }
}
.about-page .card__link {
  position: relative;
  z-index: 10;
  margin-left: auto;
  margin-right: 12px;
  padding: 10px;
  font-size: 13px;
  letter-spacing: 0.06em;
  font-weight: 500;
}
@media screen and (max-width: 828px) {
  .about-page .card__link {
    font-size: 24px;
    margin-right: 25px;
  }
}

.group-page {
  overflow: hidden;
}
.group-page .map {
  margin-top: 183px;
  background-image: url(../assets/img/about/group/map.jpg);
  background-size: cover;
  position: relative;
}
@media screen and (max-width: 828px) {
  .group-page .map {
    background-image: url(../assets/img/about/group/map-sp.jpg);
  }
}
.group-page .map::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(72, 156, 181, 0.4);
  z-index: 10;
}
.group-page .inner.map__inner {
  padding-top: 108px;
  padding-bottom: 120px;
  position: relative;
}
@media screen and (max-width: 828px) {
  .group-page .inner.map__inner {
    padding-top: 450px;
    padding-bottom: 137px;
  }
}
.group-page .inner.map__inner::after {
  position: absolute;
  content: "";
  top: -14px;
  left: -10px;
  width: calc(50% + 50vw);
  height: 14px;
  background-color: #084C61;
}
.group-page .map__container {
  width: 500px;
  margin-left: auto;
  background-image: url(../assets/img/about/group/bg.jpg);
  background-size: cover;
  padding: 52px 32px 64px;
  color: #FFFFFF;
  position: relative;
  z-index: 20;
}
@media screen and (max-width: 828px) {
  .group-page .map__container {
    width: 747px;
    margin: 0 auto;
    padding: 70px 45px 96px;
  }
}
.group-page .map__heading,
.group-page .map__heading-thai {
  font-size: 24px;
  letter-spacing: 0.08em;
  font-weight: 700;
}
@media screen and (max-width: 828px) {
  .group-page .map__heading,
  .group-page .map__heading-thai {
    font-size: 36px;
  }
}
.group-page .map__items {
  margin-top: 12px;
}
@media screen and (max-width: 828px) {
  .group-page .map__items {
    margin-top: 20px;
  }
}
.group-page .map__item {
  display: flex;
  align-items: center;
  border-top: 1px dotted #FFFFFF;
  padding: 16px 20px 16px 5px;
}
.group-page .map__item:last-child {
  border-bottom: 1px dotted #FFFFFF;
}
@media screen and (max-width: 828px) {
  .group-page .map__item {
    padding: 24px 30px 24px 15px;
  }
}
.group-page .map__place {
  font-size: 26px;
  letter-spacing: 0.03em;
  font-weight: 300;
}
@media screen and (max-width: 828px) {
  .group-page .map__place {
    font-size: 38px;
  }
}
.group-page .map__link {
  width: 130px;
  height: 35px;
  border: 1px solid #FFFFFF;
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding-right: 15px;
  padding-top: 2px;
  cursor: pointer;
  font-size: 15px;
  letter-spacing: 0.06em;
  font-weight: 500;
}
@media screen and (max-width: 828px) {
  .group-page .map__link {
    width: 195px;
    height: 52px;
    font-size: 22px;
    letter-spacing: 0.06em;
  }
}
.group-page .map__link::after {
  position: absolute;
  content: "";
  width: 7.6px;
  height: 17.4px;
  background-image: url(../assets/img/about/group/arrow.svg);
  background-repeat: no-repeat;
  top: 9px;
  right: 20px;
}
@media screen and (max-width: 828px) {
  .group-page .map__link::after {
    width: 11.4px;
    height: 26px;
    top: 12px;
  }
}
.group-page .map__item-thai {
  display: flex;
  align-items: center;
  border-top: 1px dotted #FFFFFF;
  border-bottom: 1px dotted #FFFFFF;
  padding: 10px 20px 10px 5px;
}
.group-page .map__heading-thai {
  margin-top: 32px;
}
@media screen and (max-width: 828px) {
  .group-page .map__heading-thai {
    margin-top: 60px;
  }
}
.group-page .map__item-thai {
  margin-top: 20px;
  padding: 10px 20px 10px 5px;
}
@media screen and (max-width: 828px) {
  .group-page .map__item-thai {
    margin-top: 20px;
    padding: 24px 30px 24px 15px;
  }
}
.group-page .map__place-thai {
  font-size: 26px;
  line-height: 1.2;
  font-weight: 300;
}
@media screen and (max-width: 828px) {
  .group-page .map__place-thai {
    font-size: 38px;
    line-height: 1.1052631579;
    letter-spacing: 0.03em;
  }
}
.group-page .domestic {
  padding-top: 196px;
  padding-bottom: 235px;
}
.group-page .domestic__heading {
  color: #489CB5;
  font-size: 58px;
  letter-spacing: 0.08em;
  font-weight: 300;
}
@media screen and (max-width: 828px) {
  .group-page .domestic__heading {
    font-size: 65px;
    letter-spacing: 0.03em;
  }
}
.group-page .item {
  padding-top: 90px;
}
@media screen and (max-width: 828px) {
  .group-page .item {
    padding-top: 120px;
  }
}
.group-page .item:not(:last-child) {
  padding-bottom: 90px;
  border-bottom: 1px dotted #489CB5;
}
@media screen and (max-width: 828px) {
  .group-page .item:not(:last-child) {
    padding-bottom: 120px;
  }
}
.group-page .item__head {
  display: flex;
}
.group-page .item__heading {
  position: relative;
  padding-left: 20px;
  margin-top: -10px;
  color: #489CB5;
  font-size: 36px;
  font-weight: 300;
}
.group-page .item__heading::after {
  position: absolute;
  content: "";
  background-color: #489CB5;
  height: 39px;
  width: 8px;
  left: 0;
  top: 2px;
}
@media screen and (max-width: 828px) {
  .group-page .item__heading::after {
    height: 56px;
    top: -5px;
  }
}
@media screen and (max-width: 828px) {
  .group-page .item__heading {
    font-size: 50px;
    letter-spacing: 0.03em;
    margin-top: -5px;
  }
}
.group-page .item__category {
  margin-left: auto;
  padding: 15px 28px;
  background-image: url(../assets/img/common/btn-bg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  color: #FFFFFF;
  text-transform: uppercase;
}
@media screen and (max-width: 828px) {
  .group-page .item__category {
    padding: 17px 46px;
    font-size: 24px;
    letter-spacing: 0.06em;
  }
}
.group-page .item:nth-child(5) .item__category,
.group-page .item:nth-child(6) .item__category,
.group-page .item:nth-child(7) .item__category {
  opacity: 0;
}
.group-page .item__contents {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 828px) {
  .group-page .item__contents {
    flex-direction: column-reverse;
  }
}
.group-page .item__contents.reverce {
  flex-direction: row-reverse;
}
@media screen and (max-width: 828px) {
  .group-page .item__contents.reverce {
    flex-direction: column-reverse;
  }
}
.group-page .item__items {
  width: 427px;
  border: 2px solid #489CB5;
  border-left: none;
  border-right: none;
}
@media screen and (max-width: 828px) {
  .group-page .item__items {
    width: 100%;
    border-top: none;
  }
}
.group-page .domestic .item:last-child .item__items {
  width: 100%;
}
@media screen and (max-width: 828px) {
  .group-page .domestic .item:last-child .item__items {
    border-top: 2px solid #489CB5;
  }
}
.group-page .item__item {
  display: flex;
  align-items: center;
  padding: 32px 20px;
}
@media screen and (max-width: 828px) {
  .group-page .item__item {
    padding: 54px 0;
  }
}
.group-page .item__item:not(:first-child) {
  border-top: 1px solid #489CB5;
}
.group-page .item__item dt {
  width: 100px;
  color: #489CB5;
  text-transform: uppercase;
  font-weight: 700;
}
@media screen and (max-width: 828px) {
  .group-page .item__item dt {
    font-size: 32px;
    letter-spacing: 0.04em;
    width: 173px;
  }
}
.group-page .item__item:nth-child(-n+3) dt {
  padding-left: 24px;
  position: relative;
}
@media screen and (max-width: 828px) {
  .group-page .item__item:nth-child(-n+3) dt {
    padding-left: 42px;
  }
}
.group-page .item__item:nth-child(-n+3) dt::after {
  position: absolute;
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}
.group-page .item__item:nth-child(1) dt::after {
  background-image: url(../assets/img/about/group/icon1.svg);
  width: 12.5px;
  height: 16px;
  top: 1px;
  left: 4px;
}
@media screen and (max-width: 828px) {
  .group-page .item__item:nth-child(1) dt::after {
    width: 26px;
    height: 33px;
  }
}
.group-page .item__item:nth-child(2) dt::after {
  background-image: url(../assets/img/about/group/icon2.svg);
  width: 11.25px;
  height: 18px;
  top: 0;
  left: 5px;
}
@media screen and (max-width: 828px) {
  .group-page .item__item:nth-child(2) dt::after {
    width: 23.4px;
    height: 37.4px;
    top: -3px;
  }
}
.group-page .item__item:nth-child(3) dt::after {
  background-image: url(../assets/img/about/group/icon3.svg);
  width: 18.28px;
  height: 16px;
  top: 1px;
  left: 0;
}
@media screen and (max-width: 828px) {
  .group-page .item__item:nth-child(3) dt::after {
    width: 32.3px;
    height: 28.25px;
  }
}
.group-page .item__item dd {
  width: calc(100% - 100px);
  color: #084C61;
  padding-left: 30px;
  position: relative;
  line-height: 1.5;
}
@media screen and (max-width: 828px) {
  .group-page .item__item dd {
    width: calc(100% - 173px);
    font-size: 32px;
    letter-spacing: 0.04em;
    line-height: 1.40625;
    padding-left: 40px;
  }
}
.group-page .item__item dd::after {
  position: absolute;
  content: "";
  width: 2px;
  height: 120%;
  background-color: #489CB5;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.group-page .item__img {
  width: 542px;
}
@media screen and (max-width: 828px) {
  .group-page .item__img {
    width: 100%;
  }
}
.group-page .abroad {
  background-color: rgba(72, 156, 181, 0.2);
  padding-bottom: 214px;
  color: #084C61;
}
@media screen and (max-width: 828px) {
  .group-page .abroad {
    padding-top: 116px;
    padding-bottom: 384px;
  }
}
@media screen and (max-width: 828px) {
  .group-page .abroad .item {
    padding-top: 42px;
  }
}
@media screen and (max-width: 828px) {
  .group-page .abroad .item__head {
    align-items: flex-end;
  }
}
.group-page .abroad .item__heading {
  color: #084C61;
}
@media screen and (max-width: 828px) {
  .group-page .abroad .item__heading {
    line-height: 1.42;
    margin-bottom: 10px;
  }
}
.group-page .abroad .item__heading::after {
  background-color: #084C61;
}
@media screen and (max-width: 828px) {
  .group-page .abroad .item__heading::after {
    top: 6px;
    height: 130px;
  }
}
@media screen and (max-width: 828px) {
  .group-page .abroad .item__category {
    width: 133px;
    height: 66px;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
.group-page .abroad .item__items {
  border-bottom: 2px solid #084C61;
}
.group-page .abroad .item__item {
  padding: 45px 30px;
}
@media screen and (max-width: 828px) {
  .group-page .abroad .item__item {
    padding: 75px 0;
  }
}
.group-page .abroad .item__item:not(:first-child) {
  border-top: 1px solid #084C61;
}
.group-page .abroad .item__item dt,
.group-page .abroad .item__item dd {
  color: #084C61;
  white-space: nowrap;
}
.group-page .abroad .item__item:nth-child(1) dt::after {
  background-image: url(../assets/img/about/group/icon1-green.svg);
}
.group-page .abroad .item__item:nth-child(2) dt::after {
  background-image: url(../assets/img/about/group/icon2-green.svg);
}
.group-page .abroad .item__item:nth-child(3) dt::after {
  background-image: url(../assets/img/about/group/icon3-green.svg);
}
.group-page .abroad .item__item dd::after {
  background-color: #084C61;
}
.group-page .abroad__heading {
  font-size: 58px;
  font-weight: 300;
}
@media screen and (max-width: 828px) {
  .group-page .abroad__heading {
    font-size: 65px;
    letter-spacing: 0.03em;
  }
}
.group-page .inner.abroad__inner {
  padding-top: 175px;
}
@media screen and (max-width: 828px) {
  .group-page .abroad .item__heading {
    white-space: nowrap;
  }
}
.group-page .btn.abroad__btn {
  padding: 20px 10px;
}
@media screen and (max-width: 828px) {
  .group-page .btn.abroad__btn {
    padding: 54px 30px;
    display: flex;
  }
}
.group-page .abroad__btn-img {
  width: 85px;
  height: 85px;
}
@media screen and (max-width: 828px) {
  .group-page .abroad__btn-img {
    width: 197px;
    height: 191px;
    aspect-ratio: 197/191;
  }
}
.group-page .abroad__btn-body {
  margin-left: 20px;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 828px) {
  .group-page .abroad__btn-body {
    flex-direction: column;
  }
}
.group-page .abroad__btn-company {
  font-size: 34px;
}
@media screen and (max-width: 828px) {
  .group-page .abroad__btn-company {
    white-space: nowrap;
    font-size: 54px;
    line-height: 1.2222222222;
  }
}
.group-page .abroad__btn-items {
  display: flex;
  align-items: center;
  padding-left: 20px;
}
@media screen and (max-width: 828px) {
  .group-page .abroad__btn-items {
    margin-top: 15px;
    padding-left: 0;
    margin-left: -40px;
  }
  .group-page .abroad__btn-items span {
    transform: translateX(30px);
  }
}
.group-page .abroad__btn-en {
  font-size: 18px;
}
@media screen and (max-width: 828px) {
  .group-page .abroad__btn-en {
    font-size: 35px;
  }
}
.group-page .abroad__btn-link {
  margin-left: 70px;
  font-size: 15px;
  padding: 10px;
  margin-top: 5px;
  font-weight: 500;
}
@media screen and (max-width: 828px) {
  .group-page .abroad__btn-link {
    font-size: 26px;
    transform: translateY(5px);
  }
  .group-page .abroad__btn-link::after {
    border-width: 8px 0 8px 16px;
    margin-left: 20px;
  }
}

.history-page {
  overflow: hidden;
}
.history-page .history {
  padding-top: 190px;
}
.history-page .btn.history__heading {
  width: 138px;
  height: 65px;
  font-size: 30px;
  font-weight: 700;
}
.history-page .btn.history__heading::before {
  width: 41px;
}
@media screen and (min-width: 829px) {
  .history-page .btn.history__heading {
    font-size: 14px;
    width: 100px;
    height: 39px;
  }
}
.history-page .history__lead {
  font-size: 65px;
  color: #084C61;
  text-align: center;
  padding-top: 70px;
  position: relative;
  line-height: 1.1538461538;
  letter-spacing: 0.04em;
  font-weight: 300;
}
@media screen and (min-width: 829px) {
  .history-page .history__lead {
    font-size: 36px;
    line-height: 1.3333333333;
  }
}
.history-page .history__lead::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 2px;
  top: 0;
  left: 0;
  background-color: #489CB5;
}
.history-page .history__lead img {
  width: 334px;
  height: 69px;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
  display: inline-block;
}
@media screen and (min-width: 829px) {
  .history-page .history__lead img {
    width: 184px;
    height: 38px;
    transform: translateY(3px);
  }
}
.history-page .history__lead:last-child {
  padding-bottom: 117px;
  margin-bottom: 424px;
  line-height: 1.2307692308;
}
.history-page .history__lead:last-child::after {
  top: auto;
  bottom: 0;
}
.history-page .history__container {
  width: 600px;
  margin-left: auto;
  position: relative;
}
@media screen and (min-width: 829px) {
  .history-page .history__container {
    width: 460px;
  }
}
.history-page .history__line {
  position: absolute;
  content: "";
  left: -40px;
  top: 0;
  height: 100%;
  width: 3px;
  background-color: #489CB5;
}
.history-page .history__time {
  width: 235px;
  height: 235px;
  border-radius: 50%;
  font-size: 55px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #FFFFFF;
  background-color: #489CB5;
  margin-left: -160px;
  position: relative;
  z-index: 10;
  letter-spacing: 0.03em;
  font-weight: 300;
}
@media screen and (min-width: 829px) {
  .history-page .history__time {
    font-size: 48px;
    width: 195px;
    height: 195px;
    margin-left: -140px;
  }
}
.history-page .history__time span {
  font-size: 34px;
  display: block;
  margin-top: 5px;
}
@media screen and (min-width: 829px) {
  .history-page .history__time span {
    font-size: 24px;
  }
}
.history-page .history__time.start {
  margin-top: 53px;
}
.history-page .history__time.y2000s {
  margin-top: 72px;
}
.history-page .history__time.y2010s {
  margin-top: 120px;
}
.history-page .history__time.y2020s {
  margin-top: 60px;
}
.history-page .history__item {
  margin-top: 60px;
}
@media screen and (min-width: 829px) {
  .history-page .history__info {
    display: flex;
    align-items: flex-end;
  }
}
.history-page .history__year {
  font-size: 50px;
  letter-spacing: 0.03em;
  color: #489CB5;
  position: relative;
  font-weight: 300;
}
@media screen and (min-width: 829px) {
  .history-page .history__year {
    font-size: 42px;
    width: 145px;
    padding-bottom: 15px;
  }
}
.history-page .history__year::after {
  position: absolute;
  content: "";
  width: 40px;
  height: 40px;
  border-radius: 50%;
  left: -59px;
  top: 10px;
  z-index: 10;
  background-color: #084C61;
}
@media screen and (min-width: 829px) {
  .history-page .history__year::after {
    top: 4px;
  }
}
@media screen and (min-width: 829px) {
  .history-page .history__year::before {
    background-image: url(../assets/img/about/history/three-right.svg);
    background-repeat: no-repeat;
    content: "";
    position: absolute;
    right: -108px;
    top: -104px;
    width: 111px;
    height: 163px;
    z-index: 10;
  }
}
@media screen and (min-width: 829px) {
  .history-page .history__item.y2015 .history__year::before {
    background-image: url(../assets/img/about/history/five-right.svg);
    right: -114px;
    top: -167px;
    width: 117px;
    height: 225px;
  }
}
.history-page .history__time.y2000s {
  position: relative;
}
.history-page .history__time.y2000s::before {
  background-image: url(../assets/img/about/history/img6.jpg);
  background-size: cover;
  width: 172px;
  height: 230px;
  position: absolute;
  content: "";
  top: 280px;
  right: -440px;
  z-index: 10;
}
@media screen and (min-width: 829px) {
  .history-page .history__time.y2000s::before {
    width: 147px;
    height: 196px;
    top: -40px;
    right: -380px;
  }
}
.history-page .history__text {
  font-size: 32px;
  line-height: 1.625;
  color: #084C61;
  padding: 34px 43px;
  margin-top: 25px;
  border: 1px solid #084C61;
  position: relative;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 829px) {
  .history-page .history__text {
    font-size: 16px;
    line-height: 2;
    padding: 32px 15px 32px 65px;
    width: calc(100% - 145px);
    border-left: none;
  }
}
.history-page .history__text::after, .history-page .history__text::before {
  position: absolute;
  width: 484px;
  left: 50%;
  transform: translateX(-50%);
  height: 10px;
  content: "";
  background-color: #FFFFFF;
}
@media screen and (min-width: 829px) {
  .history-page .history__text::after, .history-page .history__text::before {
    right: 55px;
    left: auto;
    transform: translateX(0);
    width: 260px;
  }
}
.history-page .history__text::after {
  top: -5px;
}
.history-page .history__text::before {
  bottom: -5px;
}
.history-page .history__img {
  margin-top: 20px;
}
.history-page .history__item.y1983 .history__img {
  width: 347px;
}
@media screen and (min-width: 829px) {
  .history-page .history__item.pc-right {
    margin-left: -540px;
    width: 100%;
  }
  .history-page .history__item.pc-right .history__info {
    flex-direction: row-reverse;
  }
  .history-page .history__item.pc-right .history__year::after {
    left: auto;
    right: -61px;
  }
  .history-page .history__item.pc-right .history__year::before {
    background-image: url(../assets/img/about/history/three-left.svg);
    background-repeat: no-repeat;
    content: "";
    position: absolute;
    left: -110px;
    top: -105px;
    width: 110px;
    height: 160px;
    z-index: 10;
  }
  .history-page .history__item.pc-right .history__text {
    border: 1px solid #084C61;
    border-right: none;
    padding: 32px 20px;
  }
  .history-page .history__item.pc-right .history__text::after, .history-page .history__item.pc-right .history__text::before {
    left: 55px;
    transform: translateX(0);
    width: 260px;
  }
  .history-page .history__item.y1964 {
    margin-top: -65px;
  }
  .history-page .history__item.y1977 {
    margin-top: -265px;
  }
  .history-page .history__item.y1981 {
    margin-top: 90px;
  }
  .history-page .history__item.y1983 {
    margin-top: -380px;
  }
  .history-page .history__item.y1989 {
    margin-top: 10px;
  }
  .history-page .history__item.y1992 {
    margin-top: 10px;
  }
  .history-page .history__item.y1997 {
    margin-top: -60px;
  }
  .history-page .history__item.y2004 {
    margin-top: -80px;
  }
  .history-page .history__item.y2007 {
    margin-top: -70px;
  }
  .history-page .history__item.y2011 {
    margin-top: -30px;
  }
  .history-page .history__item.y2011 .history__year {
    padding-bottom: 70px;
  }
  .history-page .history__item.y2011 .history__year::before {
    background-image: url(../assets/img/about/history/four-left.svg);
    left: -110px;
    top: -84px;
    width: 110px;
    height: 193px;
  }
  .history-page .history__item.y2011 .history__text {
    padding-right: 70px;
  }
  .history-page .history__item.y2015 {
    margin-top: -220px;
  }
  .history-page .history__item.y2019 {
    margin-top: -380px;
  }
  .history-page .history__item.y2020 {
    margin-top: -40px;
  }
  .history-page .history__item.y2022 {
    margin-top: -20px;
  }
  .history-page .history__item.y2023 {
    margin-top: -50px;
  }
  .history-page .history__time.start {
    margin-top: 53px;
  }
  .history-page .history__time.y2000s {
    margin-top: -70px;
  }
  .history-page .history__time.y2010s {
    margin-top: -140px;
  }
  .history-page .history__time.y2020s {
    margin-top: -300px;
  }
  .history-page .history__time.y2030s {
    margin-top: -100px;
  }
}
.history-page [data-aos^=fade][data-aos^=fade].aos-animate {
  transform: initial;
}

.message-page {
  overflow: hidden;
}
.message-page .message {
  margin-top: 169px;
  margin-bottom: 251px;
}
@media screen and (max-width: 828px) {
  .message-page .message {
    margin-top: 206px;
    margin-bottom: 400px;
  }
}
.message-page .inner.message__inner {
  padding: 98px 0 125px 125px;
}
@media screen and (max-width: 828px) {
  .message-page .inner.message__inner {
    width: 751px;
    padding: 85px 28px 140px;
  }
}
.message-page .message__lead {
  font-size: 36px;
  letter-spacing: 0.03em;
  line-height: 1.3333333333;
  color: #084C61;
  font-weight: 300;
}
@media screen and (max-width: 828px) {
  .message-page .message__lead {
    font-size: 50px;
    line-height: 1.36;
  }
}
.message-page .message__text {
  margin-top: 50px;
  letter-spacing: 0.08em;
  line-height: 2;
  color: #084C61;
  text-align: justify;
}
@media screen and (max-width: 828px) {
  .message-page .message__text {
    margin-top: 80px;
    font-size: 32px;
    line-height: 1.4444444444;
    letter-spacing: 0.03em;
  }
}
.message-page .message__sign {
  margin-top: 55px;
  display: flex;
  align-items: center;
  color: #489CB5;
  letter-spacing: 0.08em;
  font-weight: 700;
}
@media screen and (max-width: 828px) {
  .message-page .message__sign {
    flex-direction: column;
    align-items: flex-start;
    margin-top: 104px;
    font-size: 36px;
  }
}
.message-page .message__sign img {
  width: 168px;
  height: 34px;
  margin-left: 20px;
}
@media screen and (max-width: 828px) {
  .message-page .message__sign img {
    margin-left: 0;
    width: 363px;
    height: 75px;
    margin-top: 20px;
  }
}

.outline-page {
  overflow: hidden;
}
@media screen and (max-width: 828px) {
  .outline-page .inner.outline__inner {
    width: 751px;
  }
}
.outline-page .heading {
  width: 100px;
  height: 38px;
  font-size: 14px;
}
@media screen and (max-width: 828px) {
  .outline-page .heading {
    font-size: 30px;
    width: 138px;
    height: 65px;
  }
}
.outline-page .heading::before {
  width: 50px;
}
.outline-page .info .btn.info__heading::before {
  width: 17px;
}
.outline-page .philosophy {
  margin-top: 170px;
}
@media screen and (max-width: 828px) {
  .outline-page .philosophy {
    margin-top: 190px;
  }
}
.outline-page .philosophy__text {
  padding: 40px 30px;
  border: 2px solid #489CB5;
  border-right: none;
  border-left: none;
  color: #084C61;
  font-size: 36px;
  line-height: 1.3333333333;
  font-weight: 300;
}
@media screen and (max-width: 828px) {
  .outline-page .philosophy__text {
    padding: 68px 20px;
    font-size: 50px;
  }
}
.outline-page .policy {
  margin-top: 162px;
}
@media screen and (max-width: 828px) {
  .outline-page .policy {
    margin-top: 117px;
  }
}
.outline-page .policy__text {
  padding: 40px 30px;
  border-top: 2px solid #489CB5;
  border-bottom: 1px solid #489CB5;
  color: #084C61;
  font-size: 36px;
  line-height: 1.3333333333;
  font-weight: 300;
}
@media screen and (max-width: 828px) {
  .outline-page .policy__text {
    padding: 68px 20px;
    font-size: 50px;
  }
}
.outline-page .policy__lists {
  border-bottom: 2px solid #489CB5;
}
.outline-page .policy__list {
  padding: 20px 30px;
  display: flex;
}
@media screen and (max-width: 828px) {
  .outline-page .policy__list {
    padding: 42px 20px;
    align-items: flex-start;
  }
}
.outline-page .policy__head {
  width: 65px;
  display: flex;
  align-items: center;
  color: #489CB5;
  letter-spacing: 0.08em;
}
.outline-page .policy__head::after {
  content: "";
  border-style: solid;
  border-width: 5px 0 5px 10px;
  border-color: transparent transparent transparent #489CB5;
  margin-left: auto;
}
@media screen and (max-width: 828px) {
  .outline-page .policy__head {
    font-size: 32px;
    letter-spacing: 0.04em;
    width: 112px;
    line-height: 1.5;
  }
  .outline-page .policy__head::after {
    border-width: 10px 0 10px 20px;
  }
}
.outline-page .policy__body {
  padding-left: 20px;
  color: #084C61;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 828px) {
  .outline-page .policy__body {
    font-size: 32px;
    width: calc(100% - 112px);
    line-height: 1.5;
  }
}
.outline-page .policy__list:not(:first-child) {
  border-top: 1px dotted #489CB5;
}
.outline-page .info {
  margin-top: 160px;
}
@media screen and (max-width: 828px) {
  .outline-page .info {
    margin-top: 128px;
  }
}
@media screen and (max-width: 828px) {
  .outline-page .btn.heading.info__heading {
    width: 203px;
  }
  .outline-page .btn.heading.info__heading::before {
    width: 40px;
  }
}
.outline-page .info__items {
  border: 2px solid #489CB5;
  border-right: none;
  border-left: none;
}
.outline-page .info__item {
  padding: 30px 0;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 828px) {
  .outline-page .info__item {
    align-items: flex-start;
    padding: 56px 0;
  }
}
.outline-page .info__item:not(:first-child) {
  border-top: 1px solid #489CB5;
}
.outline-page .info__item:last-child {
  padding: 0;
}
@media screen and (max-width: 828px) {
  .outline-page .info__item:last-child {
    padding: 20px 0;
  }
}
.outline-page .info__item dt {
  width: 180px;
  padding-left: 30px;
  color: #489CB5;
  position: relative;
  letter-spacing: 0.08em;
}
.outline-page .info__item dt::after {
  position: absolute;
  content: "";
  width: 1.5px;
  height: 120%;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  background-color: #489CB5;
}
@media screen and (max-width: 828px) {
  .outline-page .info__item dt {
    width: 216px;
    font-size: 32px;
    letter-spacing: 0.04em;
    line-height: 1.5;
    padding-left: 20px;
  }
}
.outline-page .info__item dt.info__members::after {
  height: 400px;
}
@media screen and (max-width: 828px) {
  .outline-page .info__item dt.info__members {
    margin-top: 30px;
  }
  .outline-page .info__item dt.info__members::after {
    height: 600px;
    top: 0px;
    transform: translateY(0);
  }
}
.outline-page .info__item dd {
  padding-left: 30px;
  width: calc(100% - 180px);
  color: #084C61;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 828px) {
  .outline-page .info__item dd {
    width: calc(100% - 216px);
    padding-left: 25px;
    font-size: 32px;
    line-height: 1.5;
    padding-left: 40px;
  }
  .outline-page .info__item dd span {
    display: none;
  }
}
@media screen and (max-width: 828px) {
  .outline-page .info__item dd.lift {
    margin-top: 8px;
  }
}
.outline-page .info__member {
  padding: 30px 0;
  display: flex;
  align-items: center;
}
.outline-page .info__member:not(:first-child) {
  border-top: 1px dotted #489CB5;
}
.outline-page .info__member dt {
  padding-left: 0;
  width: 147px;
  color: #084C61;
}
@media screen and (max-width: 828px) {
  .outline-page .info__member dt {
    width: 270px;
  }
}
.outline-page .info__member dd {
  width: calc(100% - 147px);
}
@media screen and (max-width: 828px) {
  .outline-page .info__member dd {
    width: calc(100% - 270px);
  }
}
.outline-page .company {
  margin-top: 160px;
  margin-bottom: 256px;
  padding: 60px 54px 75px;
  background-color: rgba(72, 156, 181, 0.2);
  position: relative;
  color: #084C61;
}
@media screen and (max-width: 828px) {
  .outline-page .company {
    margin-top: 183px;
    margin-bottom: 280px;
    padding: 110px 75px 150px;
  }
}
.outline-page .company::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 14px;
  top: 0;
  left: 0;
  background-color: #489CB5;
}
@media screen and (max-width: 828px) {
  .outline-page .company__heading {
    font-size: 32px;
  }
}
.outline-page .company__text {
  margin-top: 24px;
  line-height: 2;
}
@media screen and (max-width: 828px) {
  .outline-page .company__text {
    font-size: 32px;
    line-height: 1.625;
    margin-top: 35px;
  }
}

.contact-page {
  overflow: hidden;
}
.contact-page .heading {
  font-size: 58px;
  letter-spacing: 0.03em;
  color: #084C61;
  position: relative;
  padding-left: 65px;
  font-weight: 300;
}
@media screen and (max-width: 828px) {
  .contact-page .heading {
    font-size: 72px;
    padding-left: 140px;
    line-height: 1.1805555556;
  }
}
.contact-page .heading::before {
  position: absolute;
  content: "";
  background-image: url(../assets/img/contact/contact/icon1.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 38.5px;
  height: 60px;
  top: 3px;
  left: 10px;
}
@media screen and (max-width: 828px) {
  .contact-page .heading::before {
    width: 89px;
    height: 142px;
    left: 30px;
    top: 20px;
  }
}
.contact-page .heading-sub {
  font-size: 24px;
  color: #489CB5;
  letter-spacing: 0.04em;
  font-weight: 500;
}
@media screen and (max-width: 828px) {
  .contact-page .heading-sub {
    font-size: 42px;
  }
}
.contact-page .text {
  font-size: 16px;
  color: #084C61;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 828px) {
  .contact-page .text {
    font-size: 32px;
    line-height: 1.5;
  }
}
.contact-page .tel {
  padding-top: 155px;
}
@media screen and (max-width: 828px) {
  .contact-page .tel {
    padding-top: 168px;
  }
}
.contact-page .tel__text {
  margin-top: 20px;
}
@media screen and (max-width: 828px) {
  .contact-page .tel__text {
    padding: 0 30px;
    margin-top: 40px;
  }
}
.contact-page .tel__contents {
  border-top: 2px solid #489CB5;
  border-bottom: 2px solid #489CB5;
  margin-top: 40px;
}
@media screen and (max-width: 828px) {
  .contact-page .tel__contents {
    margin-top: 70px;
  }
}
.contact-page .tel__contact {
  padding: 60px 50px;
}
@media screen and (max-width: 828px) {
  .contact-page .tel__contact {
    padding: 85px 28px;
  }
}
.contact-page .tel__contact:not(:first-child) {
  border-top: 1px dotted #489CB5;
}
.contact-page .tel__items {
  margin-top: 30px;
  display: flex;
  flex-wrap: wrap;
}
.contact-page .tel__item {
  border-left: 1px solid #489CB5;
  padding: 2px 0 2px 10px;
}
@media screen and (max-width: 828px) {
  .contact-page .tel__item:not(:first-child) {
    margin-top: 50px;
  }
}
.contact-page .tel__item:nth-child(2n+1) {
  width: 470px;
}
@media screen and (max-width: 828px) {
  .contact-page .tel__item:nth-child(2n+1) {
    width: 100%;
  }
}
.contact-page .tel__item:nth-child(n+3) {
  margin-top: 42px;
}
@media screen and (max-width: 828px) {
  .contact-page .tel__item:nth-child(n+3) {
    margin-top: 50px;
  }
}
.contact-page .tel__place {
  font-size: 18px;
  color: #084C61;
  letter-spacing: 0.01em;
  font-weight: 700;
}
@media screen and (max-width: 828px) {
  .contact-page .tel__place {
    font-size: 35px;
  }
}
.contact-page .tel__info {
  letter-spacing: 0.08em;
  color: #084C61;
  text-transform: uppercase;
  line-height: 1.5;
  margin-top: 15px;
}
@media screen and (max-width: 828px) {
  .contact-page .tel__info {
    font-size: 32px;
  }
}
.contact-page .tel__contact:first-child .tel__item {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 828px) {
  .contact-page .tel__contact:first-child .tel__item {
    flex-direction: column;
    align-items: self-start;
  }
}
.contact-page .tel__contact:first-child .tel__info {
  margin-left: 20px;
  margin-top: 0;
}
@media screen and (max-width: 828px) {
  .contact-page .tel__contact:first-child .tel__info {
    margin-left: 0;
    margin-top: 15px;
  }
}
.contact-page .mail {
  padding-top: 110px;
  padding-bottom: 194px;
}
@media screen and (max-width: 828px) {
  .contact-page .heading.mail__heading {
    padding-left: 170px;
  }
}
.contact-page .heading.mail__heading::before {
  background-image: url(../assets/img/contact/contact/icon2.svg);
  width: 53.3px;
  height: 53px;
  left: 0;
  top: 8px;
}
@media screen and (max-width: 828px) {
  .contact-page .heading.mail__heading::before {
    width: 104px;
    height: 97px;
    left: 30px;
    top: 45px;
  }
}
.contact-page .mail__text {
  margin-top: 20px;
}
@media screen and (max-width: 828px) {
  .contact-page .mail__text {
    margin-top: 40px;
    padding: 0 30px;
  }
}
.contact-page .mail__contents {
  margin-top: 40px;
  padding-top: 60px;
  border-top: 2px solid #489CB5;
}
.contact-page .mail__steps {
  display: flex;
  align-items: center;
  background-size: cover;
}
@media screen and (max-width: 828px) {
  .contact-page .mail__steps {
    flex-direction: column;
  }
}
.contact-page .mail__step {
  width: 33.33%;
  height: 68px;
  background-size: cover;
  color: #084C61;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media screen and (max-width: 828px) {
  .contact-page .mail__step {
    width: 100%;
    background-color: rgba(72, 156, 181, 0.2);
    height: 83px;
    flex-direction: row;
    font-size: 32px;
    justify-content: flex-start;
    align-items: center;
  }
  .contact-page .mail__step:not(:first-child) {
    margin-top: 32px;
    position: relative;
  }
  .contact-page .mail__step:not(:first-child)::after {
    position: absolute;
    content: "";
    border-style: solid;
    border-width: 20px 12px 0 12px;
    border-color: #489CB5 transparent transparent transparent;
    top: -26px;
    left: 50%;
    transform: translateX(-50%);
  }
}
.contact-page .mail__step:nth-child(1) {
  padding-left: 20px;
}
@media screen and (max-width: 828px) {
  .contact-page .mail__step:nth-child(1) {
    padding-left: 30px;
  }
}
.contact-page .mail__step:nth-child(2) {
  padding-left: 45px;
}
@media screen and (max-width: 828px) {
  .contact-page .mail__step:nth-child(2) {
    padding-left: 30px;
  }
}
.contact-page .mail__step:nth-child(3) {
  padding-left: 30px;
}
.contact-page .mail__step-number {
  text-transform: uppercase;
  font-weight: 700;
}
.contact-page .mail__step-text {
  font-weight: 700;
  margin-top: 5px;
}
@media screen and (max-width: 828px) {
  .contact-page .mail__step-text {
    margin-top: 0;
    margin-left: 20px;
  }
}
.contact-page .mail__steps.input {
  background-image: url(../assets/img/contact/contact/arrow1.jpg);
}
@media screen and (max-width: 828px) {
  .contact-page .mail__steps.input {
    background-image: initial;
  }
}
.contact-page .mail__steps.input .mail__step:nth-child(1) {
  color: #FFFFFF;
}
@media screen and (max-width: 828px) {
  .contact-page .mail__steps.input .mail__step:nth-child(1) {
    background-color: #489CB5;
  }
}
.contact-page .mail__steps.confirm {
  background-image: url(../assets/img/contact/contact/arrow2.jpg);
}
@media screen and (max-width: 828px) {
  .contact-page .mail__steps.confirm {
    background-image: initial;
  }
}
.contact-page .mail__steps.confirm .mail__step:nth-child(2) {
  color: #FFFFFF;
}
@media screen and (max-width: 828px) {
  .contact-page .mail__steps.confirm .mail__step:nth-child(2) {
    background-color: #489CB5;
  }
}
.contact-page .mail__steps.complate {
  background-image: url(../assets/img/contact/contact/arrow3.jpg);
}
@media screen and (max-width: 828px) {
  .contact-page .mail__steps.complate {
    background-image: initial;
  }
}
.contact-page .mail__steps.complate .mail__step:nth-child(3) {
  color: #FFFFFF;
}
@media screen and (max-width: 828px) {
  .contact-page .mail__steps.complate .mail__step:nth-child(3) {
    background-color: #489CB5;
  }
}
.contact-page .mail__action {
  margin-top: 26px;
}
@media screen and (max-width: 828px) {
  .contact-page .mail__action {
    padding: 0 25px;
    margin-top: 60px;
  }
}
.contact-page .form {
  margin-top: 26px;
}
@media screen and (max-width: 828px) {
  .contact-page .form {
    margin-top: 60px;
  }
}
.contact-page [type=text],
.contact-page [type=email],
.contact-page [type=tel],
.contact-page [type=submit],
.contact-page textarea {
  box-shadow: none;
  border: none;
  background-color: rgba(72, 156, 181, 0.2);
  padding-left: 30px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 0;
  color: inherit;
  font-size: 16px;
  width: 100%;
  height: 60px;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 828px) {
  .contact-page [type=text],
  .contact-page [type=email],
  .contact-page [type=tel],
  .contact-page [type=submit],
  .contact-page textarea {
    height: 122px;
    font-size: 32px;
  }
}
.contact-page [type=text]::-moz-placeholder, .contact-page [type=email]::-moz-placeholder, .contact-page [type=tel]::-moz-placeholder, .contact-page [type=submit]::-moz-placeholder, .contact-page textarea::-moz-placeholder {
  font-size: 16px;
  color: #084C61;
  font-family: "Noto Sans JP", sans-serif;
}
.contact-page [type=text]::placeholder,
.contact-page [type=email]::placeholder,
.contact-page [type=tel]::placeholder,
.contact-page [type=submit]::placeholder,
.contact-page textarea::placeholder {
  font-size: 16px;
  color: #084C61;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 828px) {
  .contact-page [type=text]::-moz-placeholder, .contact-page [type=email]::-moz-placeholder, .contact-page [type=tel]::-moz-placeholder, .contact-page [type=submit]::-moz-placeholder, .contact-page textarea::-moz-placeholder {
    font-size: 32px;
  }
  .contact-page [type=text]::placeholder,
  .contact-page [type=email]::placeholder,
  .contact-page [type=tel]::placeholder,
  .contact-page [type=submit]::placeholder,
  .contact-page textarea::placeholder {
    font-size: 32px;
  }
}
.contact-page .form__items {
  padding: 38px 0;
  display: flex;
  align-items: center;
  border-top: 1px solid #489CB5;
}
@media screen and (max-width: 828px) {
  .contact-page .form__items {
    flex-direction: column;
    padding: 60px 30px;
  }
}
.contact-page .form__items dt {
  width: 170px;
  color: #084C61;
  font-weight: 700;
}
@media screen and (max-width: 828px) {
  .contact-page .form__items dt {
    width: 100%;
    font-size: 32px;
  }
}
.contact-page .form__items dt label {
  cursor: pointer;
  font-weight: 700;
}
.contact-page .form__items dt span {
  display: flex;
  align-items: center;
  font-weight: 700;
}
.contact-page .form__items dt span::after {
  content: "必須";
  width: 44px;
  height: 21px;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  background-color: #489CB5;
  margin-left: 13px;
  margin-top: 1px;
  padding-bottom: 2px;
}
@media screen and (max-width: 828px) {
  .contact-page .form__items dt span::after {
    width: 88px;
    height: 42px;
    margin-top: 3px;
    margin-left: 25px;
  }
}
.contact-page .form__items dd {
  width: calc(100% - 170px);
}
@media screen and (max-width: 828px) {
  .contact-page .form__items dd {
    width: 100%;
    margin-top: 20px;
  }
}
.contact-page .form__items dd .error {
  margin-top: 8px;
}
@media screen and (max-width: 828px) {
  .contact-page .form__items dd .error {
    font-size: 32px;
  }
}
.contact-page .form__items.radio dd {
  height: 60px;
  background-color: rgba(72, 156, 181, 0.2);
}
@media screen and (max-width: 828px) {
  .contact-page .form__items.radio dd {
    height: 208px;
    padding-left: 35px;
    padding-top: 17px;
  }
}
.contact-page .form__items.radio [type=radio] {
  position: absolute;
  left: 0;
  opacity: 0;
  visibility: hidden;
}
.contact-page .form__items.radio [type=radio]:checked + span::after {
  display: block;
}
.contact-page .form__items.radio .mwform-radio-field.horizontal-item {
  display: inline-block;
  margin-top: 22px;
}
@media screen and (max-width: 828px) {
  .contact-page .form__items.radio .mwform-radio-field.horizontal-item {
    margin-left: 0;
  }
  .contact-page .form__items.radio .mwform-radio-field.horizontal-item:nth-child(n+3) {
    margin-top: 15px;
  }
  .contact-page .form__items.radio .mwform-radio-field.horizontal-item:nth-child(2), .contact-page .form__items.radio .mwform-radio-field.horizontal-item:nth-child(5) {
    margin-left: 20px;
  }
}
.contact-page .form__items.radio .error {
  margin-top: 27px;
}
@media screen and (max-width: 828px) {
  .contact-page .form__items.radio .error {
    margin-top: 45px;
    font-size: 32px;
    margin-left: -35px;
  }
}
.contact-page .form__items.radio .mwform-radio-field-text {
  color: #084C61;
  display: flex;
  align-items: center;
  cursor: pointer;
  position: relative;
}
@media screen and (max-width: 828px) {
  .contact-page .form__items.radio .mwform-radio-field-text {
    font-size: 32px;
  }
}
.contact-page .form__items.radio .mwform-radio-field-text::before {
  content: "";
  width: 13px;
  height: 13px;
  border: 1px solid #084C61;
  margin: 2px 6px 0 12px;
}
@media screen and (max-width: 828px) {
  .contact-page .form__items.radio .mwform-radio-field-text::before {
    width: 26px;
    height: 26px;
    margin-right: 10px;
    margin-top: 5px;
  }
}
.contact-page .form__items.radio .mwform-radio-field-text::after {
  position: absolute;
  content: "";
  width: 12px;
  height: 24px;
  border: 2px solid #489CB5;
  border-top: none;
  border-left: none;
  transform: rotate(45deg);
  top: -12px;
  left: 15px;
  display: none;
}
@media screen and (max-width: 828px) {
  .contact-page .form__items.radio .mwform-radio-field-text::after {
    width: 24px;
    height: 48px;
    border: 2px solid #489CB5;
    border-top: none;
    border-left: none;
    top: -25px;
    left: 20px;
  }
}
.contact-page .form__items.textarea {
  align-items: flex-start;
  border-bottom: 2px solid #489CB5;
}
.contact-page .form__items.textarea dt {
  margin-top: 30px;
  line-height: 1.5;
}
.contact-page .form__items.textarea dt span {
  flex-direction: column;
  align-items: flex-start;
}
@media screen and (max-width: 828px) {
  .contact-page .form__items.textarea dt span {
    flex-direction: row;
  }
}
.contact-page .form__items.textarea dt span::after {
  margin-top: 13px;
  margin-left: 0;
}
@media screen and (max-width: 828px) {
  .contact-page .form__items.textarea dt span::after {
    margin-top: 0;
    margin-left: 25px;
  }
}
.contact-page .form__items.textarea dd {
  line-height: 1.5;
}
.contact-page .form__items.textarea dd .error {
  margin-top: 0;
}
.contact-page .form__items.textarea textarea {
  height: 298px;
  padding-top: 25px;
}
.contact-page .form__submit {
  margin: 64px auto 0;
  width: 255px;
  height: 70px;
}
.contact-page .form__submit:first-child {
  display: none;
}
@media screen and (max-width: 828px) {
  .contact-page .form__submit {
    margin: 83px auto 0;
    width: 412px;
    height: 113px;
  }
}
.contact-page .form__submit [type=submit] {
  width: 100%;
  height: 100%;
  background-color: #489CB5;
  font-size: 28px;
  color: #FFFFFF;
  letter-spacing: 0.08em;
  cursor: pointer;
  padding-right: 20px;
}
@media screen and (max-width: 828px) {
  .contact-page .form__submit [type=submit] {
    font-size: 42px;
  }
}

.contact-page.confirm .form__items dd {
  padding-left: 30px;
}
.contact-page.confirm .form__items.radio dd {
  height: auto;
  background-color: initial;
  justify-content: flex-start;
}
.contact-page.confirm .form__items.textarea dt {
  margin-top: 0;
}
.contact-page.confirm .form__submit-wrapper {
  display: flex;
}
.contact-page.confirm .form__submit:first-child {
  display: block;
}

.csr-page {
  overflow: hidden;
  /* links レイアウト共通化　*/
}
.csr-page .heading {
  font-size: 36px;
  letter-spacing: 0.04em;
  color: #084C61;
  line-height: 1.3333333333;
  font-weight: 300;
}
@media screen and (max-width: 828px) {
  .csr-page .heading {
    font-size: 53px;
    white-space: nowrap;
    letter-spacing: 0;
  }
}
.csr-page .text {
  font-size: 16px;
  letter-spacing: 0.04em;
  line-height: 1.8;
  color: #084C61;
  margin-top: 40px;
  text-align: justify;
}
@media screen and (max-width: 828px) {
  .csr-page .text {
    font-size: 32px;
    line-height: 1.625;
    margin-top: 60px;
  }
}
.csr-page .works {
  padding-top: 170px;
}
@media screen and (max-width: 828px) {
  .csr-page .works {
    padding-top: 205px;
  }
}
.csr-page .works__contents {
  padding-bottom: 100px;
}

.safety-page {
  overflow: hidden;
}
.safety-page .heading {
  font-size: 36px;
  letter-spacing: 0.04em;
  font-weight: 300;
  color: #084C61;
  line-height: 1.3333333333;
  font-weight: 300;
}
@media screen and (max-width: 828px) {
  .safety-page .heading {
    font-size: 50px;
    white-space: nowrap;
    letter-spacing: 0;
  }
}
.safety-page .text {
  font-size: 16px;
  letter-spacing: 0.04em;
  line-height: 1.8;
  color: #084C61;
  text-align: justify;
}
@media screen and (max-width: 828px) {
  .safety-page .text {
    font-size: 32px;
    line-height: 1.625;
  }
}
.safety-page .lead {
  padding-top: 152px;
}
.safety-page .lead__heading {
  font-size: 58px;
  color: #489CB5;
  letter-spacing: 0.03em;
  font-weight: 300;
}
@media screen and (max-width: 828px) {
  .safety-page .lead__heading {
    font-size: 70px;
  }
}
.safety-page .lead__text {
  margin-top: 32px;
}
@media screen and (max-width: 828px) {
  .safety-page .lead__text {
    margin-top: 70px;
  }
}
.safety-page .policy {
  margin-top: 57px;
  position: relative;
}
.safety-page .policy__inner {
  padding: 67px 54px;
  background-color: rgba(72, 156, 181, 0.2);
}
.safety-page .policy__line {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 1000px;
  height: 14px;
  background-color: #489CB5;
}
.safety-page .policy__line[data-aos^=fade][data-aos^=fade].aos-animate {
  transform: translateX(-50%);
}
.safety-page .policy__heading {
  font-size: 36px;
  letter-spacing: 0.08em;
  color: #084C61;
  font-weight: 700;
}
@media screen and (max-width: 828px) {
  .safety-page .policy__heading {
    font-size: 50px;
  }
}
.safety-page .policy__text.n1,
.safety-page .policy__text.n2 {
  display: flex;
  align-items: flex-start;
}
.safety-page .policy__text.n1::before,
.safety-page .policy__text.n2::before {
  margin-right: 5px;
}
.safety-page .policy__text.n1 {
  margin-top: 20px;
  letter-spacing: 0;
}
.safety-page .policy__text.n1::before {
  content: "1.";
}
@media screen and (max-width: 828px) {
  .safety-page .policy__text.n1 {
    margin-top: 40px;
  }
}
.safety-page .policy__text.n2 {
  margin-top: 10px;
}
.safety-page .policy__text.n2::before {
  content: "2.";
}
@media screen and (max-width: 828px) {
  .safety-page .policy__text.n2 {
    margin-top: 30px;
  }
}
.safety-page .policy__sub {
  font-size: 24px;
  letter-spacing: 0.08em;
  color: #084C61;
  margin-top: 50px;
  font-weight: 700;
}
@media screen and (max-width: 828px) {
  .safety-page .policy__sub {
    font-size: 40px;
  }
}
.safety-page .policy__text.n3 {
  margin-top: 20px;
}
@media screen and (max-width: 828px) {
  .safety-page .policy__text.n3 {
    margin-top: 30px;
  }
}
.safety-page .policy__text.n4 {
  margin-top: 40px;
}
.safety-page .policy__text.n4 span {
  display: flex;
  align-items: flex-start;
}
.safety-page .policy__text.n4 span::before {
  margin-right: 5px;
}
.safety-page .policy__text.n4 span:nth-child(1)::before {
  content: "1.";
}
.safety-page .policy__text.n4 span:nth-child(2)::before {
  content: "2.";
}
.safety-page .policy__text.n4 span:nth-child(3)::before {
  content: "3.";
}
.safety-page .policy__text.n4 span:nth-child(4)::before {
  content: "4.";
}
.safety-page .policy__text.n4 span:nth-child(5)::before {
  content: "5.";
}
.safety-page .policy__text.n4 span:nth-child(6)::before {
  content: "6.";
}
.safety-page .policy__text.n4 span:nth-child(7)::before {
  content: "7.";
}
.safety-page .works {
  padding-top: 91px;
  padding-bottom: 266px;
}
@media screen and (max-width: 828px) {
  .safety-page .works {
    padding-top: 180px;
  }
}
.safety-page .works__lead {
  margin-top: 30px;
  font-size: 22px;
  letter-spacing: 0.04em;
  color: #489CB5;
  font-weight: 500;
}
@media screen and (max-width: 828px) {
  .safety-page .works__lead {
    font-size: 40px;
    margin-top: 40px;
  }
}
.safety-page .works__text.n1 {
  margin-top: 27px;
}
@media screen and (max-width: 828px) {
  .safety-page .works__text.n1 {
    margin-top: 40px;
  }
}
.safety-page .works__head.n1 {
  width: calc(100% - 235px);
}
@media screen and (max-width: 828px) {
  .safety-page .works__head.n1 {
    width: 100%;
  }
}
.safety-page .works__img {
  width: 235px;
}
@media screen and (max-width: 828px) {
  .safety-page .works__img {
    width: 378px;
    margin: 50px auto 0;
  }
}
.safety-page .works__text.n2 {
  margin-top: 31px;
  white-space: nowrap;
}
@media screen and (max-width: 828px) {
  .safety-page .works__text.n2 {
    white-space: initial;
  }
}
.safety-page .works__head.n2 {
  padding-right: 36px;
  width: 538px;
}
@media screen and (max-width: 828px) {
  .safety-page .works__head.n2 {
    width: 100%;
    padding-right: 0;
  }
}
.safety-page .container {
  padding: 34px 40px;
  background-color: rgba(72, 156, 181, 0.2);
  margin-top: 60px;
  font-size: 16px;
  line-height: 2;
  color: #084C61;
}
@media screen and (max-width: 828px) {
  .safety-page .container {
    font-size: 32px;
    width: 750px;
    transform: translateX(-30px);
  }
}
.safety-page .container__heading {
  font-weight: 700;
}
.safety-page .container__text {
  margin-top: 10px;
}
.safety-page .figure {
  width: 462px;
  padding: 30px;
  border: 1px solid #084C61;
}
@media screen and (max-width: 828px) {
  .safety-page .figure {
    margin-top: 60px;
    width: 750px;
    transform: translateX(-30px);
  }
}
.safety-page .figure__heading {
  font-size: 20px;
  color: #489CB5;
}
@media screen and (max-width: 828px) {
  .safety-page .figure__heading {
    font-size: 34px;
  }
}
.safety-page .figure__items {
  margin-top: 20px;
  display: flex;
  align-items: center;
}
.safety-page .figure__step {
  height: 60px;
  color: #FFFFFF;
  font-size: 24px;
  font-weight: 700;
  display: flex;
  align-items: center;
  padding-left: 20px;
  margin-top: 12px;
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (max-width: 828px) {
  .safety-page .figure__step {
    height: 98px;
    font-size: 39px;
    margin-top: 20px;
  }
}
.safety-page .figure__step.n1 {
  width: 180px;
  background-image: url(../assets/img/csr/safety/bg1.jpg);
  margin-top: 0;
}
@media screen and (max-width: 828px) {
  .safety-page .figure__step.n1 {
    width: 290px;
  }
}
.safety-page .figure__step.n2 {
  width: 252px;
  background-image: url(../assets/img/csr/safety/bg2.jpg);
}
@media screen and (max-width: 828px) {
  .safety-page .figure__step.n2 {
    width: 409px;
  }
}
.safety-page .figure__step.n3 {
  width: 325px;
  background-image: url(../assets/img/csr/safety/bg3.jpg);
}
@media screen and (max-width: 828px) {
  .safety-page .figure__step.n3 {
    width: 528px;
  }
}
.safety-page .figure__step.n4 {
  width: 398px;
  background-image: url(../assets/img/csr/safety/bg4.jpg);
}
@media screen and (max-width: 828px) {
  .safety-page .figure__step.n4 {
    width: 646px;
  }
}
.safety-page .figure__text {
  color: #084C61;
  line-height: 1.25;
  margin-top: 12px;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 828px) {
  .safety-page .figure__text {
    font-size: 28px;
    margin-top: 20px;
  }
}
.safety-page .figure__text::before {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../assets/img/csr/safety/arrow2.svg);
  width: 7.6px;
  height: 20.7px;
  margin: 4px 10px 0 40px;
}
@media screen and (max-width: 828px) {
  .safety-page .figure__text::before {
    height: 33.6px;
    width: 12.3px;
  }
}
.safety-page .figure__text.n1 {
  margin-top: 0;
}
.safety-page .figure__text.n1::before {
  background-image: url(../assets/img/csr/safety/arrow1.svg);
  margin: 0 10px;
  width: 20.7px;
  height: 7.6px;
}
@media screen and (max-width: 828px) {
  .safety-page .figure__text.n1::before {
    width: 33.6px;
    height: 12.3px;
  }
}
.safety-page .works__text.n3 {
  margin-top: 30px;
}
.safety-page .works__galleries {
  display: flex;
  justify-content: space-between;
  margin-top: 40px;
}
@media screen and (max-width: 828px) {
  .safety-page .works__galleries {
    flex-direction: column;
  }
}
.safety-page .works__gallery {
  width: 292px;
}
.safety-page .works__gallery img {
  margin-top: 15px;
}
@media screen and (max-width: 828px) {
  .safety-page .works__gallery {
    width: 100%;
  }
  .safety-page .works__gallery:not(:first-child) {
    margin-top: 40px;
  }
}
.safety-page .works__description {
  font-size: 22px;
  color: #489CB5;
  font-weight: 500;
}
@media screen and (max-width: 828px) {
  .safety-page .works__description {
    font-size: 32px;
  }
}
.safety-page .works__contents.introduce {
  padding-bottom: 100px;
}

.sdgs-page {
  overflow: hidden;
}
.sdgs-page .heading {
  font-size: 22px;
  letter-spacing: 0.04em;
  color: #489CB5;
  line-height: 1.4545454545;
  font-weight: 500;
}
@media screen and (max-width: 828px) {
  .sdgs-page .heading {
    font-size: 40px;
  }
}
.sdgs-page .text {
  font-size: 16px;
  letter-spacing: 0.04em;
  line-height: 2;
  color: #084C61;
  text-align: justify;
}
@media screen and (max-width: 828px) {
  .sdgs-page .text {
    font-size: 32px;
    line-height: 1.625;
  }
}
.sdgs-page .lead {
  padding-top: 164px;
}
.sdgs-page .lead__text {
  font-size: 48px;
  line-height: 1.3541666667;
  color: #489CB5;
  font-weight: 300;
}
@media screen and (max-width: 828px) {
  .sdgs-page .lead__text {
    font-size: 70px;
    line-height: 1.2571428571;
  }
}
.sdgs-page .goals {
  padding-top: 77px;
}
@media screen and (max-width: 828px) {
  .sdgs-page .goals {
    padding-top: 114px;
  }
}
.sdgs-page .inner.goals__inner {
  padding: 75px 0 96px;
  border-top: 2px solid #489CB5;
  display: flex;
  align-items: flex-start;
}
@media screen and (max-width: 828px) {
  .sdgs-page .inner.goals__inner {
    flex-direction: column;
    padding: 90px 30px 140px;
  }
}
.sdgs-page .goals__head {
  width: 500px;
}
@media screen and (max-width: 828px) {
  .sdgs-page .goals__head {
    width: 100%;
  }
}
.sdgs-page .goals__heading {
  font-size: 38px;
  color: #489CB5;
  font-weight: 300;
}
@media screen and (max-width: 828px) {
  .sdgs-page .goals__heading {
    font-size: 64px;
  }
}
.sdgs-page .goals__heading span {
  font-size: 24px;
}
@media screen and (max-width: 828px) {
  .sdgs-page .goals__heading span {
    font-size: 40px;
  }
}
.sdgs-page .goals__text {
  margin-top: 30px;
}
.sdgs-page .goals__figure {
  width: 500px;
  aspect-ratio: 500/296;
}
@media screen and (max-width: 828px) {
  .sdgs-page .goals__figure {
    width: 100%;
    margin-top: 60px;
  }
}
.sdgs-page .theme {
  padding-bottom: 214px;
}
@media screen and (max-width: 828px) {
  .sdgs-page .theme {
    padding-bottom: 350px;
  }
}
.sdgs-page .inner.theme__inner {
  border-top: 2px solid #489CB5;
  border-bottom: 2px solid #489CB5;
}
.sdgs-page .theme__contents {
  padding: 55px 0 55px 30px;
  display: flex;
}
@media screen and (max-width: 828px) {
  .sdgs-page .theme__contents {
    padding: 90px 0 90px;
  }
}
.sdgs-page .theme__contents:not(:first-child) {
  border-top: 1px dotted #489CB5;
}
@media screen and (max-width: 828px) {
  .sdgs-page .theme__head {
    width: calc(100% - 218px);
    padding-right: 60px;
  }
}
.sdgs-page .theme__text {
  margin-top: 30px;
}
.sdgs-page .theme__figure {
  margin-left: auto;
  width: 312px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 828px) {
  .sdgs-page .theme__figure {
    width: 218px;
    align-items: flex-start;
  }
}
.sdgs-page .theme__contents:nth-child(1) img,
.sdgs-page .theme__contents:nth-child(2) img {
  width: 100px;
  height: 100px;
}
@media screen and (max-width: 828px) {
  .sdgs-page .theme__contents:nth-child(1) img,
  .sdgs-page .theme__contents:nth-child(2) img {
    width: 218px;
    height: 218px;
  }
}
.sdgs-page .theme__contents:nth-child(3) img,
.sdgs-page .theme__contents:nth-child(4) img {
  width: 212px;
  height: 100px;
}
@media screen and (max-width: 828px) {
  .sdgs-page .theme__contents:nth-child(3) img,
  .sdgs-page .theme__contents:nth-child(4) img {
    width: 218px;
    height: 462px;
  }
}

.ktt-about-page {
  overflow: hidden;
}
.ktt-about-page .outline {
  padding-top: 155px;
}
@media screen and (max-width: 828px) {
  .ktt-about-page .outline {
    padding-top: 176px;
  }
}
.ktt-about-page .outline__heading {
  font-size: 58px;
  letter-spacing: 0.03em;
  color: #084C61;
  width: 1000px;
  margin: 0 auto;
  font-weight: 300;
}
@media screen and (max-width: 828px) {
  .ktt-about-page .outline__heading {
    width: 751px;
    font-size: 75px;
  }
}
.ktt-about-page .outline__inner {
  width: calc(50vw + 500px);
  min-width: 1000px;
  display: flex;
  align-items: center;
  position: relative;
  padding: 75px 0;
  margin: 23px 0 173px;
}
@media screen and (max-width: 828px) {
  .ktt-about-page .outline__inner {
    flex-direction: column-reverse;
    min-width: auto;
    width: 751px;
    margin: 23px auto 173px;
    padding: 85px 0 130px;
  }
}
.ktt-about-page .outline__inner::after, .ktt-about-page .outline__inner::before {
  position: absolute;
  content: "";
  width: 1000px;
  height: 2px;
  right: 0;
  background-color: #084C61;
}
@media screen and (max-width: 828px) {
  .ktt-about-page .outline__inner::after, .ktt-about-page .outline__inner::before {
    width: 751px;
  }
}
.ktt-about-page .outline__inner::after {
  top: 0;
}
.ktt-about-page .outline__inner::before {
  bottom: 0;
}
.ktt-about-page .outline__img {
  width: calc(100% - 620px);
  height: 540px;
}
@media screen and (max-width: 828px) {
  .ktt-about-page .outline__img {
    width: 100%;
    height: auto;
    margin-top: 60px;
    transform: translateX(-38px);
  }
}
.ktt-about-page .outline__message {
  width: 620px;
  color: #084C61;
  padding-left: 30px;
}
@media screen and (max-width: 828px) {
  .ktt-about-page .outline__message {
    width: 100%;
    padding-left: 0;
  }
}
.ktt-about-page .outline__lead {
  font-size: 34px;
  letter-spacing: 0.01em;
  line-height: 1.3333333333;
  font-weight: 300;
}
@media screen and (max-width: 828px) {
  .ktt-about-page .outline__lead {
    font-size: 44px;
    line-height: 1.3043478261;
  }
}
.ktt-about-page .outline__text {
  letter-spacing: 0.08em;
  line-height: 1.5;
  margin-top: 40px;
}
@media screen and (max-width: 828px) {
  .ktt-about-page .outline__text {
    font-size: 32px;
    line-height: 1.59375;
    margin-top: 60px;
    padding: 0 38px;
  }
}
.ktt-about-page .service {
  background-color: rgba(72, 156, 181, 0.2);
}
.ktt-about-page .inner.service__inner {
  padding: 128px 0 175px;
}
.ktt-about-page .service__heading {
  width: 152px;
  height: 39px;
  padding-left: 10px;
  text-transform: uppercase;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 828px) {
  .ktt-about-page .service__heading {
    width: 351px;
    height: 90px;
    font-size: 32px;
    padding-left: 30px;
  }
}
.ktt-about-page .service__lead {
  font-size: 34px;
  line-height: 1.3333333333;
  color: #084C61;
  white-space: nowrap;
  margin-top: 40px;
  font-weight: 300;
}
@media screen and (max-width: 828px) {
  .ktt-about-page .service__lead {
    white-space: initial;
    font-size: 46px;
  }
}
.ktt-about-page .service__figure {
  margin-top: 40px;
}
.ktt-about-page .ktt-top.top-page .recruit {
  padding-top: 160px;
  padding-bottom: 260px;
}
@media screen and (max-width: 828px) {
  .ktt-about-page .ktt-top.top-page .recruit {
    padding-bottom: 500px;
  }
}
.ktt-about-page .ktt-top.top-page .content__heading {
  align-items: flex-start;
  font-size: 36px;
  line-height: 1.0555555556;
}
@media screen and (max-width: 828px) {
  .ktt-about-page .ktt-top.top-page .content__heading {
    font-size: 38px;
  }
}
.ktt-about-page .ktt-top.top-page .content__heading::before {
  margin-top: 20px;
}
@media screen and (max-width: 828px) {
  .ktt-about-page .ktt-top.top-page .content:nth-child(1) img {
    right: 245px;
    width: 54px;
    height: 53px;
  }
}
.ktt-about-page .ktt-top.top-page .content:nth-child(2) img {
  width: 72px;
  height: 58px;
}
@media screen and (max-width: 828px) {
  .ktt-about-page .ktt-top.top-page .content:nth-child(2) img {
    right: 260px;
  }
}
.ktt-about-page .ktt-top.top-page .content:nth-child(3) img {
  width: 60px;
  height: 60px;
}

.company-page {
  overflow: hidden;
}
.company-page .head {
  display: flex;
  align-items: flex-end;
}
@media screen and (max-width: 828px) {
  .company-page .head {
    flex-direction: column;
    align-items: flex-start;
  }
}
.company-page .heading {
  font-size: 58px;
  line-height: 1.3793103448;
  letter-spacing: 0.03em;
  color: #084C61;
  padding-bottom: 20px;
  font-weight: 300;
}
@media screen and (max-width: 828px) {
  .company-page .heading {
    font-size: 75px;
    padding-bottom: 0;
    transform: translateY(40px);
  }
}
.company-page .lead {
  font-size: 36px;
  line-height: 1.3333333333;
  color: #084C61;
  letter-spacing: 0.01em;
  font-weight: 300;
}
@media screen and (max-width: 828px) {
  .company-page .lead {
    font-size: 46px;
    line-height: 1.3043478261;
  }
}
.company-page .text {
  font-size: 16px;
  line-height: 1.5;
  color: #084C61;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 828px) {
  .company-page .text {
    font-size: 32px;
    line-height: 1.59375;
  }
}
.company-page .label {
  text-transform: uppercase;
  width: 118px;
  height: 39px;
  margin-left: auto;
  font-size: 14px;
  font-weight: 700;
  display: flex;
  justify-content: center;
  letter-spacing: 0.06em;
}
.company-page .label::before {
  display: none;
}
@media screen and (max-width: 828px) {
  .company-page .label {
    transform: translateY(64px);
    height: 64px;
    width: 195px;
    font-size: 23px;
  }
}
.company-page .message {
  padding-top: 155px;
}
@media screen and (max-width: 828px) {
  .company-page .message {
    padding-top: 176px;
  }
}
.company-page .message__contents {
  border-top: 2px solid #489CB5;
  border-bottom: 2px solid #489CB5;
  padding: 75px 25px 100px;
}
.company-page .message__lead {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 828px) {
  .company-page .message__lead {
    flex-direction: column;
    margin-top: 10px;
  }
}
.company-page .message__lead-text {
  width: calc(100% - 300px);
  padding-right: 20px;
}
@media screen and (max-width: 828px) {
  .company-page .message__lead-text {
    width: 100%;
    font-size: 44px;
  }
}
.company-page .message__lead-figure {
  width: 300px;
  aspect-ratio: 320/296;
}
@media screen and (max-width: 828px) {
  .company-page .message__lead-figure {
    width: 500px;
    margin-top: 40px;
  }
}
.company-page .message__text {
  margin-top: 43px;
}
.company-page .message__company {
  font-size: 16px;
  color: #489CB5;
  letter-spacing: 0.03em;
  margin-top: 60px;
  font-weight: 700;
}
@media screen and (max-width: 828px) {
  .company-page .message__company {
    font-size: 32px;
  }
}
.company-page .message__name {
  font-size: 24px;
  color: #084C61;
  margin-top: 10px;
  letter-spacing: 0.08em;
  font-weight: 500;
}
@media screen and (max-width: 828px) {
  .company-page .message__name {
    font-size: 45px;
    margin-top: 20px;
  }
}
.company-page .profile {
  padding-top: 126px;
  padding-bottom: 190px;
}
@media screen and (max-width: 828px) {
  .company-page .profile {
    padding-bottom: 210px;
  }
}
.company-page .profile__items {
  border-top: 2px solid #489CB5;
  border-bottom: 2px solid #489CB5;
}
.company-page .profile__item {
  padding: 30px;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 828px) {
  .company-page .profile__item {
    flex-direction: column;
    padding: 65px 30px;
  }
  .company-page .profile__item:first-child {
    padding-top: 120px;
  }
}
.company-page .profile__item:not(:first-child) {
  border-top: 1px solid #489CB5;
}
.company-page .profile__item dt {
  width: 268px;
  font-size: 16px;
  letter-spacing: 0.08em;
  font-weight: 700;
  color: #489CB5;
  text-transform: uppercase;
}
@media screen and (max-width: 828px) {
  .company-page .profile__item dt {
    width: 100%;
    font-size: 32px;
  }
}
.company-page .profile__item dd {
  width: calc(100% - 268px);
  font-size: 16px;
  letter-spacing: 0.08em;
  color: #084C61;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 828px) {
  .company-page .profile__item dd {
    width: 100%;
    font-size: 32px;
    margin-top: 27px;
    flex-direction: column;
    align-items: self-start;
    line-height: 1.28125;
  }
}
.company-page .profile__item dd::before {
  height: 20px;
  width: 2px;
  background-color: #489CB5;
  content: "";
  margin-right: 35px;
}
@media screen and (max-width: 828px) {
  .company-page .profile__item dd::before {
    margin-right: 0;
    width: 65px;
    height: 2px;
    margin-bottom: 27px;
  }
}
.company-page .profile__link {
  background-color: #489CB5;
  background-color: rgba(72, 156, 181, 0.2);
  border: 1px solid #707070;
  margin-top: 88px;
  padding: 25px;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 828px) {
  .company-page .profile__link {
    flex-direction: column;
    margin-top: 75px;
    padding: 35px 40px;
  }
}
.company-page .profile__link img {
  width: 635px;
  height: 61px;
}
@media screen and (max-width: 828px) {
  .company-page .profile__link img {
    width: 674px;
    height: 65px;
  }
}
.company-page .profile__link-wrap {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 828px) {
  .company-page .profile__link-wrap {
    flex-direction: column;
  }
}
.company-page .profile__link-page {
  display: block;
  font-size: 20px;
  letter-spacing: 0.03em;
  color: #489CB5;
  padding-top: 40px;
}
@media screen and (max-width: 828px) {
  .company-page .profile__link-page {
    font-size: 34px;
    padding-top: 10px;
  }
}
.company-page .profile__link-view {
  margin-left: 40px;
  font-weight: 700;
  font-size: 15px;
  color: #489CB5;
}
@media screen and (max-width: 828px) {
  .company-page .profile__link-view {
    font-size: 26px;
    margin-top: 30px;
  }
}
.company-page .profile__link-view::after {
  border-color: transparent transparent transparent #489CB5;
}
.company-page .map {
  background-image: url(../assets/img/ktt/ktt-company/map.jpg);
  background-size: cover;
  padding: 92px 0 137px;
}
@media screen and (max-width: 828px) {
  .company-page .map {
    background-image: url(../assets/img/ktt/ktt-company/map-sp.jpg);
  }
}
.company-page .inner.map__inner {
  position: relative;
}
.company-page .inner.map__inner::after {
  position: absolute;
  content: "";
  top: -106px;
  left: -10px;
  width: calc(50% + 50vw);
  height: 14px;
  background-color: #489CB5;
}
@media screen and (max-width: 828px) {
  .company-page .inner.map__inner::after {
    width: 762px;
    right: -38px;
    left: auto;
  }
}
@media screen and (max-width: 828px) {
  .company-page .map__lead {
    font-size: 42px;
  }
}
.company-page .map__container {
  padding: 45px 20px 75px;
  background-image: url(../assets/img/common/btn-bg.jpg);
  background-size: contain;
  margin-top: 37px;
  margin-left: auto;
  width: 585px;
  color: #FFFFFF;
}
@media screen and (max-width: 828px) {
  .company-page .map__container {
    margin-top: 450px;
    width: 100%;
  }
}
.company-page .map__location {
  font-size: 24px;
  font-weight: 700;
  text-transform: uppercase;
  padding-left: 30px;
}
.company-page .map__item {
  display: flex;
  align-items: center;
  padding: 20px 10px;
  border-bottom: 1px dotted #FFFFFF;
}
.company-page .map__item dt {
  font-size: 24px;
  letter-spacing: 0.03em;
}
.company-page .map__item dd {
  font-size: 36px;
  margin-left: auto;
  display: flex;
  align-items: center;
}
.company-page .map__item dd::before {
  content: "";
  border-style: solid;
  border-width: 4px 0 4px 8px;
  border-color: transparent transparent transparent #FFFFFF;
  margin-right: 10px;
}
@media screen and (max-width: 828px) {
  .company-page .map__item dd::before {
    border-width: 8px 0 8px 16px;
    margin-left: 15px;
  }
}
.company-page .map__item dd span {
  font-size: 26px;
}
.company-page .location {
  padding-top: 144px;
}
.company-page .location__label.label {
  transform: translateY(0);
}
.company-page .location__contents {
  padding: 80px 30px;
  border-top: 2px solid #489CB5;
  border-bottom: 2px solid #489CB5;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 828px) {
  .company-page .location__contents {
    flex-direction: column;
    padding: 90px 0 200px;
  }
}
.company-page .location__message {
  width: calc(100% - 375px);
  padding-right: 45px;
}
@media screen and (max-width: 828px) {
  .company-page .location__message {
    width: 100%;
    padding-right: 0;
    padding: 0 25px;
  }
}
@media screen and (max-width: 828px) {
  .company-page .location__lead {
    font-size: 48px;
  }
}
.company-page .location__text {
  margin-top: 26px;
}
.company-page .location__img {
  width: 375px;
  margin-left: auto;
}
@media screen and (max-width: 828px) {
  .company-page .location__img {
    width: 751px;
    margin-top: 60px;
  }
}
.company-page .location__img img {
  height: auto;
}
.company-page .management {
  padding-top: 176px;
}
.company-page .management__head {
  border-bottom: 2px solid #489CB5;
}
.company-page .management__heading {
  line-height: 1.0666666667;
}
.company-page .management__label.label {
  width: 160px;
}
@media screen and (max-width: 828px) {
  .company-page .management__label.label {
    width: 248px;
  }
}
.company-page .management__contents {
  display: flex;
  justify-content: space-between;
  padding-top: 75px;
}
@media screen and (max-width: 828px) {
  .company-page .management__contents {
    flex-direction: column;
    width: 751px;
    margin: 0 auto;
  }
}
.company-page .management__img {
  width: 43.75%;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 828px) {
  .company-page .management__img {
    width: 100%;
    margin-top: 60px;
  }
}
.company-page .management__img .img2 {
  width: 41.6666666667%;
  margin-left: auto;
  margin-top: 40px;
}
@media screen and (max-width: 828px) {
  .company-page .management__img .img2 {
    width: 527px;
    margin: 40px auto 0;
  }
}
.company-page .management__massage {
  width: 54.375%;
}
@media screen and (max-width: 828px) {
  .company-page .management__massage {
    width: 100%;
  }
}
@media screen and (max-width: 828px) {
  .company-page .management__lead {
    margin-top: 10px;
  }
}
.company-page .management__container {
  margin-top: 48px;
  background-color: rgba(72, 156, 181, 0.2);
  padding: 43px 39px 59px;
  color: #489CB5;
}
@media screen and (max-width: 828px) {
  .company-page .management__container {
    width: 100vw;
    margin: 73px auto 0;
    transform: translateX(-39px);
    padding: 59px 37px 84px;
  }
}
.company-page .management__heading-sub {
  font-size: 24px;
  font-weight: 700;
  text-transform: uppercase;
  padding-left: 30px;
}
@media screen and (max-width: 828px) {
  .company-page .management__heading-sub {
    font-size: 36px;
    padding-left: 0;
  }
}
.company-page .management__items {
  margin-top: 10px;
}
.company-page .management__item {
  display: flex;
  align-items: center;
  padding: 21px 10px;
  border-bottom: 1px dotted #084C61;
  align-items: center;
  width: 600px;
}
@media screen and (max-width: 828px) {
  .company-page .management__item {
    padding: 30px 0;
    width: 100%;
  }
}
.company-page .management__item dt {
  font-size: 22px;
  letter-spacing: 0.025em;
  font-weight: 300;
}
@media screen and (max-width: 828px) {
  .company-page .management__item dt {
    font-size: 32px;
  }
}
.company-page .management__item dd {
  font-size: 20px;
  letter-spacing: 0.03em;
  display: flex;
  align-items: flex-end;
  padding-left: 15px;
}
@media screen and (max-width: 828px) {
  .company-page .management__item dd {
    font-size: 28px;
    padding-left: 25px;
  }
}
.company-page .management__item dd::before {
  content: "";
  border-style: solid;
  border-width: 4px 0 4px 8px;
  border-color: transparent transparent transparent #489CB5;
  margin-right: 10px;
  margin-bottom: 8px;
}
@media screen and (max-width: 828px) {
  .company-page .management__item dd::before {
    border-width: 8px 0 8px 16px;
    margin-right: 15px;
  }
}
.company-page .management__item dd span {
  font-size: 28px;
  color: #084C61;
  letter-spacing: 0.01em;
  display: block;
  margin-right: 5px;
}
@media screen and (max-width: 828px) {
  .company-page .management__item dd span {
    font-size: 40px;
  }
}
.company-page .management__features {
  display: flex;
  justify-content: space-between;
  padding: 100px 30px 160px;
}
@media screen and (max-width: 828px) {
  .company-page .management__features {
    flex-direction: column;
    padding: 100px 0 208px;
  }
}
.company-page .feature {
  display: block;
  background-size: contain;
}
.company-page .feature::before {
  display: none;
}
@media screen and (max-width: 828px) {
  .company-page .feature:not(:first-child) {
    margin-top: 38px;
  }
}
.company-page .feature__heading {
  height: 39px;
  text-transform: uppercase;
  font-size: 18px;
  letter-spacing: 0.06em;
  position: relative;
  padding: 12px 25px;
  font-weight: 700;
}
@media screen and (max-width: 828px) {
  .company-page .feature__heading {
    font-size: 30px;
    height: 63px;
    padding: 20px 45px;
  }
}
.company-page .feature__heading::after {
  position: absolute;
  content: "";
  width: 300px;
  height: 39px;
  top: 0;
  right: 0;
  background-color: #FFFFFF;
}
@media screen and (max-width: 828px) {
  .company-page .feature__heading::after {
    width: 500px;
    height: 63px;
  }
}
.company-page .feature__container {
  width: 450px;
  padding: 40px 30px;
}
@media screen and (max-width: 828px) {
  .company-page .feature__container {
    width: 750px;
    padding: 70px 60px;
  }
}
.company-page .feature__lead {
  font-size: 26px;
  line-height: 1.4615384615;
  letter-spacing: 0.01em;
  margin-top: 20px;
  font-weight: 300;
}
@media screen and (max-width: 828px) {
  .company-page .feature__lead {
    font-size: 45px;
    margin-top: 30px;
  }
}
.company-page .feature__text.text {
  color: #FFFFFF;
  margin-top: 20px;
  text-align: justify;
}
@media screen and (max-width: 828px) {
  .company-page .feature__text.text {
    margin-top: 30px;
  }
}
.company-page .side-view {
  background-color: rgba(72, 156, 181, 0.2);
  margin-bottom: 205px;
}
@media screen and (max-width: 828px) {
  .company-page .side-view {
    margin-bottom: 310px;
  }
}
.company-page .inner.side-view__inner {
  padding: 130px 0 200px;
}
@media screen and (max-width: 828px) {
  .company-page .inner.side-view__inner {
    padding: 120px 0 176px;
  }
}
.company-page .side-view__heading {
  width: 116px;
  height: 39px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.06em;
  padding-left: 10px;
  text-transform: uppercase;
}
@media screen and (max-width: 828px) {
  .company-page .side-view__heading {
    font-size: 23px;
    width: 190px;
    height: 63px;
    padding-left: 15px;
  }
}
.company-page .side-view__items {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 828px) {
  .company-page .side-view__items {
    flex-direction: column;
    margin-top: -855px;
  }
}
.company-page .side-view__img {
  margin-top: 20px;
}
@media screen and (max-width: 828px) {
  .company-page .side-view__img {
    margin-top: 60px;
  }
}
.company-page .item {
  width: 478px;
  padding: 24px;
  color: #FFFFFF;
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 828px) {
  .company-page .item {
    width: 604px;
    padding: 24px 43px 50px;
  }
}
.company-page .item:nth-child(1) {
  background-image: url(../assets/img/ktt/ktt-company/bg2.png);
}
@media screen and (max-width: 828px) {
  .company-page .item:nth-child(1) {
    background-image: url(../assets/img/ktt/ktt-company/bg2-sp.png);
  }
}
.company-page .item:nth-child(1)::after {
  right: 0;
}
.company-page .item:nth-child(2) {
  background-image: url(../assets/img/ktt/ktt-company/bg1.png);
}
@media screen and (max-width: 828px) {
  .company-page .item:nth-child(2) {
    background-image: url(../assets/img/ktt/ktt-company/bg1-sp.png);
    margin-top: 55px;
    margin-left: auto;
    transform: translateX(25px);
  }
}
.company-page .item:nth-child(2)::after {
  left: 0;
}
.company-page .item__heading {
  text-transform: uppercase;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 828px) {
  .company-page .item__heading {
    font-size: 28px;
  }
}
.company-page .item:nth-child(2) .item__heading {
  text-align: right;
}
.company-page .item__img {
  margin-top: 24px;
}
.company-page .item__text {
  margin-top: 20px;
  font-size: 16px;
  letter-spacing: 0.08em;
  line-height: 1.5;
  white-space: nowrap;
}
@media screen and (max-width: 828px) {
  .company-page .item__text {
    font-size: 30px;
    letter-spacing: 0.05em;
    line-height: 1.3333333333;
    white-space: initial;
  }
}

.ktt-inquiry-page {
  overflow: hidden;
}
.ktt-inquiry-page .inquiry {
  padding: 150px 0 200px;
  color: #084C61;
}
@media screen and (max-width: 828px) {
  .ktt-inquiry-page .inquiry {
    padding: 176px 0 360px;
  }
}
.ktt-inquiry-page .inquiry__heading {
  font-size: 58px;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 828px) {
  .ktt-inquiry-page .inquiry__heading {
    font-size: 75px;
  }
}
.ktt-inquiry-page .inquiry__lead {
  font-size: 16px;
  margin-top: 20px;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 828px) {
  .ktt-inquiry-page .inquiry__lead {
    font-size: 32px;
    line-height: 1.59375;
    margin-top: 30px;
  }
}
.ktt-inquiry-page .contents {
  margin-top: 40px;
  border-top: 2px solid #489CB5;
  border-bottom: 2px solid #489CB5;
  padding: 72px 0 40px;
}
@media screen and (max-width: 828px) {
  .ktt-inquiry-page .contents {
    padding: 100px 0 40px;
  }
}
.ktt-inquiry-page .contents__logo {
  width: 460px;
  padding-left: 30px;
}
@media screen and (max-width: 828px) {
  .ktt-inquiry-page .contents__logo {
    width: 640px;
  }
}
.ktt-inquiry-page .contents__company {
  font-size: 46px;
  letter-spacing: 0.03em;
  margin-top: 15px;
  padding-left: 30px;
  font-weight: 500;
}
@media screen and (max-width: 828px) {
  .ktt-inquiry-page .contents__company {
    line-height: 1.1;
    font-size: 48px;
    margin-top: 25px;
  }
}
.ktt-inquiry-page .contents__text {
  font-size: 16px;
  margin-top: 40px;
  letter-spacing: 0.08em;
  padding-left: 30px;
}
@media screen and (max-width: 828px) {
  .ktt-inquiry-page .contents__text {
    font-size: 32px;
    line-height: 1.40625;
    letter-spacing: 0;
  }
}
.ktt-inquiry-page .contents__items {
  display: flex;
  align-items: center;
  padding: 42px 30px;
}
@media screen and (max-width: 828px) {
  .ktt-inquiry-page .contents__items {
    padding: 60px 20px;
  }
}
.ktt-inquiry-page .contents__items img {
  -o-object-fit: contain;
     object-fit: contain;
}
.ktt-inquiry-page .contents__items:nth-child(n+5) {
  border-top: 1px dotted #489CB5;
}
.ktt-inquiry-page .contents__items:nth-child(4) img {
  width: 38px;
  margin-left: 6px;
}
@media screen and (max-width: 828px) {
  .ktt-inquiry-page .contents__items:nth-child(4) img {
    width: 48px;
  }
}
.ktt-inquiry-page .contents__items:nth-child(5) img {
  width: 44px;
  margin-left: 3px;
}
@media screen and (max-width: 828px) {
  .ktt-inquiry-page .contents__items:nth-child(5) img {
    width: 56px;
  }
}
.ktt-inquiry-page .contents__items:nth-child(6) img {
  width: 53px;
}
@media screen and (max-width: 828px) {
  .ktt-inquiry-page .contents__items:nth-child(6) img {
    width: 67px;
  }
}
.ktt-inquiry-page .contents__item {
  font-size: 38px;
  letter-spacing: 0.03em;
  padding-left: 45px;
  font-weight: 300;
}
@media screen and (max-width: 828px) {
  .ktt-inquiry-page .contents__item {
    font-size: 48px;
    padding-left: 40px;
  }
}

.ktt-recruit-page.ktt-inquiry-page {
  overflow: hidden;
  /* CSS の基準は ktt-inquiry-page */
}
.ktt-recruit-page.ktt-inquiry-page .heading {
  font-size: 58px;
  letter-spacing: 0.03em;
  color: #084C61;
  font-weight: 300;
}
@media screen and (max-width: 828px) {
  .ktt-recruit-page.ktt-inquiry-page .heading {
    font-size: 75px;
  }
}
.ktt-recruit-page.ktt-inquiry-page .lead {
  font-size: 16px;
  margin-top: 20px;
  letter-spacing: 0.08em;
  color: #084C61;
}
@media screen and (max-width: 828px) {
  .ktt-recruit-page.ktt-inquiry-page .lead {
    font-size: 32px;
    line-height: 1.59375;
    margin-top: 30px;
  }
}
.ktt-recruit-page.ktt-inquiry-page .job {
  padding-top: 155px;
}
@media screen and (max-width: 828px) {
  .ktt-recruit-page.ktt-inquiry-page .job {
    padding-top: 176px;
  }
}
.ktt-recruit-page.ktt-inquiry-page .job__items {
  padding: 70px 30px;
  margin-top: 40px;
  border-top: 2px solid #489CB5;
  border-bottom: 2px solid #489CB5;
}
@media screen and (max-width: 828px) {
  .ktt-recruit-page.ktt-inquiry-page .job__items {
    padding: 115px 0;
    margin-top: 60px;
  }
}
.ktt-recruit-page.ktt-inquiry-page .job__item {
  display: flex;
}
@media screen and (max-width: 828px) {
  .ktt-recruit-page.ktt-inquiry-page .job__item {
    flex-direction: column;
  }
}
.ktt-recruit-page.ktt-inquiry-page .job__item:not(:first-child) {
  margin-top: 10px;
}
@media screen and (max-width: 828px) {
  .ktt-recruit-page.ktt-inquiry-page .job__item:not(:first-child) {
    margin-top: 40px;
  }
}
.ktt-recruit-page.ktt-inquiry-page .job__item dt {
  width: 230px;
  text-transform: uppercase;
  background-color: #084C61;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  padding-left: 20px;
  font-weight: 700;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 828px) {
  .ktt-recruit-page.ktt-inquiry-page .job__item dt {
    width: 100%;
    padding: 42px 0 42px 30px;
    font-size: 32px;
  }
}
.ktt-recruit-page.ktt-inquiry-page .job__items dd {
  width: calc(100% - 230px);
  background-color: rgba(72, 156, 181, 0.2);
  color: #084C61;
  padding: 20px 0;
  padding-left: 25px;
  line-height: 1.5;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 828px) {
  .ktt-recruit-page.ktt-inquiry-page .job__items dd {
    width: 100%;
    padding: 42px 0 42px 30px;
    font-size: 32px;
  }
}
.ktt-recruit-page.ktt-inquiry-page .inquiry {
  padding-top: 110px;
}
@media screen and (max-width: 828px) {
  .ktt-recruit-page.ktt-inquiry-page .inquiry {
    padding-top: 145px;
  }
}

.construction-page {
  overflow: hidden;
}
.construction-page .construction {
  padding: 155px 0 205px;
}
@media screen and (max-width: 828px) {
  .construction-page .construction {
    padding: 180px 0 290px;
  }
}
.construction-page .construction__lead {
  font-size: 58px;
  letter-spacing: 0.03em;
  color: #084C61;
  font-weight: 300;
}
@media screen and (max-width: 828px) {
  .construction-page .construction__lead {
    line-height: 1.0933333333;
    font-size: 75px;
  }
}
.construction-page .construction__text {
  font-size: 16px;
  letter-spacing: 0.08em;
  color: #084C61;
  margin-top: 30px;
}
@media screen and (max-width: 828px) {
  .construction-page .construction__text {
    font-size: 32px;
    line-height: 1.59375;
    margin-top: 40px;
  }
}
.construction-page .construction__contents {
  margin-top: 40px;
  padding: 75px 60px;
  border-top: 2px solid #489CB5;
  border-bottom: 2px solid #489CB5;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 828px) {
  .construction-page .construction__contents {
    margin-top: 60px;
    padding: 100px 30px 160px;
    flex-direction: column;
  }
}
.construction-page .construction__heading {
  width: calc(100% - 315px);
}
@media screen and (max-width: 828px) {
  .construction-page .construction__heading {
    width: 100%;
  }
}
.construction-page .construction__heading img {
  width: 424px;
}
@media screen and (max-width: 828px) {
  .construction-page .construction__heading img {
    width: 100%;
  }
}
.construction-page .construction__japan {
  font-size: 46px;
  color: #084C61;
  letter-spacing: 0.03em;
  margin-top: 20px;
  font-weight: 300;
}
@media screen and (max-width: 828px) {
  .construction-page .construction__japan {
    font-size: 62px;
  }
}
.construction-page .construction__japan span {
  font-weight: 700;
}
.construction-page .construction__link {
  width: 315px;
  height: 93px;
  justify-content: center;
  font-family: "Source Sans 3", sans-serif;
  font-size: 15px;
}
@media screen and (max-width: 828px) {
  .construction-page .construction__link {
    width: 100%;
    font-size: 26px;
    margin-top: 60px;
  }
}

.construction-page.ktt-management-page .management__contents {
  border-bottom: none;
}
.construction-page.ktt-management-page .management {
  padding-bottom: 100px;
}

.top-page.ktt-top {
  /* 日本語のトップページのCSSを基準とする　*/
  overflow: hidden;
}
.top-page.ktt-top .fv__message {
  width: 535px;
  height: 535px;
}
.top-page.ktt-top .fv {
  margin-top: 0;
}
.top-page.ktt-top .about__inner::after {
  top: 110px;
}
@media screen and (max-width: 828px) {
  .top-page.ktt-top .about__inner::after {
    top: 190px;
  }
}
.top-page.ktt-top .about__message {
  width: 620px;
  padding: 60px 70px;
}
@media screen and (max-width: 828px) {
  .top-page.ktt-top .about__message {
    width: 100%;
    padding: 60px 50px;
  }
}
.top-page.ktt-top .about__heading {
  font-size: 106px;
}
.top-page.ktt-top .about__img {
  width: calc(100% - 620px);
  margin: 0;
}
@media screen and (max-width: 828px) {
  .top-page.ktt-top .about__img {
    width: 100%;
  }
}
.top-page.ktt-top .about__text {
  font-size: 32px;
  letter-spacing: 0.01em;
  line-height: 1.3125;
  color: #231815;
  font-weight: 300;
}
@media screen and (max-width: 828px) {
  .top-page.ktt-top .about__text {
    font-size: 45px;
    line-height: 1.2888888889;
  }
}
@media screen and (max-width: 828px) {
  .top-page.ktt-top .about__picture {
    width: 470px;
    height: 290px;
  }
}
@media screen and (max-width: 828px) {
  .top-page.ktt-top .service {
    margin-top: 200px;
  }
}
.top-page.ktt-top .service__inner {
  background-color: #FFFFFF;
}
.top-page.ktt-top .service__inner::after {
  background-color: #489CB5;
  height: 100%;
}
@media screen and (max-width: 828px) {
  .top-page.ktt-top .service__inner::after {
    height: 90%;
  }
}
.top-page.ktt-top .service__img {
  margin: 0;
}
.top-page.ktt-top .service__message {
  background-color: rgba(72, 156, 181, 0.2);
  padding: 60px 0 60px 50px;
}
@media screen and (max-width: 828px) {
  .top-page.ktt-top .service__message {
    padding-left: 70px;
  }
}
.top-page.ktt-top .heading.service__heading {
  color: #489CB5;
}
@media screen and (max-width: 828px) {
  .top-page.ktt-top .heading.service__heading {
    font-size: 106px;
  }
}
.top-page.ktt-top .service__text {
  font-size: 32px;
  color: #231815;
  letter-spacing: 0.01em;
  line-height: 1.3125;
}
@media screen and (max-width: 828px) {
  .top-page.ktt-top .service__text {
    font-size: 45px;
    line-height: 1.2888888889;
  }
}
.top-page.ktt-top .recruit {
  padding-top: 250px;
}
@media screen and (max-width: 828px) {
  .top-page.ktt-top .recruit {
    padding-top: 300px;
    padding-bottom: 260px;
  }
}
.top-page.ktt-top .inner.recruit__inner {
  padding: 80px 0;
  display: flex;
  justify-content: space-between;
  position: relative;
  border-top: 2px solid #489CB5;
  border-bottom: 2px solid #489CB5;
}
@media screen and (max-width: 828px) {
  .top-page.ktt-top .inner.recruit__inner {
    flex-direction: column;
    align-items: center;
    padding: 108px 0;
  }
}
@media screen and (max-width: 828px) {
  .top-page.ktt-top .content img {
    top: 82px;
  }
  .top-page.ktt-top .content:nth-child(1) img {
    right: 510px;
  }
  .top-page.ktt-top .content:nth-child(2) img {
    right: 440px;
  }
  .top-page.ktt-top .content:nth-child(3) img {
    right: 420px;
  }
}
.top-page.ktt-top .content__heading {
  font-size: 32px;
  padding-top: 15px;
  letter-spacing: 0.03em;
  font-style: italic;
}
@media screen and (max-width: 828px) {
  .top-page.ktt-top .content__heading {
    font-size: 47px;
    padding-top: 0;
  }
}
.top-page.ktt-top .content__heading::before {
  margin-top: 5px;
}

.policy-page {
  overflow: hidden;
}
.policy-page .text {
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.04em;
  color: #084C61;
  margin-top: 27px;
  text-align: justify;
}
@media screen and (max-width: 828px) {
  .policy-page .text {
    margin-top: 37px;
    font-size: 32px;
    line-height: 1.625;
  }
}
.policy-page .heading {
  font-size: 22px;
  letter-spacing: 0.04em;
  color: #489CB5;
  font-weight: 500;
}
@media screen and (max-width: 828px) {
  .policy-page .heading {
    font-size: 38px;
    line-height: 1.3157894737;
  }
}
.policy-page .heading span {
  text-transform: uppercase;
  font-weight: 500;
}
.policy-page .policy {
  padding: 170px 0 200px;
}
@media screen and (max-width: 828px) {
  .policy-page .policy {
    padding: 219px 0 321px;
  }
}
.policy-page .inner.policy__inner {
  border-top: 2px solid #489CB5;
  border-bottom: 2px solid #489CB5;
}
.policy-page .policy__contents {
  padding: 55px 30px;
}
@media screen and (max-width: 828px) {
  .policy-page .policy__contents {
    padding: 80px 25px;
  }
}
.policy-page .policy__contents:not(:first-child) {
  border-top: 1px dotted #489CB5;
}
.policy-page .policy__contents:first-child .policy__text, .policy-page .policy__contents:last-child .policy__text {
  margin-top: 0;
}
.policy-page .policy__contents:last-child .policy__text {
  margin-left: 30px;
}
.policy-page .policy__wrap {
  display: flex;
  align-items: center;
}
.policy-page .policy__info {
  margin-top: 30px;
  letter-spacing: 0.04em;
  color: #084C61;
}
@media screen and (max-width: 828px) {
  .policy-page .policy__info {
    font-size: 32px;
    line-height: 1.625;
  }
}
.policy-page .policy__company {
  color: #084C61;
  font-size: 18px;
  font-weight: 700;
  margin-top: 20px;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 828px) {
  .policy-page .policy__company {
    font-size: 38px;
    margin-top: 40px;
  }
}
.policy-page .policy__tel {
  color: #084C61;
  font-size: 14px;
  margin-top: 10px;
  padding: 10px 10px 10px 0;
  display: inline-block;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 828px) {
  .policy-page .policy__tel {
    font-size: 32px;
  }
}

.sitemap-page {
  overflow: hidden;
}
.sitemap-page .sitemap {
  padding: 170px 0 200px;
}
@media screen and (max-width: 828px) {
  .sitemap-page .sitemap {
    padding: 220px 0 350px;
  }
}
.sitemap-page .inner.sitemap__inner {
  border-top: 2px solid #489CB5;
  border-bottom: 2px solid #489CB5;
}
.sitemap-page .sitemap__contents {
  padding: 55px 30px;
  display: flex;
}
.sitemap-page .sitemap__contents:not(:first-child) {
  border-top: 1px dotted #489CB5;
}
@media screen and (max-width: 828px) {
  .sitemap-page .sitemap__contents {
    padding: 80px 30px;
    flex-direction: column;
  }
}
.sitemap-page .sitemap__heading {
  width: 50%;
}
@media screen and (max-width: 828px) {
  .sitemap-page .sitemap__heading {
    width: 100%;
  }
}
.sitemap-page .sitemap__link-heading {
  width: -moz-fit-content;
  width: fit-content;
  padding: 10px 0;
  display: flex;
}
.sitemap-page .sitemap__heading-en {
  font-size: 22px;
  text-transform: uppercase;
  color: #489CB5;
  letter-spacing: 0.04em;
  display: block;
  font-weight: 500;
}
@media screen and (max-width: 828px) {
  .sitemap-page .sitemap__heading-en {
    font-size: 38px;
  }
}
.sitemap-page .sitemap__heading-ja {
  color: #084C61;
  margin-left: 20px;
  margin-top: 4px;
  display: block;
}
@media screen and (max-width: 828px) {
  .sitemap-page .sitemap__heading-ja {
    font-size: 32px;
  }
}
.sitemap-page .sitemap__links {
  width: 50%;
}
@media screen and (max-width: 828px) {
  .sitemap-page .sitemap__links {
    width: 100%;
    padding-left: 80px;
    margin-top: 50px;
  }
}
.sitemap-page .sitemap__link:not(:first-child) {
  margin-top: 30px;
}
@media screen and (max-width: 828px) {
  .sitemap-page .sitemap__link:not(:first-child) {
    margin-top: 50px;
  }
}
.sitemap-page .sitemap__link-page,
.sitemap-page .sitemap__link-term,
.sitemap-page .sitemap__link-thai {
  line-height: 2;
  color: #084C61;
  letter-spacing: 0.04em;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 828px) {
  .sitemap-page .sitemap__link-page,
  .sitemap-page .sitemap__link-term,
  .sitemap-page .sitemap__link-thai {
    font-size: 32px;
    line-height: 1.625;
    white-space: nowrap;
  }
  .sitemap-page .sitemap__link-page span,
  .sitemap-page .sitemap__link-term span,
  .sitemap-page .sitemap__link-thai span {
    margin: 40px;
  }
}
.sitemap-page .sitemap__link-term {
  margin-left: 20px;
}
@media screen and (max-width: 828px) {
  .sitemap-page .sitemap__link-term {
    margin-left: 70px;
  }
}
.sitemap-page .sitemap__link-thai {
  margin-left: 40px;
}
@media screen and (max-width: 828px) {
  .sitemap-page .sitemap__link-thai {
    margin-left: 140px;
  }
}
.sitemap-page .sitemap__link-thai span {
  position: relative;
}
.sitemap-page .sitemap__link-thai span::after {
  position: absolute;
  content: "";
  background-image: url(../assets/img/other/sitemap/icon.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 20px;
  height: 20px;
  right: -40px;
  top: 2px;
}
@media screen and (max-width: 828px) {
  .sitemap-page .sitemap__link-thai span::after {
    width: 35px;
    height: 35px;
    right: -60px;
    top: 5px;
  }
}
.sitemap-page .sitemap__contents.contact .sitemap__link {
  margin-top: 0;
}
@media screen and (max-width: 828px) {
  .sitemap-page .sitemap__contents.contact .sitemap__link:last-child {
    margin-top: 50px;
  }
}
@media screen and (max-width: 828px) {
  .sitemap-page .sitemap__contents.contact .sitemap__link-page:last-child {
    margin-top: 30px;
  }
}
.sitemap-page .sitemap__contents:last-child {
  flex-direction: column;
}

.rec-info-page {
  overflow: hidden;
}
.rec-info-page .text {
  font-size: 16px;
  letter-spacing: 0.04em;
  line-height: 1.8;
  color: #084C61;
  margin-top: 21px;
  text-align: justify;
}
.rec-info-page .text span {
  font-weight: 700;
}
@media screen and (max-width: 828px) {
  .rec-info-page .text {
    font-size: 32px;
    line-height: 1.625;
    margin-top: 30px;
    text-align: justify;
  }
}
.rec-info-page .job {
  margin-top: 183px;
  background-color: rgba(72, 156, 181, 0.2);
}
.rec-info-page .inner.job__inner {
  padding-top: 113px;
}
@media screen and (max-width: 828px) {
  .rec-info-page .inner.job__inner {
    padding: 113px 30px 0;
  }
}
.rec-info-page .inner.job__inner .line-right {
  background-color: #489CB5;
}
@media screen and (max-width: 828px) {
  .rec-info-page .lead {
    padding: 0 20px;
  }
}
.rec-info-page .lead__heading {
  font-size: 58px;
  letter-spacing: 0.03em;
  font-weight: 300;
}
@media screen and (max-width: 828px) {
  .rec-info-page .lead__heading {
    font-size: 70px;
  }
}
.rec-info-page .lead__heading.n1 {
  color: #084C61;
}
.rec-info-page .lead__text {
  margin-top: 15px;
}
@media screen and (max-width: 828px) {
  .rec-info-page .lead__text {
    margin-top: 40px;
  }
}
.rec-info-page .job__container {
  width: 1566px;
  max-width: 100%;
  padding: 0 20px;
  margin: 30px auto 0;
  padding-bottom: 123px;
}
@media screen and (max-width: 828px) {
  .rec-info-page .job__container {
    width: 751px;
    margin: 80px auto 0;
  }
}
.rec-info-page .job__contents {
  width: 1260px;
  margin-left: auto;
  display: flex;
}
.rec-info-page .job__contents:not(:first-child) {
  margin-top: 78px;
}
@media screen and (max-width: 828px) {
  .rec-info-page .job__contents:not(:first-child) {
    margin-top: 107px;
  }
}
@media screen and (max-width: 828px) {
  .rec-info-page .job__contents {
    flex-direction: column;
    width: 100%;
  }
}
.rec-info-page .info {
  width: 615px;
}
@media screen and (max-width: 828px) {
  .rec-info-page .info {
    width: 100%;
  }
}
.rec-info-page .info__heading {
  height: 60px;
  background-color: #084C61;
  color: #FFFFFF;
  font-size: 26px;
  letter-spacing: 0.08em;
  display: flex;
  align-items: center;
  padding-left: 40px;
  margin-bottom: 21px;
}
@media screen and (max-width: 828px) {
  .rec-info-page .info__heading {
    font-size: 38px;
    height: 83px;
    margin-bottom: 25px;
  }
}
.rec-info-page .info__items {
  padding-top: 21px;
  border-top: 1px dotted #489CB5;
}
@media screen and (max-width: 828px) {
  .rec-info-page .info__items {
    padding-top: 25px;
  }
}
.rec-info-page .info__item {
  display: flex;
}
.rec-info-page .info__item:not(:first-child) {
  margin-top: 10px;
}
@media screen and (max-width: 828px) {
  .rec-info-page .info__item:not(:first-child) {
    margin-top: 15px;
  }
}
.rec-info-page .info__item dt {
  background-color: #084C61;
  color: #FFFFFF;
  font-weight: 700;
  width: 164px;
  display: flex;
  justify-content: center;
  align-items: center;
  align-self: stretch;
}
@media screen and (max-width: 828px) {
  .rec-info-page .info__item dt {
    font-size: 32px;
    width: 200px;
  }
}
.rec-info-page .info__item dd {
  background-color: rgba(72, 156, 181, 0.2);
  padding: 20px 0 20px 25px;
  width: calc(100% - 164px);
  line-height: 1.375;
  color: #084C61;
}
@media screen and (max-width: 828px) {
  .rec-info-page .info__item dd {
    width: calc(100% - 200px);
    font-size: 32px;
    letter-spacing: -0.02em;
    padding: 25px 0 25px 25px;
  }
}
.rec-info-page .job__img {
  margin-left: 30px;
  width: 615px;
}
@media screen and (max-width: 828px) {
  .rec-info-page .job__img {
    width: 100%;
    margin-left: 0;
    margin-top: 42px;
  }
}
.rec-info-page .job__contents.general {
  margin-left: 0;
  margin-right: auto;
  flex-direction: row-reverse;
}
@media screen and (max-width: 828px) {
  .rec-info-page .job__contents.general {
    flex-direction: column;
  }
}
.rec-info-page .job__contents.general .info__item dt {
  padding-right: 10px;
}
.rec-info-page .job__contents.general .job__img {
  margin-left: 0;
  margin-right: 30px;
}
.rec-info-page .job__contents.clerical .info__heading,
.rec-info-page .job__contents.clerical .info__item dt {
  background-color: #489CB5;
}
.rec-info-page .inner.contact__inner {
  padding-top: 142px;
  padding-bottom: 197px;
  position: relative;
}
@media screen and (max-width: 828px) {
  .rec-info-page .inner.contact__inner {
    padding-top: 232px;
    padding-bottom: 386px;
  }
}
.rec-info-page .inner.contact__inner .line-left {
  top: 0;
  background-color: #489CB5;
}
.rec-info-page .lead__heading {
  color: #489CB5;
}
.rec-info-page .contact__items {
  padding: 80px 76px;
  display: flex;
  justify-content: space-between;
  margin-top: 40px;
  border-top: 2px solid #489CB5;
  border-bottom: 2px solid #489CB5;
}
@media screen and (max-width: 828px) {
  .rec-info-page .contact__items {
    padding: 115px 0;
    flex-direction: column;
  }
}
.rec-info-page .item {
  width: 409px;
  background-image: url(../assets/img/common/btn-bg.jpg);
  background-size: cover;
  color: #FFFFFF;
  padding: 30px;
  position: relative;
}
@media screen and (max-width: 828px) {
  .rec-info-page .item {
    padding: 50px;
  }
}
.rec-info-page .item::after {
  position: absolute;
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  top: 30px;
  right: 30px;
}
@media screen and (max-width: 828px) {
  .rec-info-page .item::after {
    top: 50px;
    right: 50px;
  }
}
@media screen and (max-width: 828px) {
  .rec-info-page .item {
    width: 100%;
  }
}
@media screen and (max-width: 828px) {
  .rec-info-page .item:not(:first-child) {
    margin-top: 46px;
  }
}
.rec-info-page .item:nth-child(1)::after {
  width: 80px;
  height: 75px;
  background-image: url(../assets/img/recruit/rec-info/icon1.svg);
}
@media screen and (max-width: 828px) {
  .rec-info-page .item:nth-child(1)::after {
    width: 147px;
    height: 138px;
  }
}
.rec-info-page .item:nth-child(2)::after {
  width: 48px;
  height: 77px;
  background-image: url(../assets/img/recruit/rec-info/icon2.svg);
}
@media screen and (max-width: 828px) {
  .rec-info-page .item:nth-child(2)::after {
    width: 88px;
    height: 141px;
  }
}
.rec-info-page .item__heading {
  font-size: 18px;
  letter-spacing: 0.09em;
  line-height: 1.7222222222;
  font-weight: 700;
}
@media screen and (max-width: 828px) {
  .rec-info-page .item__heading {
    font-size: 38px;
  }
}
.rec-info-page .item__lead {
  font-size: 22px;
  letter-spacing: 0.06em;
  background-image: url(../assets/img/recruit/rec-info/deco1.svg);
  background-size: cover;
  width: 125px;
  height: 35.2px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-bottom: 5px;
  margin-top: 25px;
  text-transform: uppercase;
}
@media screen and (max-width: 828px) {
  .rec-info-page .item__lead {
    font-size: 40px;
    width: 230px;
    height: 64.5px;
  }
}
.rec-info-page .item__contact-text {
  margin-top: 15px;
  font-size: 24px;
  line-height: 1.5833333333;
  letter-spacing: 0.03em;
  position: relative;
  font-weight: 300;
}
@media screen and (max-width: 828px) {
  .rec-info-page .item__contact-text {
    font-size: 43px;
  }
}
.rec-info-page .item__contact-text::after {
  position: absolute;
  background-image: url(../assets/img/recruit/rec-info/arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  width: 32px;
  height: 7.6px;
  bottom: 10px;
  right: 10px;
  content: "";
}
@media screen and (max-width: 828px) {
  .rec-info-page .item__contact-text::after {
    width: 78.7px;
    height: 18.7px;
  }
}
.rec-info-page .item__tel-number {
  font-size: 38px;
  letter-spacing: 0.08em;
  margin-top: 15px;
  font-weight: 700;
}
.rec-info-page .item__tel-text {
  font-size: 15px;
  line-height: 2;
  letter-spacing: 0.08em;
  margin-top: 20px;
}

.rec-message-page {
  overflow: hidden;
}
.rec-message-page .text {
  font-size: 16px;
  letter-spacing: 0.04em;
  line-height: 1.8;
  color: #084C61;
  margin-top: 21px;
  text-align: justify;
}
.rec-message-page .text span {
  font-weight: 700;
}
@media screen and (max-width: 828px) {
  .rec-message-page .text {
    font-size: 32px;
    line-height: 1.625;
    margin-top: 30px;
    text-align: justify;
  }
}
.rec-message-page .message {
  margin-top: 184px;
  margin-bottom: 166px;
  padding-bottom: 214px;
  background-color: rgba(72, 156, 181, 0.2);
}
@media screen and (max-width: 828px) {
  .rec-message-page .message {
    padding-bottom: 100px;
    margin-bottom: 315px;
  }
}
.rec-message-page .inner.message__inner {
  padding-top: 113px;
}
@media screen and (max-width: 828px) {
  .rec-message-page .inner.message__inner {
    padding: 113px 30px 0;
  }
}
.rec-message-page .lead__heading {
  font-size: 58px;
  letter-spacing: 0.03em;
  color: #084C61;
  font-weight: 300;
}
@media screen and (max-width: 828px) {
  .rec-message-page .lead__heading {
    font-size: 70px;
  }
}
.rec-message-page .lead__text {
  margin-top: 15px;
}
@media screen and (max-width: 828px) {
  .rec-message-page .lead__text {
    margin-top: 40px;
  }
}
.rec-message-page .message__contents {
  display: flex;
  margin-left: auto;
  margin-top: 50px;
  padding-bottom: 66px;
  width: calc(50vw + 500px);
  min-width: 1040px;
}
@media screen and (max-width: 828px) {
  .rec-message-page .message__contents {
    flex-direction: column;
    width: 751px;
    min-width: initial;
    margin: 50px auto 0;
    margin-top: 60px;
    padding-bottom: 140px;
  }
}
.rec-message-page .message__head {
  width: 710px;
  padding-right: 60px;
}
@media screen and (max-width: 828px) {
  .rec-message-page .message__head {
    padding-right: 0;
    width: 100%;
  }
}
.rec-message-page .message__number {
  font-size: 36px;
  letter-spacing: 0.03em;
  color: #084C61;
  font-weight: 300;
}
@media screen and (max-width: 828px) {
  .rec-message-page .message__number {
    font-size: 50px;
    padding-left: 30px;
  }
}
.rec-message-page .message__heading {
  font-size: 72px;
  line-height: 1.1111111111;
  color: #489CB5;
  font-family: "Source Sans 3", sans-serif;
  font-style: italic;
  white-space: nowrap;
  background-image: url(../assets/img/recruit/rec-message/bg1.svg);
  background-repeat: no-repeat;
  background-size: cover;
  aspect-ratio: 640/280;
  display: flex;
  justify-content: center;
  margin-top: 20px;
  padding-top: 50px;
}
@media screen and (max-width: 828px) {
  .rec-message-page .message__heading {
    font-size: 85px;
    padding-top: 60px;
    margin-top: 40px;
  }
}
@media screen and (max-width: 828px) {
  .rec-message-page .message__text {
    padding: 0 30px;
  }
}
.rec-message-page .message__img {
  width: calc(100% - 710px);
  min-width: 360px;
}
.rec-message-page .message__img img {
  -o-object-position: left center;
     object-position: left center;
}
@media screen and (max-width: 828px) {
  .rec-message-page .message__img {
    width: 100%;
    min-width: initial;
    margin-top: 60px;
    transform: translateX(35px);
  }
}
.rec-message-page .message__contents.n2 {
  margin-left: 0;
  margin-top: 0;
  padding-top: 72px;
  position: relative;
}
@media screen and (max-width: 828px) {
  .rec-message-page .message__contents.n2 {
    flex-direction: column-reverse;
    margin: 0 auto;
    padding-top: 100px;
  }
}
.rec-message-page .message__contents.n2::after {
  position: absolute;
  content: "";
  top: 0;
  right: 0;
  border-bottom: 1px dotted #489CB5;
  width: 1000px;
  height: 1px;
}
@media screen and (max-width: 828px) {
  .rec-message-page .message__contents.n2::after {
    width: 100%;
  }
}
.rec-message-page .message__contents.n2 .message__head {
  width: 600px;
  padding-right: 0;
  padding-left: 60px;
}
@media screen and (max-width: 828px) {
  .rec-message-page .message__contents.n2 .message__head {
    width: 751px;
    padding-left: 0;
  }
}
.rec-message-page .message__contents.n2 .message__heading {
  background-image: url(../assets/img/recruit/rec-message/bg2.svg);
  aspect-ratio: 534/280;
}
@media screen and (max-width: 828px) {
  .rec-message-page .message__contents.n2 .message__heading {
    font-size: 100px;
  }
}
.rec-message-page .message__contents.n2 .message__img {
  width: calc(100% - 600px);
  min-width: 480px;
}
@media screen and (max-width: 828px) {
  .rec-message-page .message__contents.n2 .message__img {
    width: 100%;
    min-width: initial;
    margin-top: 60px;
    transform: translateX(-35px);
  }
}
.rec-message-page .message__contents.n2 .message__img img {
  -o-object-position: right center;
     object-position: right center;
}

.recruit-page {
  overflow: hidden;
}
.recruit-page .lead {
  padding-top: 160px;
}
.recruit-page .lead__heading {
  font-size: 58px;
  letter-spacing: 0.03em;
  color: #084C61;
  font-weight: 300;
}
@media screen and (max-width: 828px) {
  .recruit-page .lead__heading {
    font-size: 70px;
  }
}
.recruit-page .lead__text {
  margin-top: 30px;
  color: #084C61;
  line-height: 1.5;
}
@media screen and (max-width: 828px) {
  .recruit-page .lead__text {
    font-size: 32px;
  }
}
.recruit-page .items {
  padding-top: 110px;
  padding-bottom: 184px;
}
@media screen and (max-width: 828px) {
  .recruit-page .items {
    padding-top: 140px;
    padding-bottom: 380px;
  }
}
.recruit-page .items__inner {
  padding: 70px 30px 100px;
  border-top: 2px solid #084C61;
  border-bottom: 2px solid #084C61;
}
@media screen and (max-width: 828px) {
  .recruit-page .items__inner {
    padding: 110px 30px 180px;
  }
}

.klc-page {
  overflow: hidden;
  /* works レイアウトは共通化した。基準は klc-page */
}
.klc-page .heading {
  font-size: 36px;
  letter-spacing: 0.04em;
  color: #084C61;
  font-weight: 300;
}
@media screen and (max-width: 828px) {
  .klc-page .heading {
    font-size: 50px;
  }
}
.klc-page .text {
  font-size: 16px;
  letter-spacing: 0.04em;
  line-height: 1.8;
  color: #084C61;
  margin-top: 21px;
}
@media screen and (max-width: 828px) {
  .klc-page .text {
    font-size: 32px;
    line-height: 1.625;
    margin-top: 30px;
    text-align: justify;
  }
}
.klc-page .sub {
  font-size: 22px;
  color: #489CB5;
  line-height: 1.4545454545;
  letter-spacing: 0.04em;
  margin-top: 25px;
  font-weight: 500;
}
@media screen and (max-width: 828px) {
  .klc-page .sub {
    font-size: 40px;
    margin-top: 45px;
  }
}
.klc-page .lead {
  padding-top: 180px;
}
.klc-page .inner.lead__inner {
  width: 697px;
}
.klc-page .lead__heading img {
  width: 193px;
  height: 67px;
}
@media screen and (max-width: 828px) {
  .klc-page .lead__heading img {
    width: 287px;
    height: 100px;
  }
}
.klc-page .lead__heading span {
  display: block;
  margin-top: 20px;
  font-weight: 300;
}
@media screen and (max-width: 828px) {
  .klc-page .lead__heading span {
    margin-top: 30px;
  }
}
.klc-page .lead__text.text {
  margin-top: 31px;
}
@media screen and (max-width: 828px) {
  .klc-page .lead__text.text {
    margin-top: 50px;
  }
}
.klc-page .flow {
  margin-top: 60px;
  background-color: rgba(72, 156, 181, 0.2);
}
.klc-page .inner.flow__inner {
  position: relative;
  padding-top: 100px;
  padding-bottom: 110px;
}
@media screen and (max-width: 828px) {
  .klc-page .inner.flow__inner {
    padding-top: 75px;
    padding-bottom: 100px;
  }
}
.klc-page .btn.flow__heading {
  width: 149px;
  height: 39px;
  text-transform: uppercase;
  padding-left: 7px;
  font-weight: 700;
}
@media screen and (max-width: 828px) {
  .klc-page .btn.flow__heading {
    width: 252px;
    height: 66px;
    font-size: 24px;
    padding-left: 30px;
  }
}
.klc-page .flow__figure {
  margin-top: 34px;
}
.klc-page .works__line {
  position: absolute;
  width: calc(100% + 60px);
  height: 2px;
  background-color: #489CB5;
  top: -70px;
  left: -30px;
}
@media screen and (max-width: 828px) {
  .klc-page .works__line {
    top: -110px;
  }
}
.klc-page .works__contents.save {
  border: none;
  position: relative;
}
.klc-page .works__contents.save .works__sub-title {
  margin-top: 0;
}
.klc-page .works__contents.save .works__item {
  margin-top: 80px;
}

.others-page {
  overflow: hidden;
  /* works レイアウトは共通化した。基準は klc-page */
}
.others-page .heading {
  font-size: 36px;
  letter-spacing: 0.04em;
  color: #084C61;
  font-weight: 300;
}
@media screen and (max-width: 828px) {
  .others-page .heading {
    font-size: 53px;
  }
}
.others-page .sub {
  font-size: 22px;
  color: #489CB5;
  line-height: 1.4545454545;
  letter-spacing: 0.04em;
  margin-top: 25px;
  font-weight: 500;
}
@media screen and (max-width: 828px) {
  .others-page .sub {
    font-size: 40px;
    margin-top: 45px;
  }
}
.others-page .text {
  font-size: 16px;
  letter-spacing: 0.04em;
  line-height: 1.8;
  color: #084C61;
  margin-top: 21px;
  text-align: justify;
}
@media screen and (max-width: 828px) {
  .others-page .text {
    font-size: 32px;
    line-height: 1.625;
    margin-top: 30px;
  }
}
.others-page .lead {
  padding-top: 157px;
}
@media screen and (max-width: 828px) {
  .others-page .lead {
    padding-top: 180px;
  }
}
.others-page .lead__title {
  font-size: 58px;
  letter-spacing: 0.03em;
  color: #489CB5;
  line-height: 1.1;
  font-weight: 300;
}
@media screen and (max-width: 828px) {
  .others-page .lead__title {
    font-size: 70px;
  }
}
.others-page .lead__heading {
  margin-top: 30px;
}
@media screen and (max-width: 828px) {
  .others-page .lead__heading {
    margin-top: 50px;
  }
}
.others-page .works {
  padding-top: 70px;
}
@media screen and (max-width: 828px) {
  .others-page .works {
    padding-top: 140px;
  }
}
.others-page .works__head {
  padding-right: 40px;
}
@media screen and (max-width: 828px) {
  .others-page .works__head {
    padding-right: 0;
  }
}
.others-page .works__galleries {
  display: flex;
  justify-content: space-between;
  margin-top: 40px;
}
@media screen and (max-width: 828px) {
  .others-page .works__galleries {
    flex-wrap: wrap;
  }
}
.others-page .works__gallery {
  width: 211px;
}
@media screen and (max-width: 828px) {
  .others-page .works__gallery {
    width: 332px;
  }
  .others-page .works__gallery:nth-child(n+3) {
    margin-top: 70px;
  }
}
.others-page .works__description {
  color: #084C61;
  font-size: 16px;
  letter-spacing: 0.04em;
  margin-top: 5px;
}
@media screen and (max-width: 828px) {
  .others-page .works__description {
    font-size: 32px;
  }
}

.service-page {
  overflow: hidden;
}
.service-page .service {
  margin-top: 169px;
  margin-bottom: 194px;
}
@media screen and (max-width: 828px) {
  .service-page .service {
    margin-top: 212px;
    margin-bottom: 308px;
  }
}
.service-page .inner.service__inner {
  padding: 75px 0;
}
@media screen and (max-width: 828px) {
  .service-page .inner.service__inner {
    padding: 100px 0;
  }
}
.service-page .cards {
  justify-content: space-between;
}
@media screen and (max-width: 828px) {
  .service-page .cards {
    flex-direction: column;
  }
}
.service-page .service__card-wrapper {
  width: 314px;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 828px) {
  .service-page .service__card-wrapper {
    width: 100%;
  }
}
.service-page .service__card-wrapper:nth-child(1) .card {
  background-image: url(../assets/img/top/card-bg1.jpg);
}
.service-page .service__card-wrapper:nth-child(2) .card {
  background-image: url(../assets/img/top/card-bg2.jpg);
}
.service-page .service__card-wrapper:nth-child(3) .card {
  background-image: url(../assets/img/top/card-bg3.jpg);
}
.service-page .card {
  height: 100%;
}
@media screen and (max-width: 828px) {
  .service-page .card {
    width: 100%;
  }
}
.service-page .card__link {
  width: 275px;
  height: 52px;
  margin: 20px auto 0;
  border: 1px solid #FFFFFF;
  display: flex;
  justify-content: center;
  font-weight: 500;
  transition: opacity 0.3s ease 0s;
}
.service-page .card__link:hover {
  opacity: 0.7;
}
@media screen and (max-width: 828px) {
  .service-page .service__card-wrapper:not(:first-child) {
    margin-top: 100px;
  }
  .service-page .card {
    padding-bottom: 40px;
  }
  .service-page .card__head {
    justify-content: center;
  }
  .service-page .card__number {
    font-size: 175px;
  }
  .service-page .card__heading {
    margin-top: 12px;
  }
  .service-page .card__heading-en {
    font-size: 85px;
  }
  .service-page .card__heading-ja {
    font-size: 39px;
  }
  .service-page .card__body {
    padding-left: 290px;
  }
  .service-page .card__text {
    font-size: 32px;
  }
  .service-page .card__link {
    width: 570px;
    height: 88px;
    font-size: 31px;
  }
  .service-page .card__link::after {
    border-width: 8px 0 8px 16px;
    margin-left: 20px;
  }
}

.transport-page {
  overflow: hidden;
}
.transport-page .transport__heading {
  font-size: 58px;
  letter-spacing: 0.03em;
  color: #489CB5;
  margin-top: 157px;
  font-weight: 300;
}
@media screen and (max-width: 828px) {
  .transport-page .transport__heading {
    margin-top: 170px;
    font-size: 70px;
  }
}
.transport-page .car {
  padding-top: 30px;
}
@media screen and (max-width: 828px) {
  .transport-page .car {
    padding-top: 53px;
  }
}
.transport-page .car__heading {
  font-size: 36px;
  letter-spacing: 0.04em;
  color: #084C61;
  font-weight: 300;
}
@media screen and (max-width: 828px) {
  .transport-page .car__heading {
    font-size: 53px;
  }
}
.transport-page .car__text {
  letter-spacing: 0.04em;
  color: #084C61;
  line-height: 1.4375;
  margin-top: 31px;
}
@media screen and (max-width: 828px) {
  .transport-page .car__text {
    margin-top: 38px;
    font-size: 32px;
    line-height: 1.625;
  }
}
.transport-page .car__figure {
  padding: 41px 0 67px;
  margin-top: 36px;
  background-color: rgba(72, 156, 181, 0.2);
}
.transport-page .car__figure img {
  width: 1000px;
  margin: 0 auto;
}
@media screen and (max-width: 828px) {
  .transport-page .car__figure img {
    width: 751px;
  }
}
.transport-page .general {
  padding-top: 100px;
}
@media screen and (max-width: 828px) {
  .transport-page .general {
    padding-top: 122px;
  }
}
.transport-page .general__heading {
  font-size: 36px;
  letter-spacing: 0.04em;
  color: #084C61;
  font-weight: 300;
}
@media screen and (max-width: 828px) {
  .transport-page .general__heading {
    font-size: 53px;
  }
}
.transport-page .general__text {
  letter-spacing: 0.04em;
  color: #084C61;
  line-height: 1.4375;
  margin-top: 31px;
  white-space: nowrap;
}
@media screen and (max-width: 828px) {
  .transport-page .general__text {
    white-space: initial;
    margin-top: 38px;
    font-size: 32px;
    line-height: 1.625;
  }
}
.transport-page .general__contents {
  display: flex;
  margin-left: auto;
  margin-top: 50px;
  width: calc(50vw + 500px);
  min-width: 1040px;
}
@media screen and (max-width: 828px) {
  .transport-page .general__contents {
    flex-direction: column;
    width: initial;
    min-width: initial;
  }
}
.transport-page .general__items {
  width: 500px;
  border-top: 2px solid #489CB5;
  border-bottom: 2px solid #489CB5;
}
@media screen and (max-width: 828px) {
  .transport-page .general__items {
    width: 751px;
    margin: 0 auto;
  }
}
.transport-page .general__item {
  display: flex;
  align-items: center;
  padding: 30px 0;
}
.transport-page .general__item:not(:first-child) {
  border-top: 1px dotted #489CB5;
}
.transport-page .general__item dt {
  width: 160px;
  padding-left: 30px;
  letter-spacing: 0.08em;
  color: #489CB5;
  font-weight: 700;
}
@media screen and (max-width: 828px) {
  .transport-page .general__item dt {
    font-size: 32px;
    width: 235px;
    padding-left: 15px;
  }
}
.transport-page .general__item dd {
  width: calc(100% - 160px);
  position: relative;
  padding-left: 50px;
}
@media screen and (max-width: 828px) {
  .transport-page .general__item dd {
    width: calc(100% - 235px);
  }
}
.transport-page .general__item dd::after {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  height: 100%;
  width: 2px;
  background-color: #489CB5;
}
.transport-page .general__item:nth-child(1) img {
  width: 287px;
  transform: translateX(-28px);
}
@media screen and (max-width: 828px) {
  .transport-page .general__item:nth-child(1) img {
    width: 438px;
  }
}
.transport-page .general__item:nth-child(2) img {
  width: 219px;
  transform: translateX(-8px);
}
@media screen and (max-width: 828px) {
  .transport-page .general__item:nth-child(2) img {
    width: 368px;
  }
}
.transport-page .general__item:nth-child(3) img {
  width: 176px;
}
@media screen and (max-width: 828px) {
  .transport-page .general__item:nth-child(3) img {
    width: 296px;
  }
}
.transport-page .general__item:nth-child(4) img {
  width: 176px;
}
@media screen and (max-width: 828px) {
  .transport-page .general__item:nth-child(4) img {
    width: 296px;
  }
}
.transport-page .general__item:nth-child(5) img {
  width: 100px;
}
@media screen and (max-width: 828px) {
  .transport-page .general__item:nth-child(5) img {
    width: 168px;
  }
}
.transport-page .gereral__img {
  width: 50vw;
  min-width: 540px;
  padding-left: 45px;
}
@media screen and (max-width: 828px) {
  .transport-page .gereral__img {
    width: 100%;
    min-width: initial;
    padding-left: 0;
    margin-top: 32px;
  }
}
.transport-page .sea {
  padding-top: 121px;
  padding-bottom: 200px;
}
@media screen and (max-width: 828px) {
  .transport-page .sea {
    padding-top: 135px;
    padding-bottom: 300px;
  }
}
.transport-page .sea__heading {
  font-size: 36px;
  letter-spacing: 0.04em;
  color: #084C61;
  font-weight: 300;
}
@media screen and (max-width: 828px) {
  .transport-page .sea__heading {
    font-size: 53px;
  }
}
.transport-page .sea__text {
  letter-spacing: 0.04em;
  color: #084C61;
  line-height: 1.4375;
  margin-top: 31px;
}
@media screen and (max-width: 828px) {
  .transport-page .sea__text {
    margin-top: 38px;
    font-size: 32px;
    line-height: 1.625;
  }
}
.transport-page .sea__contents {
  display: flex;
  margin-right: auto;
  margin-top: 50px;
  width: calc(50vw + 500px);
  min-width: 1040px;
}
@media screen and (max-width: 828px) {
  .transport-page .sea__contents {
    width: initial;
    min-width: initial;
  }
}
.transport-page .sea__img {
  min-width: 540px;
  width: 50vw;
  position: relative;
  z-index: 10;
  left: 0;
}
@media screen and (max-width: 828px) {
  .transport-page .sea__img {
    width: 34.7826086957%;
    min-width: initial;
  }
}
.transport-page .sea__img img {
  -o-object-position: right top;
     object-position: right top;
}
@media screen and (max-width: 828px) {
  .transport-page .sea__img img {
    -o-object-position: 87% 50%;
       object-position: 87% 50%;
  }
}
.transport-page .sea__figure {
  width: 600px;
}
@media screen and (max-width: 828px) {
  .transport-page .sea__figure {
    width: 65.2173913043%;
  }
}

.top-page {
  /* fv -------------------------------------------------------------------------------------------------------------------------------------- */
  /* about -------------------------------------------------------------------------------------------------------------------------------------- */
  /* service -------------------------------------------------------------------------------------------------------------------------------------- */
  /* service の pc 版のレイアウトのみ共通化 (基準はトップページ)*/
  /* csr -------------------------------------------------------------------------------------------------------------------------------------- */
  /* CSR のカードレイアウトは links として共通化 (基準は CSR ページ) */
  /* recruit -------------------------------------------------------------------------------------------------------------------------------------- */
  /* imges -------------------------------------------------------------------------------------------------------------------------------------- */
}
.top-page .heading {
  font-size: 84px;
  font-family: "Source Sans 3", sans-serif;
  font-style: italic;
}
@media screen and (max-width: 828px) {
  .top-page .heading {
    font-size: 114px;
  }
}
.top-page .fv {
  margin-top: -100px;
  position: relative;
  height: 100vh;
  width: 100%;
}
@media screen and (max-width: 828px) {
  .top-page .fv {
    margin-top: -153px;
  }
}
.top-page .swiper.fv__swiper {
  height: 100%;
}
@media screen and (max-width: 828px) {
  .top-page .fv__swiper-slide .position {
    -o-object-position: 70% 50%;
       object-position: 70% 50%;
  }
}
.top-page .fv__message {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 30px;
  z-index: 10;
  font-size: 45px;
  color: #FFFFFF;
  font-weight: 700;
  width: 100%;
  text-align: center;
}
@media screen and (max-width: 828px) {
  .top-page .fv__message {
    font-size: 60px;
    line-height: 1.5;
  }
}
.top-page .wrapper {
  overflow: hidden;
}
.top-page .about {
  margin-top: 166px;
  width: 100%;
}
.top-page .about__inner {
  display: flex;
  margin-left: auto;
  background-color: #FFF;
  position: relative;
  width: 80.4166666667%;
  min-width: 1000px;
  max-width: 1544px;
}
.top-page .about__inner[data-aos^=fade][data-aos^=fade].aos-animate {
  transform: initial;
}
.top-page .about__inner::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 14px;
  background-color: #489CB5;
}
.top-page .about__inner::after {
  position: absolute;
  content: "";
  width: 82.3186528497%;
  height: 95.1576576577%;
  top: 136px;
  left: -6.7357512953%;
  background-color: #084C61;
  z-index: -10;
}
@media screen and (max-width: 828px) {
  .top-page .about__inner::after {
    width: 680px;
    top: 227px;
    left: -60px;
    height: 91.2190565156%;
  }
}
@media screen and (max-width: 828px) {
  .top-page .about__inner {
    width: 768px;
    min-width: initial;
  }
}
.top-page .about__contents {
  display: flex;
  width: 100%;
}
@media screen and (max-width: 828px) {
  .top-page .about__contents {
    flex-direction: column-reverse;
  }
}
.top-page .about__message {
  width: 550px;
  background-color: rgba(72, 156, 181, 0.2);
  padding: 100px 85px;
}
@media screen and (max-width: 828px) {
  .top-page .about__message {
    width: 100%;
    padding-top: 100px;
    padding-bottom: 132px;
    padding-right: 0;
  }
}
.top-page .heading.about__heading {
  color: #084C61;
}
.top-page .about__lead {
  margin-top: 10px;
  color: #084C61;
  font-size: 36px;
  line-height: 1.3333333333;
  font-weight: 300;
}
@media screen and (max-width: 828px) {
  .top-page .about__lead {
    margin-top: 15px;
    font-size: 55px;
  }
}
.top-page .about__text {
  margin-top: 15px;
  color: #084C61;
  line-height: 2;
}
@media screen and (max-width: 828px) {
  .top-page .about__text {
    margin-top: 25px;
    font-size: 32px;
    line-height: 1.625;
  }
}
.top-page .btn.about__btn {
  margin-top: 25px;
  width: 362px;
  height: 52px;
  font-weight: 700;
  color: #FFFFFF;
}
@media screen and (max-width: 828px) {
  .top-page .btn.about__btn {
    width: 600px;
    height: 90px;
    margin-top: 50px;
    font-size: 28px;
  }
}
.top-page .btn.about__btn span {
  font-weight: 500;
}
@media screen and (max-width: 828px) {
  .top-page .btn.about__btn span {
    font-weight: 700;
    font-size: 30px;
    display: block;
    margin-left: 20px;
  }
}
.top-page .btn.about__btn::before {
  width: 175px;
}
@media screen and (max-width: 828px) {
  .top-page .btn.about__btn::before {
    width: 251px;
    margin-right: 20px;
  }
}
.top-page .about__picture {
  width: 362px;
  margin-top: 36px;
}
@media screen and (max-width: 828px) {
  .top-page .about__picture {
    width: 600px;
    margin-top: 45px;
  }
}
.top-page .about__img {
  width: calc(100% - 550px);
  height: 100%;
  margin: 0;
}
@media screen and (max-width: 828px) {
  .top-page .about__img {
    width: 100%;
  }
}
.top-page .service {
  margin-top: 260px;
}
.top-page .service__inner {
  width: 80.4166666667%;
  min-width: 1000px;
  max-width: 1544px;
  position: relative;
}
.top-page .service__inner::after {
  position: absolute;
  content: "";
  width: 82.3186528497%;
  min-width: 1090px;
  height: 111.2048192771%;
  top: 136px;
  right: -6.7357512953%;
  background-color: rgba(72, 156, 181, 0.2);
  z-index: -10;
}
@media screen and (max-width: 828px) {
  .top-page .service__inner::after {
    width: 676px;
    min-width: initial;
    right: -60px;
    top: 200px;
    height: 2548px;
  }
}
.top-page .service__inner::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 14px;
  background-color: #084C61;
}
@media screen and (max-width: 828px) {
  .top-page .service__inner {
    width: 768px;
    min-width: initial;
  }
}
.top-page .service__contents {
  display: flex;
}
@media screen and (max-width: 828px) {
  .top-page .service__contents {
    flex-direction: column;
  }
}
.top-page .service__img {
  width: calc(100% - 550px);
  margin: 0;
}
@media screen and (max-width: 828px) {
  .top-page .service__img {
    width: 100%;
  }
}
.top-page .service__message {
  width: 550px;
  padding: 105px 0 172px 72px;
  background-color: #489CB5;
}
@media screen and (max-width: 828px) {
  .top-page .service__message {
    width: 100%;
    padding-top: 80px;
    padding-bottom: 55px;
  }
}
.top-page .heading.service__heading {
  color: #FFFFFF;
}
.top-page .service__lead {
  color: #FFFFFF;
  margin-top: 10px;
  font-size: 36px;
  line-height: 1.3333333333;
  font-weight: 300;
}
@media screen and (max-width: 828px) {
  .top-page .service__lead {
    margin-top: 15px;
    font-size: 55px;
  }
}
.top-page .service__text {
  color: #FFFFFF;
  margin-top: 15px;
  line-height: 2;
}
@media screen and (max-width: 828px) {
  .top-page .service__text {
    margin-top: 25px;
    font-size: 32px;
    line-height: 1.625;
  }
}
.top-page .btn.service__btn {
  margin-top: 32px;
  width: 406px;
  height: 52px;
  font-weight: 700;
}
.top-page .btn.service__btn::before {
  width: 219px;
}
@media screen and (max-width: 828px) {
  .top-page .btn.service__btn::before {
    width: 251px;
    margin-right: 20px;
  }
}
@media screen and (max-width: 828px) {
  .top-page .btn.service__btn {
    width: 600px;
    height: 90px;
    margin-top: 50px;
    font-size: 28px;
  }
}
.top-page .btn.service__btn span {
  font-weight: 500;
}
@media screen and (max-width: 828px) {
  .top-page .btn.service__btn span {
    font-weight: 700;
    font-size: 30px;
    display: block;
    margin-left: 20px;
  }
}
.top-page .service__cards {
  margin-top: -134px;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 828px) {
  .top-page .service__cards {
    margin-top: 60px;
    margin-right: 0;
  }
}
@media screen and (max-width: 828px) {
  .top-page .cards {
    flex-direction: column;
    justify-content: center;
    align-items: flex-end;
  }
  .top-page .card {
    width: 703px;
    margin: 0 auto;
    flex-direction: row;
    padding: 30px 0 30px 40px;
  }
  .top-page .card:not(:first-child) {
    margin-top: 20px;
  }
  .top-page .card__number {
    font-size: 68px;
    margin-top: -8px;
  }
  .top-page .card__heading-en {
    font-size: 56px;
  }
  .top-page .card__heading-ja {
    font-size: 30px;
    transform: translateX(-86px);
  }
  .top-page .card__text {
    font-size: 26px;
  }
  .top-page .card__body {
    padding: 0;
    margin-left: auto;
    width: 286px;
  }
  .top-page .card__link {
    font-size: 24px;
    margin-top: 27px;
    width: -moz-fit-content;
    width: fit-content;
  }
  .top-page .card:last-child .card__link {
    margin-top: 80px;
  }
}
.top-page .csr {
  background-color: rgba(72, 156, 181, 0.2);
  margin-top: 286px;
  position: relative;
}
.top-page .inner.csr__inner {
  padding-top: 148px;
  padding-bottom: 141px;
}
.top-page .csr__head {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 828px) {
  .top-page .csr__head {
    padding: 0 35px;
  }
}
.top-page .heading.csr__heading {
  color: #084C61;
}
.top-page .btn.csr__btn {
  margin-left: auto;
  width: 237px;
  height: 52px;
}
.top-page .btn.csr__btn::before {
  width: 10px;
}
@media screen and (max-width: 828px) {
  .top-page .btn.csr__btn::before {
    width: 40px;
    margin-right: 20px;
  }
}
@media screen and (max-width: 828px) {
  .top-page .btn.csr__btn {
    width: 440px;
    height: 89px;
    font-size: 28px;
  }
}
.top-page .btn.csr__btn span {
  font-weight: 500;
}
@media screen and (max-width: 828px) {
  .top-page .btn.csr__btn span {
    font-weight: 700;
    font-size: 30px;
    display: block;
    margin-left: 0px;
  }
}
.top-page .links {
  margin-top: 65px;
}
@media screen and (max-width: 828px) {
  .top-page .links {
    margin-top: 92px;
  }
}
.top-page .link {
  width: 486px;
}
@media screen and (max-width: 828px) {
  .top-page .link {
    width: 575px;
    margin: 0 auto;
  }
}
.top-page .link__btn {
  margin-top: -15px;
}
.top-page .link__heading::before {
  display: none;
}
.top-page .line-left {
  bottom: -14px;
  top: auto;
}
.top-page .recruit {
  padding-top: 133px;
  padding-bottom: 190px;
}
.top-page .recruit__head {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 828px) {
  .top-page .recruit__head {
    padding: 0 35px 0 0;
  }
}
.top-page .heading.recruit__heading {
  color: #489CB5;
}
.top-page .btn.recruit__btn {
  margin-left: auto;
  width: 204px;
  height: 52px;
}
.top-page .btn.recruit__btn::before {
  width: 10px;
}
@media screen and (max-width: 828px) {
  .top-page .btn.recruit__btn::before {
    width: 20px;
  }
}
@media screen and (max-width: 828px) {
  .top-page .btn.recruit__btn {
    width: 330px;
    height: 89px;
    font-size: 28px;
  }
}
.top-page .btn.recruit__btn span {
  font-weight: 500;
}
@media screen and (max-width: 828px) {
  .top-page .btn.recruit__btn span {
    font-weight: 700;
    font-size: 30px;
    display: block;
    margin-left: 0px;
  }
}
.top-page .recruit__contents {
  display: flex;
  justify-content: space-between;
  margin-top: 64px;
}
@media screen and (max-width: 828px) {
  .top-page .recruit__contents {
    flex-direction: column;
    align-items: center;
  }
}
.top-page .content {
  width: 315px;
}
@media screen and (max-width: 828px) {
  .top-page .content {
    width: 697px;
  }
}
@media screen and (max-width: 828px) {
  .top-page .content:not(:first-child) {
    margin-top: 38px;
  }
}
.top-page .content__head {
  width: 100%;
  height: 202px;
  background-color: #489CB5;
  position: relative;
}
@media screen and (max-width: 828px) {
  .top-page .content__head {
    height: 155px;
  }
}
.top-page .content__head img {
  position: absolute;
  width: 62px;
  height: 62px;
  right: 25px;
  bottom: 20px;
}
@media screen and (max-width: 828px) {
  .top-page .content__head img {
    width: 44px;
    height: 44px;
    top: 50%;
    transform: translateY(-50%);
  }
}
.top-page .content__head img.mail {
  width: 64.55px;
  height: 60.52px;
}
@media screen and (max-width: 828px) {
  .top-page .content__head img.mail {
    width: 40.65px;
    height: 38.11px;
  }
}
@media screen and (max-width: 828px) {
  .top-page .content:nth-child(1) img {
    right: 320px;
  }
  .top-page .content:nth-child(2) img {
    right: 430px;
  }
  .top-page .content:nth-child(3) img {
    right: 360px;
  }
}
.top-page .content__heading {
  padding-top: 25px;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  font-size: 24px;
  font-weight: 300;
}
.top-page .content__heading::before {
  content: "";
  height: 1px;
  width: 19px;
  background-color: #FFFFFF;
  margin-right: 10px;
}
@media screen and (max-width: 828px) {
  .top-page .content__heading {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 36px;
    padding-top: 0;
  }
}
.top-page .btn.content__btn {
  width: 100%;
  height: 52px;
  justify-content: center;
  font-weight: 500;
}
@media screen and (max-width: 828px) {
  .top-page .btn.content__btn {
    justify-content: flex-end;
    padding-right: 35px;
  }
}
.top-page .imges {
  display: flex;
  width: 100%;
  position: relative;
}
.top-page .imges img {
  width: 20%;
}
@media screen and (max-width: 828px) {
  .top-page .imges img {
    width: 33.33%;
  }
}
.top-page .imges::before {
  position: absolute;
  content: "";
  width: calc(500px + 50vw);
  min-width: 1040px;
  height: 14px;
  background-color: #489CB5;
  right: 0;
  top: -14px;
}/*# sourceMappingURL=style.css.map */