@charset "UTF-8";
/*** The new CSS reset - version 1.7.2 (last updated 23.6.2022) ***/
*:where(:not(html, iframe, canvas, img, svg, video):not(svg*, symbol*)) {
  all: unset;
  display: revert;
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0;
}

a,
button {
  cursor: revert;
}

a {
  text-decoration: none !important;
  -webkit-transition-duration: .5s;
          transition-duration: .5s;
}

a:hover {
  opacity: .8;
  -webkit-transition-duration: .5s;
          transition-duration: .5s;
  cursor: pointer;
}

ol,
ul,
menu {
  list-style: none;
  padding-left: 0;
}

img, video {
  max-width: 100%;
  max-height: 100%;
}

table {
  border-collapse: collapse;
}

input,
textarea {
  -webkit-user-select: auto;
}

textarea {
  white-space: revert;
}

meter {
  -webkit-appearance: revert;
  -moz-appearance: revert;
       appearance: revert;
}

::-webkit-input-placeholder {
  color: unset;
}

:-ms-input-placeholder {
  color: unset;
}

::-ms-input-placeholder {
  color: unset;
}

::placeholder {
  color: unset;
}

:where([hidden]) {
  display: none;
}

:where([contenteditable]:not([contenteditable="false"])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  -webkit-user-select: auto;
}

:where([draggable="true"]) {
  -webkit-user-drag: element;
}

/*
====================================
共通
====================================
*/
html {
  overflow-x: hidden;
  overflow-y: initial;
  font-size: 10px;
  letter-spacing: .1em;
}

body {
  overflow-x: hidden;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  background-color: #fff;
  font-family: "Noto Serif", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.wrapper {
  padding-left: 16px;
  padding-right: 16px;
  margin-left: auto;
  margin-right: auto;
  max-width: 1320px;
}

.p {
  font-size: 1.6rem;
  line-height: 2;
}

.pc {
  display: block;
}

.pc-tb {
  display: block;
}

.tb-sp {
  display: none;
}

.sp {
  display: none;
}

@media screen and (max-width: 750px) {
  .p {
    font-size: 1.4rem;
    line-height: 1.7;
  }
  .pc {
    display: none;
  }
  .pc-tb {
    display: none;
  }
  .tb-sp {
    display: block;
  }
  .sp {
    display: block;
  }
  .wrapper {
    padding-left: 16px;
    padding-right: 16px;
  }
}

/*
====================================
モジュール
====================================
*/
.m_sectiontitle .eng {
  display: inline-block;
}

.m_sectiontitle .eng img {
  width: 100%;
}

.m_sectiontitle .jpn {
  margin-top: -2px;
  font-size: 2.8rem;
  color: #000;
}

.m_sectiontitle--top-message .eng {
  width: 238px;
}

.m_sectiontitle--top-recruit .eng {
  width: 238px;
}

.m_sectiontitle--top-news .eng {
  width: 184px;
}

.m_sectiontitle--top-instagram .eng {
  width: 308px;
}

.m_sectiontitle--contact .eng {
  width: 260px;
}

.m_sectiontitle02 .box {
  padding: 8px 32px;
  display: inline-block;
  background-color: #1D2B6C;
}

.m_sectiontitle02 .box .heading {
  font-size: 2.8rem;
  color: #fff;
}

.m_lowerpageheader {
  position: relative;
  height: 22vw;
  width: 100%;
  background-size: cover;
  background-position: center;
}

.m_lowerpageheader--service {
  background-image: url("../img/service/header.jpg");
}

.m_lowerpageheader--company {
  background-image: url("../img/company/header.jpg");
}

.m_lowerpageheader--contact {
  background-image: url("../img/contact/header.jpg");
}

.m_lowerpageheader::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  opacity: .7;
}

.m_lowerpageheader__inner {
  position: relative;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
}

.m_lowerpageheader__inner .content {
  width: 100%;
}

.m_lowerpageheader__inner .content .eng {
  display: block;
  text-align: center;
  width: 100%;
  font-size: 8rem;
  color: #1D2B6C;
  font-family: "Noto Serif", serif;
  font-optical-sizing: auto;
  font-weight: 400;
}

.m_lowerpageheader__inner .content .title {
  margin-top: 8px;
  display: block;
  text-align: center;
  width: 100%;
  font-size: 2.8rem;
  font-family: "Noto Serif", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  color: #1D2B6C;
}

.m_lowerpageheader__inner .content .title::before {
  content: "-";
}

.m_lowerpageheader__inner .content .title::after {
  content: "-";
}

.m_tablelayout table {
  width: 100%;
}

.m_tablelayout table tbody tr {
  border-bottom: solid 1px #ddd;
}

.m_tablelayout table tbody tr th {
  min-width: 160px;
  padding-right: 16px;
  padding-top: 24px;
  padding-bottom: 24px;
  text-align: center;
  font-size: 2rem;
  font-weight: 400;
  letter-spacing: .1em;
  line-height: 2;
  color: #1D2B6C;
}

.m_tablelayout table tbody tr td {
  padding-top: 24px;
  padding-bottom: 24px;
  font-size: 2rem;
  line-height: 2;
  letter-spacing: .1em;
  color: #000;
}

.m_tablelayout table tbody tr td ul {
  padding-left: 16px;
}

.m_tablelayout table tbody tr td ul li {
  margin-top: 8px;
  padding-left: 8px;
  list-style: "■";
}

.m_tablelayout table tbody tr:first-of-type th {
  padding-top: 0;
}

.m_tablelayout table tbody tr:first-of-type td {
  padding-top: 0;
}

@media screen and (max-width: 750px) {
  .m_sectiontitle .jpn {
    font-size: 1.8rem;
  }
  .m_sectiontitle--top-message .eng {
    width: calc(238px * .8);
  }
  .m_sectiontitle--toppage-service .eng {
    width: calc(225px * .8);
  }
  .m_sectiontitle--toppage-company .eng {
    width: calc(240px * .8);
  }
  .m_sectiontitle--toppage-recruit .eng {
    width: 170px;
  }
  .m_sectiontitle--top-news .eng {
    width: 124px;
  }
  .m_sectiontitle--top-instagram .eng {
    width: 200px;
  }
  .m_sectiontitle--contact .eng {
    width: 150px;
  }
  .m_sectiontitle02 .box {
    padding: 4px 24px;
  }
  .m_sectiontitle02 .box .heading {
    font-size: 2rem;
  }
  .m_lowerpageheader {
    margin-top: 50px;
    height: 32vw;
  }
  .m_lowerpageheader--service {
    background-image: url("../img/service/header.jpg");
  }
  .m_lowerpageheader__inner .content .eng {
    font-size: 4.2rem;
  }
  .m_lowerpageheader__inner .content .title {
    margin-top: 0;
    font-size: 1.6rem;
  }
  .m_tablelayout table tbody tr th {
    display: block;
    width: 100%;
    padding-right: 0;
    padding-top: 20px;
    padding-bottom: 0;
    font-size: 1.6rem;
    line-height: 1.7;
  }
  .m_tablelayout table tbody tr td {
    display: block;
    padding-left: 16px;
    padding-top: 8px;
    padding-bottom: 20px;
    font-size: 1.6rem;
    line-height: 1.7;
  }
  .m_tablelayout table tbody tr:first-of-type th {
    padding-top: 0;
  }
  .m_tablelayout table tbody tr:first-of-type td {
    padding-top: 8px;
  }
}

/*
====================================
ヘッダー
====================================
*/
.header {
  background-color: #fff;
}

.header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.header__left {
  padding-left: 32px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.header__left .logo {
  width: 284px;
}

.header__left .logo img {
  width: 100%;
}

.header__right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: right;
      -ms-flex-pack: right;
          justify-content: right;
}

.header__right nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: right;
      -ms-flex-pack: right;
          justify-content: right;
}

.header__right nav ul li {
  font-size: 1.8rem;
  margin-left: 32px;
}

.header__right nav ul li:first-of-type {
  margin-left: 0;
}

.header__right nav ul li a {
  color: #000;
}

.header__right .btn {
  margin-left: 40px;
}

.header__right .btn a {
  background-color: #1D2B6C;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 78px;
  height: 78px;
}

.header__right .btn a span {
  width: 32px;
  display: inline-block;
}

.header__right .btn a span img {
  width: 100%;
}

@media screen and (max-width: 750px) {
  .header {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 50px;
    z-index: 998;
  }
  .header__inner {
    position: relative;
    z-index: 998;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .header__left {
    padding-left: 6px;
  }
  .header__left .logo {
    width: 155px;
    -webkit-transform: translateY(2px);
            transform: translateY(2px);
  }
  .header__right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: right;
        -ms-flex-pack: right;
            justify-content: right;
  }
  .header__right nav {
    padding: 32px 0;
    position: fixed;
    top: 50px;
    z-index: 999;
    left: 0;
    width: 100%;
    background-color: #1D2B6C;
    opacity: 0;
    pointer-events: none;
  }
  .header__right nav ul {
    padding: 0 24px;
    display: block;
  }
  .header__right nav ul li {
    margin-top: 0;
    font-size: 1.5rem;
    margin-left: 0px;
  }
  .header__right nav ul li:first-of-type {
    margin-left: 0;
    margin-top: 0;
  }
  .header__right nav ul li a {
    padding: 16px 0;
    display: block;
    color: #fff;
    border-bottom: solid 1px #fff;
  }
  .header__right nav ul li:first-of-type a {
    padding-top: 0;
  }
  .header__right nav.show {
    opacity: 1;
    -webkit-transition-duration: .3s;
            transition-duration: .3s;
    -webkit-transition-timing-function: ease-in-out;
            transition-timing-function: ease-in-out;
    pointer-events: initial;
  }
  .header__right .btn {
    position: absolute;
    right: 50px;
    top: 0;
    width: 50px;
    height: 50px;
    margin-left: 0px;
  }
  .header__right .btn a {
    width: 50px;
    height: 50px;
  }
  .header__right .btn a span {
    width: 24px;
  }
  .header__right .ham {
    display: block;
    width: 50px;
    height: 50px;
    position: absolute;
    right: 0;
    top: 0;
  }
  .header__right .ham span {
    display: block;
    position: absolute;
    left: 25%;
    height: 2px;
    width: 50%;
    background-color: #1D2B6C;
  }
  .header__right .ham span:nth-of-type(1) {
    position: absolute;
    top: calc(35% - 1px);
  }
  .header__right .ham span:nth-of-type(2) {
    top: calc(50% - 1px);
  }
  .header__right .ham span:nth-of-type(3) {
    top: calc(65% - 1px);
  }
  .header__right .ham.cross span {
    left: 25%;
  }
  .header__right .ham.cross span:nth-of-type(1) {
    top: calc(50% - 1px);
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .header__right .ham.cross span:nth-of-type(2) {
    opacity: 0;
  }
  .header__right .ham.cross span:nth-of-type(3) {
    top: calc(50% - 1px);
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
}

/*
====================================
トップページ
====================================
*/
.toppage-fv {
  width: 100%;
  height: 50vw;
}

.toppage-fv video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.toppage-message {
  position: relative;
  z-index: 0;
  padding-top: 120px;
  padding-bottom: 160px;
}

.toppage-message::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 0;
  width: 60%;
  height: 34.4vw;
  background-image: url("../img/top/back-buildings.svg");
  background-size: cover;
}

.toppage-message__inner {
  position: relative;
  z-index: 2;
}

.toppage-message__line {
  margin-top: 64px;
  height: 3px;
  width: calc(50% + 257px);
  background-image: -webkit-gradient(linear, left top, right top, from(#34FFFF), to(#29A1FF));
  background-image: linear-gradient(90deg, #34FFFF, #29A1FF);
}

.toppage-message__content-lr {
  margin-top: 64px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.toppage-message__content-lr .left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 70%;
}

.toppage-message__content-lr .left.show {
  opacity: 1;
  -webkit-transition-duration: 1s;
          transition-duration: 1s;
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out;
}

.toppage-message__content-lr .left .image {
  width: 291px;
}

.toppage-message__content-lr .left .txt-gr {
  width: calc(100% - 291px - 82px);
}

.toppage-message__content-lr .left .txt-gr .name {
  margin-top: 32px;
  font-size: 1.6rem;
  text-align: right;
}

.toppage-message__content-lr .left .txt-gr .name span {
  font-size: 1.3rem;
  margin-right: 16px;
}

.toppage-message__content-lr .right {
  width: 30%;
}

.toppage-message__content-lr .right .copy {
  margin-left: auto;
  margin-right: auto;
  width: 65px;
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
}

.toppage-message__content-lr .right .copy img {
  width: 100%;
}

.toppage-message__content-lr .right .copy.show {
  opacity: 1;
  -webkit-transition-duration: .6s;
          transition-duration: .6s;
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out;
  -webkit-transition-delay: .5s;
          transition-delay: .5s;
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
}

.toppage-service {
  background-color: #D0F0FF;
  padding: 120px 0;
  overflow-x: hidden;
}

.toppage-service__top {
  position: relative;
}

.toppage-service__top .toptxt-gr {
  width: 50%;
}

.toppage-service__top .toptxt-gr .heading {
  margin-bottom: 40px;
}

.toppage-service__top .image {
  position: absolute;
  right: -2.5%;
  top: 0;
  width: 40%;
  opacity: 0;
}

.toppage-service__top .image.show {
  right: 0;
  opacity: 1;
  -webkit-transition-duration: .375s;
          transition-duration: .375s;
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
}

.toppage-service__services {
  position: relative;
  margin-top: 120px;
  margin-left: auto;
  margin-right: auto;
  width: 82%;
  opacity: 0;
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
}

.toppage-service__services.show {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition-duration: .5s;
          transition-duration: .5s;
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out;
  -webkit-transition-delay: .5s;
          transition-delay: .5s;
}

.toppage-service__services .circle {
  padding: 272px 0 40px;
  margin-left: auto;
  margin-right: auto;
  width: 45%;
}

.toppage-service__services .btns {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.toppage-service__services .btns .btn {
  position: absolute;
}

.toppage-service__services .btns .btn .icon {
  display: inline-block;
}

.toppage-service__services .btns .btn a {
  margin-top: 13px;
  position: relative;
  padding: 16px 8px;
  text-align: center;
  background-color: #fff;
  border-width: 1.5px;
  border-style: solid;
  border-radius: 50px;
  display: block;
  width: 290px;
  margin-left: auto;
  margin-right: auto;
}

.toppage-service__services .btns .btn a .txt {
  font-size: 1.8rem;
  letter-spacing: .15em;
  font-family: "Noto Sans", serif;
  font-weight: 600;
  font-style: normal;
}

.toppage-service__services .btns .btn a .arrow {
  position: absolute;
  right: 16px;
  top: calc(50% - 14px);
  border-radius: 50%;
  width: 28px;
  height: 28px;
  border-width: 1px;
  border-style: solid;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}

.toppage-service__services .btns .btn a .arrow i {
  font-size: 1.4rem;
}

.toppage-service__services .btns .btn--1 {
  bottom: 0;
  left: -34px;
}

.toppage-service__services .btns .btn--1 .icon {
  -webkit-transform: translateX(104px);
          transform: translateX(104px);
  width: 166px;
}

.toppage-service__services .btns .btn--1 .icon img {
  width: 100%;
}

.toppage-service__services .btns .btn--1 a {
  border-color: #1D2B6C;
  color: #1D2B6C;
}

.toppage-service__services .btns .btn--2 {
  top: 130px;
  left: 0;
}

.toppage-service__services .btns .btn--2 .icon {
  -webkit-transform: translateX(82px);
          transform: translateX(82px);
  width: 186px;
}

.toppage-service__services .btns .btn--2 .icon img {
  width: 100%;
}

.toppage-service__services .btns .btn--2 a {
  border-color: #0049BA;
  color: #0049BA;
}

.toppage-service__services .btns .btn--3 {
  top: 0px;
  left: calc(50% - 145px);
}

.toppage-service__services .btns .btn--3 .icon {
  -webkit-transform: translateX(112px);
          transform: translateX(112px);
  width: 173px;
}

.toppage-service__services .btns .btn--3 .icon img {
  width: 100%;
}

.toppage-service__services .btns .btn--3 a {
  border-color: #0063B2;
  color: #0063B2;
}

.toppage-service__services .btns .btn--4 {
  top: 130px;
  right: 0;
}

.toppage-service__services .btns .btn--4 .icon {
  -webkit-transform: translateX(94px);
          transform: translateX(94px);
  width: 178px;
}

.toppage-service__services .btns .btn--4 .icon img {
  width: 100%;
}

.toppage-service__services .btns .btn--4 a {
  border-color: #008FD3;
  color: #008FD3;
}

.toppage-service__services .btns .btn--5 {
  bottom: 0;
  right: 40px;
}

.toppage-service__services .btns .btn--5 .icon {
  -webkit-transform: translateX(68px);
          transform: translateX(68px);
  width: 207px;
}

.toppage-service__services .btns .btn--5 .icon img {
  width: 100%;
}

.toppage-service__services .btns .btn--5 a {
  border-color: #2ABEF0;
  color: #2ABEF0;
}

.toppage-company {
  position: relative;
  padding: 120px 0 300px;
}

.toppage-company::after {
  content: "";
  position: absolute;
  right: 5%;
  bottom: 0;
  z-index: -1;
  width: 90%;
  height: calc(15.4vw * .9);
  background-image: url("../img/top/back-buildings-city.svg");
  background-size: cover;
}

.toppage-company__top {
  position: relative;
}

.toppage-company__top .toptxt-gr {
  width: 50%;
}

.toppage-company__top .toptxt-gr .heading {
  margin-bottom: 40px;
}

.toppage-company__top .toptxt-gr .desc {
  margin-bottom: 32px;
}

.toppage-company__top .toptxt-gr .btn {
  text-align: left;
}

.toppage-company__top .toptxt-gr .btn a {
  padding: 1px;
  margin-top: 13px;
  position: relative;
  text-align: left;
  background-image: -webkit-gradient(linear, left top, right top, from(#34EBFF), to(#29A1FF));
  background-image: linear-gradient(90deg, #34EBFF, #29A1FF);
  border-radius: 50px;
  display: inline-block;
  width: 320px;
}

.toppage-company__top .toptxt-gr .btn a .inner {
  padding: 16px 40px;
  border-radius: 50px;
  width: 100%;
  height: 100%;
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.toppage-company__top .toptxt-gr .btn a .txt {
  font-size: 1.8rem;
  letter-spacing: .15em;
  font-family: "Noto Sans", serif;
  font-weight: 600;
  font-style: normal;
  color: #51CAFF;
}

.toppage-company__top .toptxt-gr .btn a .arrow {
  border-radius: 50%;
  width: 28px;
  height: 28px;
  border: 1px #51CAFF solid;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}

.toppage-company__top .toptxt-gr .btn a .arrow i {
  font-size: 1.4rem;
  color: #51CAFF;
}

.toppage-company__top .image {
  position: absolute;
  right: -2.5%;
  top: 0;
  width: 40%;
  opacity: 0;
}

.toppage-company__top .image.show {
  right: 0;
  opacity: 1;
  -webkit-transition-duration: .375s;
          transition-duration: .375s;
  -webkit-transition-timing-function: ease-in-out;
          transition-timing-function: ease-in-out;
}

.toppage-recruit {
  position: relative;
  z-index: 0;
  padding: 80px 0 0;
}

.toppage-recruit::after {
  content: "";
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: calc(100% - 100px);
  background-image: -webkit-gradient(linear, right top, left top, from(#34EBFF), to(#29A1FF));
  background-image: linear-gradient(-90deg, #34EBFF, #29A1FF);
}

.toppage-recruit__inner {
  position: relative;
  z-index: 2;
}

.toppage-recruit__top .lr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.toppage-recruit__top .lr .right {
  margin-left: 40px;
}

.toppage-recruit__top .lr .right .desc {
  color: #fff;
  font-size: 2rem;
  letter-spacing: .2em;
}

.toppage-recruit__btn {
  margin-top: 24pxx;
  text-align: right;
}

.toppage-recruit__btn a {
  text-align: left;
  display: inline-block;
  background-image: url("../img/sitelink-arrow.svg");
  background-size: contain;
  background-repeat: no-repeat;
  width: 203px;
  height: 44px;
}

.toppage-recruit__btn a span {
  color: #fff;
  font-size: 1.8rem;
}

.toppage-recruit__image {
  margin-top: 24px;
  -webkit-transform: translateY(25px);
          transform: translateY(25px);
  opacity: 0;
}

.toppage-recruit__image.show {
  right: 0;
  opacity: 1;
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
  -webkit-transition-duration: .5s;
          transition-duration: .5s;
  -webkit-transition-timing-function: ease-in;
          transition-timing-function: ease-in;
}

.toppage-recruit__image img {
  width: 100%;
}

.twocol-layout {
  margin-top: 160px;
  margin-bottom: 120px;
}

.twocol-layout__inner {
  padding: 0 80px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
}

#news {
  width: 45.7%;
}

.toppage-news {
  opacity: 0;
  -webkit-transform: translateY(25px);
          transform: translateY(25px);
}

.toppage-news.show {
  opacity: 1;
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
  -webkit-transition-duration: .5s;
          transition-duration: .5s;
  -webkit-transition-timing-function: ease-in;
          transition-timing-function: ease-in;
}

.toppage-news__heading {
  margin-bottom: 40px;
}

.toppage-news__list {
  margin-top: 32px;
}

.toppage-news__list ul li a {
  padding: 40px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom: #AFAFAF 1px solid;
}

.toppage-news__list ul li a time {
  font-size: 1.7rem;
  color: #000;
}

.toppage-news__list ul li a .title {
  margin-left: 24px;
  font-size: 1.7rem;
  color: #000;
}

.toppage-news__list ul li:first-of-type a {
  border-top: solid 1px #afafaf;
}

#instagram {
  width: 36.7%;
}

.toppage-instagram__feed {
  margin-top: 32px;
}

.toppage-instagram__feed ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.toppage-instagram__feed ul li {
  margin-top: 2%;
  width: 49%;
  aspect-ratio: 1 /1;
  overflow: hidden;
}

.toppage-instagram__feed ul li img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.toppage-instagram {
  opacity: 0;
  -webkit-transform: translateY(25px);
          transform: translateY(25px);
}

.toppage-instagram.show {
  opacity: 1;
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
  -webkit-transition-duration: .5s;
          transition-duration: .5s;
  -webkit-transition-timing-function: ease-in;
          transition-timing-function: ease-in;
}

@media screen and (max-width: 750px) {
  .toppage-fv {
    margin-top: 50px;
    height: 65vw;
  }
  .toppage-fv video {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .toppage-message {
    padding-top: 60px;
    padding-bottom: 80px;
  }
  .toppage-message::after {
    width: 100%;
    height: 56.4vw;
  }
  .toppage-message__line {
    margin-top: 32px;
    height: 1.5px;
    width: calc(90%);
  }
  .toppage-message__content-lr {
    margin-top: 32px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .toppage-message__content-lr .left {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
  .toppage-message__content-lr .left .image {
    width: 70%;
  }
  .toppage-message__content-lr .left .copy {
    text-align: center;
    width: 30%;
    -webkit-transform: translateY(22px);
            transform: translateY(22px);
  }
  .toppage-message__content-lr .left .copy img {
    width: 28%;
  }
  .toppage-message__content-lr .left .txt-gr {
    margin-top: 24px;
    width: 100%;
  }
  .toppage-message__content-lr .left .txt-gr .name {
    margin-top: 16px;
    font-size: 1.4rem;
    text-align: right;
  }
  .toppage-message__content-lr .left .txt-gr .name span {
    font-size: 1.2rem;
    margin-right: 8px;
  }
  .toppage-message__content-lr .right {
    display: none;
  }
  .toppage-service {
    padding: 60px 0;
  }
  .toppage-service__top .toptxt-gr {
    width: 100%;
  }
  .toppage-service__top .toptxt-gr .heading {
    margin-bottom: 40px;
  }
  .toppage-service__top .image {
    margin-top: 32px;
    position: initial;
    margin-right: 0;
    margin-left: auto;
    width: 90%;
  }
  .toppage-service__services {
    margin-top: 64px;
    width: 100%;
  }
  .toppage-service__services .circle {
    padding: 0 0 0px;
    width: 75%;
  }
  .toppage-service__services .btns {
    margin-top: 16px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    position: initial;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
  }
  .toppage-service__services .btns .btn {
    position: initial;
    margin-top: 32px;
    width: 49%;
    margin-left: 2%;
  }
  .toppage-service__services .btns .btn .icon {
    display: inline-block;
  }
  .toppage-service__services .btns .btn:first-of-type, .toppage-service__services .btns .btn:nth-of-type(2n+1) {
    margin-left: 0;
  }
  .toppage-service__services .btns .btn a {
    margin-top: 6px;
    padding: 8px 4px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .toppage-service__services .btns .btn a .txt {
    font-size: 1.4rem;
  }
  .toppage-service__services .btns .btn a .arrow {
    position: absolute;
    right: 14px;
    top: calc(50% - 7px);
    border-radius: 50%;
    width: 14px;
    height: 14px;
    border-width: 1px;
  }
  .toppage-service__services .btns .btn a .arrow i {
    font-size: 1rem;
  }
  .toppage-service__services .btns .btn--1 .icon {
    -webkit-transform: translateX(57%);
            transform: translateX(57%);
    width: 60%;
  }
  .toppage-service__services .btns .btn--2 .icon {
    -webkit-transform: translateX(41%);
            transform: translateX(41%);
    width: 68.7%;
  }
  .toppage-service__services .btns .btn--3 .icon {
    -webkit-transform: translateX(59%);
            transform: translateX(59%);
    width: 61.7%;
  }
  .toppage-service__services .btns .btn--4 .icon {
    -webkit-transform: translateX(55%);
            transform: translateX(55%);
    width: 60.7%;
  }
  .toppage-service__services .btns .btn--5 .icon {
    -webkit-transform: translate(22%, 5%);
            transform: translate(22%, 5%);
    width: 81.7%;
  }
  .toppage-company {
    position: relative;
    padding: 60px 0 90px;
  }
  .toppage-company::after {
    right: 0;
    width: 100%;
    height: calc(15.4vw * 1.1);
  }
  .toppage-company__top .wrapper {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
  .toppage-company__top .toptxt-gr {
    width: 100%;
  }
  .toppage-company__top .toptxt-gr .heading {
    padding-left: 16px;
    padding-right: 16px;
    margin-bottom: 40px;
  }
  .toppage-company__top .toptxt-gr .image {
    margin-top: 32px;
    position: initial;
    margin-right: 0;
    margin-left: auto;
    width: 80%;
  }
  .toppage-company__top .toptxt-gr .desc {
    margin-top: 40px;
    margin-bottom: 16;
    margin-left: auto;
    margin-right: auto;
    width: 90%;
  }
  .toppage-company__top .toptxt-gr .btn {
    text-align: center;
  }
  .toppage-company__top .toptxt-gr .btn a {
    width: 200px;
  }
  .toppage-company__top .toptxt-gr .btn a .inner {
    padding: 8px 32px;
  }
  .toppage-company__top .toptxt-gr .btn a .txt {
    font-size: 1.4rem;
  }
  .toppage-company__top .toptxt-gr .btn a .arrow {
    border-radius: 50%;
    width: 18px;
    height: 18px;
  }
  .toppage-company__top .toptxt-gr .btn a .arrow i {
    font-size: 1.1rem;
    color: #51CAFF;
  }
  .toppage-recruit {
    padding: 40px 0 0;
  }
  .toppage-recruit::after {
    height: calc(100% - 50px);
  }
  .toppage-recruit__top .lr {
    display: block;
  }
  .toppage-recruit__top .lr .right {
    margin-left: 0px;
  }
  .toppage-recruit__top .lr .right .desc {
    margin-top: 32px;
    font-size: 1.5rem;
  }
  .toppage-recruit__btn {
    margin-top: 8px;
  }
  .toppage-recruit__btn a {
    background-image: url("../img/sitelink-arrow.svg");
    width: calc(203px * .7);
    height: calc(44px * .7);
  }
  .toppage-recruit__btn a span {
    font-size: 1.5rem;
  }
  .toppage-recruit__image {
    margin-top: 24px;
  }
  .toppage-recruit__image img {
    width: 100%;
  }
  .twocol-layout {
    margin-top: 80px;
    margin-bottom: 120px;
  }
  .twocol-layout__inner {
    padding: 0 0px;
    display: block;
  }
  #news {
    width: 100%;
  }
  .toppage-news__heading {
    margin-bottom: 24px;
  }
  .toppage-news__list ul li a {
    padding: 24px 0;
  }
  .toppage-news__list ul li a time {
    font-size: 1.25rem;
  }
  .toppage-news__list ul li a .title {
    margin-left: 16px;
    font-size: 1.4rem;
  }
  #instagram {
    margin-top: 80px;
    width: 100%;
  }
}

/*
====================================
CTA
====================================
*/
.common-cta {
  position: relative;
  z-index: 0;
  padding: 64px 0;
  background-image: url("../img/cta-back.jpg");
  background-size: cover;
  background-position: center;
}

.common-cta::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: .3;
}

.common-cta__inner {
  position: relative;
  z-index: 2;
}

.common-cta__heading {
  margin-bottom: 48px;
  text-align: center;
}

.common-cta__lr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.common-cta__lr .left, .common-cta__lr .right {
  width: 50%;
  text-align: center;
}

.common-cta__lr .left {
  position: relative;
}

.common-cta__lr .left::after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 1px;
  height: 191px;
  background-color: #fff;
}

.common-cta__lr .left .info {
  opacity: 0;
  -webkit-transform: translateY(25px);
          transform: translateY(25px);
}

.common-cta__lr .left .info.show {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition-duration: .5s;
          transition-duration: .5s;
  opacity: 1;
}

.common-cta__lr .right .info {
  opacity: 0;
  -webkit-transform: translateY(25px);
          transform: translateY(25px);
}

.common-cta__lr .right .info.show {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition-duration: .5s;
          transition-duration: .5s;
  opacity: 1;
  -webkit-transition-delay: .5s;
          transition-delay: .5s;
}

.common-cta__lr .icon {
  display: inline-block;
}

.common-cta__lr .icon--tel {
  width: 40px;
}

.common-cta__lr .icon--tel img {
  width: 100%;
}

.common-cta__lr .icon--email {
  width: 56px;
}

.common-cta__lr .icon--email img {
  width: 100%;
}

.common-cta__lr .tel {
  margin-top: 8px;
  display: block;
  text-align: center;
}

.common-cta__lr .tel a {
  font-size: 3.4rem;
  letter-spacing: .2em;
  color: #fff;
}

.common-cta__lr .email-btn {
  margin-top: 24px;
}

.common-cta__lr .email-btn a {
  display: inline-block;
  width: 388px;
  padding: 12px 0;
  text-align: center;
  font-size: 2rem;
  border: solid 2px #fff;
  color: #fff;
}

.common-cta__lr .hour {
  margin-top: 8px;
  font-size: 1.7rem;
  color: #fff;
  display: block;
}

.common-cta__lr .holiday {
  margin-top: 4px;
  font-size: 1.7rem;
  color: #fff;
}

@media screen and (max-width: 750px) {
  .common-cta {
    padding: 56px 0;
  }
  .common-cta__heading {
    margin-bottom: 24px;
    text-align: center;
  }
  .common-cta__lr {
    margin-top: 32px;
    display: block;
  }
  .common-cta__lr .left, .common-cta__lr .right {
    width: 100%;
  }
  .common-cta__lr .left {
    margin-bottom: 32px;
    padding-bottom: 32px;
    position: relative;
  }
  .common-cta__lr .left::after {
    content: "";
    position: absolute;
    right: 0;
    top: initial;
    bottom: 0;
    width: 100%;
    height: 1px;
  }
  .common-cta__lr .icon--tel {
    width: 24px;
  }
  .common-cta__lr .icon--email {
    width: 30px;
  }
  .common-cta__lr .tel {
    margin-top: 8px;
  }
  .common-cta__lr .tel a {
    font-size: 2.2rem;
  }
  .common-cta__lr .email-btn {
    margin-top: 12px;
  }
  .common-cta__lr .email-btn a {
    width: 80%;
    padding: 8px 0;
    font-size: 1.5rem;
  }
  .common-cta__lr .hour {
    margin-top: 8px;
    font-size: 1.7rem;
    color: #fff;
    display: block;
  }
  .common-cta__lr .holiday {
    margin-top: 4px;
    font-size: 1.7rem;
    color: #fff;
  }
}

/*
====================================
サービスページ
====================================
*/
.servicepage-start {
  margin-top: 160px;
}

.servicepage-start__copy {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  width: 50%;
}

.servicepage-start__copy img {
  width: 100%;
}

.servicepage-start__copy::after {
  content: "";
  position: absolute;
  left: -5%;
  bottom: -40px;
  width: 110%;
  height: 2px;
  background-image: -webkit-gradient(linear, left top, right top, from(#29A1FF), color-stop(#34FFFF), to(#29A1FF));
  background-image: linear-gradient(90deg, #29A1FF, #34FFFF, #29A1FF);
}

.servicepage-start .desc {
  margin-top: 100px;
  color: #1D2B6C;
}

.servicepage-start .btns {
  margin-top: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.servicepage-start .btns .btn {
  width: 18.5%;
}

.servicepage-start .btns .btn a {
  margin-top: 13px;
  position: relative;
  padding: 16px 8px;
  text-align: center;
  background: -webkit-gradient(linear, left top, right top, color-stop(53%, #29a1ff), to(#34ebff));
  background: linear-gradient(90deg, #29a1ff 53%, #34ebff 100%);
  border-width: 1.5px;
  border-radius: 50px;
  display: block;
  width: 100%;
  -webkit-box-shadow: 0 3px 5px rgba(0, 0, 0, 0.4);
          box-shadow: 0 3px 5px rgba(0, 0, 0, 0.4);
}

.servicepage-start .btns .btn a .txt {
  font-size: 1.8rem;
  letter-spacing: .15em;
  font-family: "Noto Sans", serif;
  font-weight: 600;
  font-style: normal;
  color: #fff;
}

.servicepage-start .btns .btn a .arrow {
  position: absolute;
  right: 16px;
  top: calc(50% - 14px);
  border-radius: 50%;
  width: 28px;
  height: 28px;
  border: solid 1px #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}

.servicepage-start .btns .btn a .arrow i {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  font-size: 1.4rem;
  color: #fff;
}

.servicepage-service {
  margin-top: 160px;
  position: relative;
  z-index: 0;
}

.servicepage-service:last-of-type {
  margin-bottom: 160px;
}

.servicepage-service::before {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  z-index: 1;
}

.servicepage-service::after {
  content: "";
  z-index: 0;
  position: absolute;
  left: 0;
  bottom: -58px;
  width: calc(50% + 660px);
  height: 100%;
  background-color: #D0F0FF;
}

.servicepage-service .content-box {
  position: relative;
  z-index: 2;
}

.servicepage-service .content-box .lr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.servicepage-service .content-box .lr .left {
  width: 37%;
}

.servicepage-service .content-box .lr .left .image {
  width: 100%;
  border-radius: 20px;
  aspect-ratio: 1 / 1;
  background-color: #ddd;
  overflow: hidden;
}

.servicepage-service .content-box .lr .left .image img {
  width: 100%;
  height: 100%;
}

.servicepage-service .content-box .lr .right {
  -webkit-transform: translateY(40px);
          transform: translateY(40px);
  width: 57%;
}

.servicepage-service .content-box .lr .right h3 {
  font-size: 4rem;
  color: #1D2B6C;
  width: 80%;
}

.servicepage-service .content-box .lr .right .copy {
  margin-top: 24px;
  font-size: 2.4rem;
  color: #fff;
  padding: 12px 12px;
  background: -webkit-gradient(linear, left top, right top, color-stop(53%, #29a1ff), to(#34ebff));
  background: linear-gradient(90deg, #29a1ff 53%, #34ebff 100%);
  width: 80%;
}

.servicepage-service .content-box .lr .right .desc {
  margin-top: 32px;
  width: 80%;
  color: #1D2B6C;
}

#service2 .servicepage-service::after, #service4 .servicepage-service::after {
  left: initial;
  right: 0;
}

#service2 .servicepage-service .content-box .lr, #service4 .servicepage-service .content-box .lr {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

#service2 .servicepage-service .content-box .lr .left, #service4 .servicepage-service .content-box .lr .left {
  width: 37%;
}

#service2 .servicepage-service .content-box .lr .right, #service4 .servicepage-service .content-box .lr .right {
  -webkit-transform: translateY(40px);
          transform: translateY(40px);
}

#service2 .servicepage-service .content-box .lr .right h3, #service4 .servicepage-service .content-box .lr .right h3 {
  margin-left: auto;
  margin-right: 0;
}

#service2 .servicepage-service .content-box .lr .right .copy, #service4 .servicepage-service .content-box .lr .right .copy {
  margin-left: auto;
  margin-right: 0;
}

#service2 .servicepage-service .content-box .lr .right .desc, #service4 .servicepage-service .content-box .lr .right .desc {
  margin-left: auto;
  margin-right: 0;
}

#service1 .servicepage-service::before {
  content: "";
  background-image: url("../img/service/num1.svg");
  height: 187px;
  bottom: -30px;
  left: 0;
  width: calc(50% + 660px);
  background-position: 97% 0;
  background-size: contain;
}

#service1 .servicepage-service .content-box {
  -webkit-transform: translateX(-50px);
          transform: translateX(-50px);
}

#service1 .servicepage-service .content-box.show {
  opacity: 1;
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out;
  -webkit-transition-duration: .5s;
          transition-duration: .5s;
  -webkit-transform: translateX(0px);
          transform: translateX(0px);
}

#service2 .servicepage-service::before {
  content: "";
  background-image: url("../img/service/num2.svg");
  height: 187px;
  bottom: -30px;
  right: 0;
  width: calc(50% + 660px);
  background-position: 3% 0;
  background-size: contain;
}

#service2 .servicepage-service .content-box {
  -webkit-transform: translateX(50px);
          transform: translateX(50px);
}

#service2 .servicepage-service .content-box.show {
  opacity: 1;
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out;
  -webkit-transition-duration: .5s;
          transition-duration: .5s;
  -webkit-transform: translateX(0px);
          transform: translateX(0px);
}

#service3 .servicepage-service::before {
  content: "";
  background-image: url("../img/service/num3.svg");
  height: 187px;
  bottom: -30px;
  left: 0;
  width: calc(50% + 660px);
  background-position: 97% 0;
  background-size: contain;
}

#service3 .servicepage-service .content-box {
  -webkit-transform: translateX(-50px);
          transform: translateX(-50px);
}

#service3 .servicepage-service .content-box.show {
  opacity: 1;
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out;
  -webkit-transition-duration: .5s;
          transition-duration: .5s;
  -webkit-transform: translateX(0px);
          transform: translateX(0px);
}

#service4 .servicepage-service::before {
  content: "";
  background-image: url("../img/service/num4.svg");
  height: 187px;
  bottom: -30px;
  right: 0;
  width: calc(50% + 660px);
  background-position: 3% 0;
  background-size: contain;
}

#service4 .servicepage-service .content-box {
  -webkit-transform: translateX(50px);
          transform: translateX(50px);
}

#service4 .servicepage-service .content-box.show {
  opacity: 1;
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out;
  -webkit-transition-duration: .5s;
          transition-duration: .5s;
  -webkit-transform: translateX(0px);
          transform: translateX(0px);
}

#service5 .servicepage-service::before {
  content: "";
  background-image: url("../img/service/num5.svg");
  height: 187px;
  bottom: -30px;
  left: 0;
  width: calc(50% + 660px);
  background-position: 97% 0;
  background-size: contain;
}

#service5 .servicepage-service .content-box {
  -webkit-transform: translateX(-50px);
          transform: translateX(-50px);
}

#service5 .servicepage-service .content-box.show {
  opacity: 1;
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out;
  -webkit-transition-duration: .5s;
          transition-duration: .5s;
  -webkit-transform: translateX(0px);
          transform: translateX(0px);
}

@media screen and (max-width: 1330px) {
  .servicepage-service::after {
    bottom: -58px;
    width: calc(100% - 32px);
  }
  .servicepage-service .content-box .lr .right h3 {
    width: 90%;
  }
  .servicepage-service .content-box .lr .right .copy {
    width: 90%;
  }
  .servicepage-service .content-box .lr .right .desc {
    width: 90%;
  }
  #service1 .servicepage-service::before {
    width: calc(100% - 32px);
  }
  #service2 .servicepage-service::before {
    width: calc(100% - 32px);
  }
  #service3 .servicepage-service::before {
    width: calc(100% - 32px);
  }
  #service4 .servicepage-service::before {
    width: calc(100% - 32px);
  }
  #service5 .servicepage-service::before {
    width: calc(100% - 32px);
  }
}

@media screen and (max-width: 750px) {
  .servicepage-start {
    margin-top: 40px;
  }
  .servicepage-start__copy {
    width: 87%;
  }
  .servicepage-start__copy::after {
    left: -0%;
    bottom: -24px;
    width: 100%;
  }
  .servicepage-start .desc {
    margin-top: 40px;
  }
  .servicepage-start .btns {
    margin-top: 24px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .servicepage-start .btns .btn {
    margin-left: 2%;
    width: 48%;
  }
  .servicepage-start .btns .btn:first-of-type, .servicepage-start .btns .btn:nth-of-type(2n+1) {
    margin-left: 0;
  }
  .servicepage-start .btns .btn a {
    margin-top: 24px;
    padding: 12px 4px;
  }
  .servicepage-start .btns .btn a .txt {
    font-size: 1.4rem;
  }
  .servicepage-start .btns .btn a .arrow {
    right: 12px;
    top: calc(50% - 10px);
    border-radius: 50%;
    width: 20px;
    height: 20px;
  }
  .servicepage-start .btns .btn a .arrow i {
    font-size: 1rem;
  }
  .servicepage-service {
    margin-top: 90px;
    position: relative;
  }
  .servicepage-service:last-of-type {
    margin-bottom: 100px;
  }
  .servicepage-service::after {
    bottom: -58px;
    width: 74%;
  }
  .servicepage-service .content-box .lr {
    display: block;
  }
  .servicepage-service .content-box .lr .left {
    width: 75%;
    margin-left: auto;
    margin-right: auto;
  }
  .servicepage-service .content-box .lr .right {
    margin-top: 24px;
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
  .servicepage-service .content-box .lr .right h3 {
    font-size: 2.6rem;
    width: 100%;
  }
  .servicepage-service .content-box .lr .right .copy {
    margin-top: 12px;
    font-size: 1.8rem;
    color: #fff;
    padding: 4px 12px;
    width: 100%;
  }
  .servicepage-service .content-box .lr .right .desc {
    margin-top: 16px;
    width: 100%;
  }
  #service2 .servicepage-service::after, #service4 .servicepage-service::after {
    left: initial;
    right: 0;
  }
  #service2 .servicepage-service .content-box .lr, #service4 .servicepage-service .content-box .lr {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  #service2 .servicepage-service .content-box .lr .left, #service4 .servicepage-service .content-box .lr .left {
    width: 75%;
    margin-left: auto;
    margin-right: auto;
  }
  #service2 .servicepage-service .content-box .lr .right, #service4 .servicepage-service .content-box .lr .right {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  #service2 .servicepage-service .content-box .lr .right h3, #service4 .servicepage-service .content-box .lr .right h3 {
    margin-left: auto;
    margin-right: 0;
  }
  #service2 .servicepage-service .content-box .lr .right .copy, #service4 .servicepage-service .content-box .lr .right .copy {
    margin-left: auto;
    margin-right: 0;
  }
  #service2 .servicepage-service .content-box .lr .right .desc, #service4 .servicepage-service .content-box .lr .right .desc {
    margin-left: auto;
    margin-right: 0;
  }
  #service1 .servicepage-service {
    margin-top: 56px;
  }
  #service1 .servicepage-service::before {
    width: 107.5px;
    height: 99px;
    bottom: -32px;
    right: initial;
    left: 8px;
  }
  #service2 .servicepage-service::before {
    width: 128.5px;
    height: 102px;
    bottom: -32px;
    left: initial;
    right: 8px;
  }
  #service3 .servicepage-service::before {
    width: 128.5px;
    height: 102px;
    bottom: -32px;
    right: initial;
    left: 8px;
  }
  #service4 .servicepage-service::before {
    width: 128.5px;
    height: 102px;
    bottom: -32px;
    left: initial;
    right: 8px;
  }
  #service5 .servicepage-service::before {
    width: 128.5px;
    height: 102px;
    bottom: -32px;
    right: initial;
    left: 8px;
  }
}

/*
====================================
会社概要ページ
====================================
*/
.companypage-info {
  margin-top: 120px;
}

.companypage-info__heading {
  text-align: left;
}

.companypage-info__content {
  margin-top: 56px;
}

.companypage-info__content .m_tablelayout table tbody tr th {
  text-align: center;
}

.companypage-history {
  margin-top: 120px;
}

.companypage-history__heading {
  text-align: left;
}

.companypage-history__content {
  margin-top: 56px;
}

.companypage-history__content .m_tablelayout table tbody tr th {
  padding-left: 24px;
  padding-right: 24px;
  text-align: left;
}

.companypage-access {
  margin-top: 120px;
  margin-bottom: 120px;
}

.companypage-access__heading {
  text-align: left;
}

.companypage-access__content {
  margin-top: 56px;
}

.companypage-access__content .map {
  margin-left: auto;
  margin-right: auto;
  width: 90%;
  height: 579px;
}

.companypage-access__content .map iframe {
  width: 100%;
  height: 100%;
}

.companypage-access__content .desc {
  margin-top: 24px;
  margin-left: auto;
  margin-right: auto;
  width: 90%;
  font-size: 1.8rem;
}

@media screen and (max-width: 750px) {
  .companypage-info {
    margin-top: 64px;
  }
  .companypage-info__content {
    margin-top: 28px;
  }
  .companypage-info__content .m_tablelayout table tbody tr th {
    text-align: left;
  }
  .companypage-history {
    margin-top: 60px;
  }
  .companypage-history__content {
    margin-top: 28px;
  }
  .companypage-history__content .m_tablelayout table tbody tr th {
    padding-left: 0px;
    padding-right: 0px;
  }
  .companypage-access {
    margin-top: 60px;
    margin-bottom: 60px;
  }
  .companypage-access__content {
    margin-top: 28px;
  }
  .companypage-access__content .map {
    width: 100%;
    height: 75vw;
  }
  .companypage-access__content .desc {
    margin-top: 12px;
    width: 100%;
    font-size: 1.5rem;
  }
}

/*
====================================
採用情報ページ
====================================
*/
.recruitpage-header {
  position: relative;
  z-index: 2;
  background-color: #fff;
}

.recruitpage-header__lr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.recruitpage-header__lr .left, .recruitpage-header__lr .right {
  width: 50%;
}

.recruitpage-header__lr .left .image, .recruitpage-header__lr .right .image {
  width: 100%;
  height: 100%;
}

.recruitpage-header__lr .left .image img, .recruitpage-header__lr .right .image img {
  width: 100%;
  display: block;
}

.recruitpage-header__lr .left .content, .recruitpage-header__lr .right .content {
  padding-left: 40px;
}

.recruitpage-header__lr .left .content .pagetitle, .recruitpage-header__lr .right .content .pagetitle {
  text-align: left;
}

.recruitpage-header__lr .left .content .pagetitle .inner, .recruitpage-header__lr .right .content .pagetitle .inner {
  display: inline-block;
  text-align: center;
}

.recruitpage-header__lr .left .content .pagetitle .inner .eng, .recruitpage-header__lr .right .content .pagetitle .inner .eng {
  display: block;
  text-align: left;
  width: 100%;
  font-size: 8rem;
  color: #1D2B6C;
  font-family: "Noto Serif", serif;
  font-optical-sizing: auto;
  font-weight: 400;
}

.recruitpage-header__lr .left .content .pagetitle .inner .title, .recruitpage-header__lr .right .content .pagetitle .inner .title {
  display: inline-block;
  text-align: center;
  width: 100%;
  font-size: 2.8rem;
  font-family: "Noto Serif", serif;
  font-optical-sizing: auto;
  color: #1D2B6C;
  font-weight: 600;
}

.recruitpage-header__lr .left .content .pagetitle .inner .title::before, .recruitpage-header__lr .right .content .pagetitle .inner .title::before {
  content: "-";
}

.recruitpage-header__lr .left .content .pagetitle .inner .title::after, .recruitpage-header__lr .right .content .pagetitle .inner .title::after {
  content: "-";
}

.recruitpage-header__lr .left .content .copy, .recruitpage-header__lr .right .content .copy {
  margin-top: 80px;
  font-size: 4rem;
  letter-spacing: .2em;
  color: #1D2B6C;
}

.recruitpage-header__lr .left .content .line, .recruitpage-header__lr .right .content .line {
  margin-top: 24px;
  height: 3px;
  width: 100%;
  background-image: -webkit-gradient(linear, left top, right top, from(#29A1FF), color-stop(#34FFFF), to(#29A1FF));
  background-image: linear-gradient(90deg, #29A1FF, #34FFFF, #29A1FF);
}

.recruitpage-header__lr .left .content .desc, .recruitpage-header__lr .right .content .desc {
  padding-right: 80px;
  margin-top: 24px;
}

.recruitpage-company {
  position: relative;
  z-index: 1;
  margin-top: -8px;
  padding: 160px 0;
  background-color: #D0F0FF;
}

.recruitpage-company .heading-gr {
  position: relative;
  z-index: 2;
  margin-top: -2px;
}

.recruitpage-company .heading-gr .box {
  padding: 16px 32px;
  display: inline-block;
  background-image: -webkit-gradient(linear, left top, right top, from(#29A1FF), to(#34FFFF));
  background-image: linear-gradient(90deg, #29A1FF, #34FFFF);
}

.recruitpage-company .heading-gr .box h2 {
  font-size: 2.8rem;
  color: #fff;
}

.recruitpage-company .copy {
  position: relative;
  z-index: 1;
}

.recruitpage-company .copy .slider-container {
  width: 100%;
  /* 表示幅 */
}

.recruitpage-company .copy .slider {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: calc(200%);
  /* 画像が2倍の幅になるように設定 */
  -webkit-animation: scroll 30s linear infinite;
          animation: scroll 30s linear infinite;
  /* アニメーション設定 */
}

.recruitpage-company .copy .slider img {
  margin: 0 50px;
  width: 50%;
  /* 画像の幅を親要素の半分に */
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

@-webkit-keyframes scroll {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

@keyframes scroll {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

.recruitpage-company .main {
  position: relative;
  z-index: 2;
}

.recruitpage-company .main::after {
  content: "";
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: 0;
  width: 27vw;
  height: 34vw;
  background-image: url("../img/recruit/back-building.svg");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

.recruitpage-company .main .lr {
  position: relative;
  z-index: 2;
  margin-top: 80px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.recruitpage-company .main .lr .left, .recruitpage-company .main .lr .right {
  width: 48.5%;
}

.recruitpage-company .main .lr .left .lets, .recruitpage-company .main .lr .right .lets {
  margin-top: 80px;
  width: 300px;
  display: block;
}

.recruitpage-company .main .lr .left .lets img, .recruitpage-company .main .lr .right .lets img {
  width: 100%;
}

.recruitpage-company .main .lr .left .multiple-images, .recruitpage-company .main .lr .right .multiple-images {
  width: calc(100% - 24px);
  margin-right: auto;
  margin-left: 0;
  -webkit-transform: translate(50px, -95px);
          transform: translate(50px, -95px);
}

.recruitpage-company .main .lr .left .multiple-images.show, .recruitpage-company .main .lr .right .multiple-images.show {
  opacity: 1;
  -webkit-transform: translate(0px, -95px);
          transform: translate(0px, -95px);
  -webkit-transition-duration: .75s;
          transition-duration: .75s;
}

.recruitpage-company .event {
  margin-top: 80px;
}

.recruitpage-company .event .heading {
  width: 400px;
}

.recruitpage-company .event .heading img {
  width: 100%;
}

.recruitpage-company .event .items {
  margin-top: 24px;
}

.recruitpage-company .event .items ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.recruitpage-company .event .items ul li {
  width: 32.3%;
  background-color: #fff;
  padding: 32px 32px 17px 32px;
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
}

.recruitpage-company .event .items ul li .icon {
  display: block;
}

.recruitpage-company .event .items ul li .icon img {
  width: 100%;
}

.recruitpage-company .event .items ul li h4 {
  margin-top: 16px;
  font-size: 3.2rem;
  font-weight: 600;
  color: #1D2B6C;
  text-align: center;
}

.recruitpage-company .event .items ul li p {
  margin-top: 16px;
  color: #1D2B6C;
}

.recruitpage-company .event .items ul li:nth-of-type(1) .icon {
  width: 150px;
  margin-left: auto;
  margin-right: auto;
}

.recruitpage-company .event .items ul li:nth-of-type(1).show {
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
  -webkit-transition-duration: .7s;
          transition-duration: .7s;
  opacity: 1;
}

.recruitpage-company .event .items ul li:nth-of-type(2) .icon {
  width: 85px;
  margin-left: auto;
  margin-right: auto;
}

.recruitpage-company .event .items ul li:nth-of-type(2).show {
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
  -webkit-transition-duration: .7s;
          transition-duration: .7s;
  -webkit-transition-delay: .4s;
          transition-delay: .4s;
  opacity: 1;
}

.recruitpage-company .event .items ul li:nth-of-type(3) .icon {
  width: 105px;
  margin-left: auto;
  margin-right: auto;
}

.recruitpage-company .event .items ul li:nth-of-type(3).show {
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
  -webkit-transition-duration: .7s;
          transition-duration: .7s;
  -webkit-transition-delay: .8s;
          transition-delay: .8s;
  opacity: 1;
}

.recruitpage-details {
  margin-top: 120px;
}

.recruitpage-details__heading {
  text-align: left;
}

.recruitpage-details__content {
  margin-top: 56px;
}

.recruitpage-details__content .m_tablelayout {
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
}

.recruitpage-details__content .m_tablelayout.show {
  opacity: 1;
  -webkit-transition-duration: 1s;
          transition-duration: 1s;
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
}

.recruitpage-details__content .m_tablelayout table tbody tr th {
  padding-left: 24px;
  padding-right: 24px;
  text-align: center;
}

.recruitpage-voice {
  margin-top: 120px;
}

.recruitpage-voice__heading {
  text-align: left;
}

.recruitpage-voice__content {
  margin-top: 56px;
}

.recruitpage-voice__content ul li {
  position: relative;
  margin-top: 40px;
}

.recruitpage-voice__content ul li::after {
  content: "";
  position: absolute;
  z-index: 0;
  left: 0;
  top: 13%;
  height: 75%;
  width: calc(50% + 660px);
  background-color: #D0F0FF;
}

.recruitpage-voice__content ul li .content-gr {
  position: relative;
  z-index: 2;
}

.recruitpage-voice__content ul li .content-gr .lr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.recruitpage-voice__content ul li .content-gr .lr .left {
  width: 30%;
  padding: 0 32px;
}

.recruitpage-voice__content ul li .content-gr .lr .left .image {
  -webkit-transform: rotate(7.5deg);
          transform: rotate(7.5deg);
  opacity: 0;
}

.recruitpage-voice__content ul li .content-gr .lr .left .image--first {
  margin-left: auto;
  margin-right: auto;
  width: 90%;
}

.recruitpage-voice__content ul li .content-gr .lr .left .image--second {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

.recruitpage-voice__content ul li .content-gr .lr .left .image.show {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  opacity: 1;
  -webkit-transition-duration: 1s;
          transition-duration: 1s;
}

.recruitpage-voice__content ul li .content-gr .lr .right {
  width: 55%;
}

.recruitpage-voice__content ul li .content-gr .lr .right h3 {
  font-size: 2.2rem;
  color: #1D2B6C;
}

.recruitpage-voice__content ul li .content-gr .lr .right .line {
  margin-top: 16px;
  margin-bottom: 16px;
  height: 1px;
  width: 100%;
  background-image: -webkit-gradient(linear, left top, right top, from(#29A1FF), color-stop(#34FFFF), to(#29A1FF));
  background-image: linear-gradient(90deg, #29A1FF, #34FFFF, #29A1FF);
}

.recruitpage-voice__content ul li .content-gr .lr .right .desc {
  margin-top: 16px;
  color: #1D2B6C;
}

.recruitpage-flow {
  margin-top: 120px;
  margin-bottom: 120px;
}

.recruitpage-flow__inner .content {
  margin-top: 56px;
}

.recruitpage-flow__inner .content .flowimage {
  margin-left: auto;
  margin-right: auto;
  width: 90%;
  -webkit-transition-duration: .3s;
          transition-duration: .3s;
  -webkit-transform: translateX(-25px);
          transform: translateX(-25px);
  opacity: 0;
}

.recruitpage-flow__inner .content .flowimage.show {
  -webkit-transition-duration: 1s;
          transition-duration: 1s;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  opacity: 1;
}

@media screen and (max-width: 1330px) {
  .recruitpage-voice__content ul li {
    margin-top: 80px;
  }
  .recruitpage-voice__content ul li::after {
    top: -10%;
    height: 120%;
    width: calc(100% - 32px);
  }
}

@media screen and (max-width: 750px) {
  .recruitpage-header {
    margin-top: 50px;
    margin-bottom: 32px;
  }
  .recruitpage-header__lr {
    display: block;
  }
  .recruitpage-header__lr .left, .recruitpage-header__lr .right {
    width: 100%;
  }
  .recruitpage-header__lr .left .content, .recruitpage-header__lr .right .content {
    padding-left: 0px;
  }
  .recruitpage-header__lr .left .content .pagetitle, .recruitpage-header__lr .right .content .pagetitle {
    text-align: left;
  }
  .recruitpage-header__lr .left .content .pagetitle .inner, .recruitpage-header__lr .right .content .pagetitle .inner {
    text-align: left;
    background: #fff;
    padding: 8px 32px 0;
    margin-top: -63px;
  }
  .recruitpage-header__lr .left .content .pagetitle .inner .eng, .recruitpage-header__lr .right .content .pagetitle .inner .eng {
    font-size: 4.8rem;
  }
  .recruitpage-header__lr .left .content .pagetitle .inner .title, .recruitpage-header__lr .right .content .pagetitle .inner .title {
    font-size: 1.8rem;
  }
  .recruitpage-header__lr .left .content .copy, .recruitpage-header__lr .right .content .copy {
    padding-left: 16px;
    padding-right: 16px;
    margin-top: 32px;
    font-size: 2.2rem;
  }
  .recruitpage-header__lr .left .content .line, .recruitpage-header__lr .right .content .line {
    margin-top: 16px;
  }
  .recruitpage-header__lr .left .content .desc, .recruitpage-header__lr .right .content .desc {
    padding-left: 16px;
    padding-right: 16px;
    padding-right: 12px;
    margin-top: 24px;
  }
  .recruitpage-company {
    margin-top: -4px;
    padding: 56px 0;
  }
  .recruitpage-company .heading-gr {
    margin-top: -8px;
  }
  .recruitpage-company .heading-gr .box {
    padding: 8px 16px;
  }
  .recruitpage-company .heading-gr .box h2 {
    font-size: 1.9rem;
  }
  .recruitpage-company .main::after {
    right: 8px;
    bottom: initial;
    width: 38vw;
    height: 64vw;
    top: 31px;
  }
  .recruitpage-company .main .lr {
    margin-top: 24px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .recruitpage-company .main .lr .left, .recruitpage-company .main .lr .right {
    width: 100%;
  }
  .recruitpage-company .main .lr .left .lets, .recruitpage-company .main .lr .right .lets {
    margin-top: 40px;
    margin-left: auto;
    margin-right: auto;
    width: 55%;
    display: block;
  }
  .recruitpage-company .main .lr .left .multiple-images, .recruitpage-company .main .lr .right .multiple-images {
    margin-top: 0;
    margin-left: 0;
    margin-right: auto;
    width: 75%;
    -webkit-transform: translateY(0) !important;
            transform: translateY(0) !important;
  }
  .recruitpage-company .main .lr .left .desc, .recruitpage-company .main .lr .right .desc {
    margin-top: 24px;
    margin-left: auto;
    margin-right: auto;
    width: 95%;
  }
  .recruitpage-company .event {
    margin-top: 40px;
  }
  .recruitpage-company .event .heading {
    width: 70%;
  }
  .recruitpage-company .event .heading img {
    width: 100%;
  }
  .recruitpage-company .event .items {
    margin-top: 8px;
  }
  .recruitpage-company .event .items ul {
    display: block;
  }
  .recruitpage-company .event .items ul li {
    margin-top: 8px;
    margin-left: auto;
    margin-right: auto;
    width: 95%;
    padding: 24px 32px 17px 32px;
  }
  .recruitpage-company .event .items ul li:first-of-type {
    margin-top: 0;
  }
  .recruitpage-company .event .items ul li h4 {
    margin-top: 8px;
    font-size: 2.5rem;
  }
  .recruitpage-company .event .items ul li p {
    margin-top: 8px;
  }
  .recruitpage-company .event .items ul li:nth-of-type(1) .icon {
    width: 120px;
  }
  .recruitpage-company .event .items ul li:nth-of-type(2) .icon {
    width: 85px;
    margin-left: auto;
    margin-right: auto;
  }
  .recruitpage-company .event .items ul li:nth-of-type(3) .icon {
    width: 105px;
    margin-left: auto;
    margin-right: auto;
  }
  .recruitpage-details {
    margin-top: 40px;
  }
  .recruitpage-details__heading {
    text-align: left;
  }
  .recruitpage-details__content {
    margin-top: 28px;
  }
  .recruitpage-details__content .m_tablelayout table tbody tr th {
    text-align: left;
    padding-left: 0;
    padding-right: 0;
  }
  .recruitpage-voice {
    margin-top: 40px;
  }
  .recruitpage-voice__heading {
    text-align: left;
  }
  .recruitpage-voice__content {
    margin-top: 28px;
  }
  .recruitpage-voice__content ul li {
    margin-top: 80px;
  }
  .recruitpage-voice__content ul li::after {
    content: "";
    position: absolute;
    z-index: 0;
    left: 0;
    top: -5%;
    height: 110%;
    width: 90%;
  }
  .recruitpage-voice__content ul li .content-gr .lr {
    display: block;
  }
  .recruitpage-voice__content ul li .content-gr .lr .left {
    margin-left: auto;
    margin-right: auto;
    width: 75%;
    padding: 0 32px;
  }
  .recruitpage-voice__content ul li .content-gr .lr .right {
    width: 100%;
  }
  .recruitpage-voice__content ul li .content-gr .lr .right h3 {
    margin-top: 12px;
    font-size: 2rem;
    text-align: center;
  }
  .recruitpage-voice__content ul li .content-gr .lr .right .line {
    margin-top: 16px;
    margin-bottom: 16px;
    height: 1px;
    width: 100%;
    background-image: -webkit-gradient(linear, left top, right top, from(#29A1FF), color-stop(#34FFFF), to(#29A1FF));
    background-image: linear-gradient(90deg, #29A1FF, #34FFFF, #29A1FF);
  }
  .recruitpage-voice__content ul li .content-gr .lr .right .desc {
    margin-top: 16px;
    color: #1D2B6C;
  }
  .recruitpage-flow {
    margin-top: 90px;
    margin-bottom: 60px;
  }
  .recruitpage-flow__inner .content {
    margin-top: 28px;
  }
  .recruitpage-flow__inner .content .flowimage {
    width: 100%;
  }
}

/*
====================================
お問合せページ
====================================
*/
.contactpage-form {
  margin-top: 120px;
}

.contactpage-form__inner .desc {
  text-align: center;
}

.contactpage-form__inner .desc .red {
  color: #FF0000;
}

.contactpage-form__inner .cf7_customize {
  margin-top: 40px;
  margin-bottom: 120px;
}

.contactpage-form__inner .form .cf7_customize dl dt {
  padding-top: 12px;
  border-top: none;
  color: #1D2B6C;
}

.contactpage-form__inner .form .cf7_customize dl dd {
  border-top: none;
  color: #1D2B6C;
}

.contactpage-form__inner .form .cf7_customize dl dd input[type="text"], .contactpage-form__inner .form .cf7_customize dl dd input[type="email"], .contactpage-form__inner .form .cf7_customize dl dd input[type="tel"], .contactpage-form__inner .form .cf7_customize dl dd input[type="number"], .contactpage-form__inner .form .cf7_customize dl dd input[type="date"], .contactpage-form__inner .form .cf7_customize dl dd select, .contactpage-form__inner .form .cf7_customize dl dd textarea {
  border: solid 1px #000;
  border-radius: 0px;
}

.contactpage-form__inner .form .privacydesc {
  margin-top: 40px;
  text-align: center;
}

.contactpage-form__inner .form .privacydesc a {
  margin-left: 4px;
  margin-right: 4px;
  color: #00A7FF;
  border-bottom: solid 1px;
}

.contactpage-form__inner .form .cf7_customize .btn input {
  border-radius: 0px;
}

.contactpage-form__inner .form .cf7_customize dl dd .wpcf7-checkbox span.wpcf7-list-item {
  margin: 8px 8px;
}

.contactpage-form__inner .form .cf7_customize dl dd .wpcf7-checkbox input[type="checkbox"] {
  opacity: 1;
  position: relative;
}

.contactpage-form__inner .form .cf7_customize dl dd .wpcf7-checkbox .wpcf7-list-item-label::before {
  opacity: 0;
  display: none;
}

.contactpage-form__inner .form .cf7_customize dl dd .wpcf7-checkbox .wpcf7-list-item-label {
  margin: 0 8px;
}

@media screen and (max-width: 750px) {
  .contactpage-form {
    margin-top: 60px;
  }
  .contactpage-form__inner .cf7_customize {
    padding-left: 0;
    padding-right: 0;
    margin-top: 24px;
    margin-bottom: 60px;
  }
  .contactpage-form__inner .form .cf7_customize dl dt {
    padding-top: 6px;
  }
  .contactpage-form__inner .form .privacydesc {
    margin-top: 24px;
  }
}

/*
====================================
固定ページテンプレート
====================================
*/
.pagetempate-header {
  margin-top: 80px;
  position: relative;
  width: 100%;
}

.pagetempate-header__inner {
  position: relative;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 100%;
}

.pagetempate-header__inner .content {
  width: 100%;
}

.pagetempate-header__inner .content .eng {
  display: block;
  text-align: center;
  width: 100%;
  font-size: 8rem;
  color: #1D2B6C;
  font-family: "Noto Serif", serif;
  font-optical-sizing: auto;
  font-weight: 400;
}

.pagetempate-header__inner .content .title {
  display: block;
  text-align: center;
  width: 100%;
  font-size: 2.8rem;
  font-family: "Noto Serif", serif;
  font-optical-sizing: auto;
  font-weight: 600;
  color: #1D2B6C;
}

.pagetempate-header__inner .content .title::before {
  content: "-";
}

.pagetempate-header__inner .content .title::after {
  content: "-";
}

.pagetempate-header--single .pagetempate-header__inner .content time {
  font-size: 1.8rem;
  display: block;
  text-align: center;
}

.pagetempate-header--single .pagetempate-header__inner .content .title {
  display: block;
  text-align: center;
  width: 100%;
  font-size: 4rem;
  font-family: "Noto Serif", serif;
  font-optical-sizing: auto;
  font-weight: 400;
}

.pagetempate-header--single .pagetempate-header__inner .content .title::before {
  display: none;
}

.pagetempate-header--single .pagetempate-header__inner .content .title::after {
  display: none;
}

.pagetempate-content {
  margin-top: 64px;
  margin-bottom: 120px;
}

.pagetempate-content h2 {
  padding-top: 48px;
  color: #333;
  font-size: 2.8rem;
  border-bottom: solid 2px #ddd;
  padding-bottom: 24px;
  font-family: "shippori-mincho", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.pagetempate-content h3 {
  padding-top: 48px;
  color: #4c4c4c;
  font-size: 2.4rem;
  border-bottom: solid 2px #ddd;
  padding-bottom: 24px;
  font-family: "shippori-mincho", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.pagetempate-content h4 {
  padding-top: 48px;
  color: #4c4c4c;
  font-size: 1.8rem;
  border-bottom: solid 2px #ddd;
  padding-bottom: 24px;
  font-family: "shippori-mincho", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.pagetempate-content p {
  margin-top: 32px;
  font-size: 1.6rem;
  line-height: 2;
}

.pagetempate-content .wp-block-image {
  margin: 32px 0;
}

.pagetempate-content ul {
  margin-left: 16px;
  margin-top: 32px;
}

.pagetempate-content ul li {
  list-style: disc;
  margin-top: 16px;
  font-size: 1.6rem;
  line-height: 2;
}

.pagetempate-content ol {
  margin-left: 16px;
  margin-top: 32px;
}

.pagetempate-content ol li {
  list-style: decimal;
  margin-top: 16px;
  font-size: 1.6rem;
  line-height: 2;
}

.pagetempate-content table {
  margin-top: 32px;
  table-layout: auto;
}

.pagetempate-content table tr th, .pagetempate-content table tr td {
  padding: 24px;
  font-size: 1.6rem;
}

.pagetempate-content table tr th {
  color: #fff;
  background-color: #013659;
}

.pagetempate-content .news__list ul li {
  list-style: none;
}

.pagetempate-content .news__list ul li a {
  padding: 40px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-bottom: #AFAFAF 1px solid;
}

.pagetempate-content .news__list ul li a time {
  font-size: 1.7rem;
  color: #000;
}

.pagetempate-content .news__list ul li a .title {
  margin-top: 0;
  margin-left: 24px;
  font-size: 1.7rem;
  color: #000;
}

.pagetempate-content .news__list ul li:first-of-type a {
  border-top: solid 1px #afafaf;
}

.pagetempate-content .news .pagenavi {
  margin-top: 80px;
}

.pagetempate-content .news .pagenavi .wp-pagenavi {
  text-align: center;
}

.pagetempate-content .news .pagenavi .wp-pagenavi .pages {
  display: none;
}

.pagetempate-content .news .pagenavi .wp-pagenavi a, .pagetempate-content .news .pagenavi .wp-pagenavi span {
  font-weight: 500;
  font-style: normal;
  margin: 0 16px;
  border: none;
  font-size: 3.2rem;
  color: #1D2B6C;
}

.pagetempate-content .news .pagenavi .wp-pagenavi span {
  border-bottom: solid 2px #1D2B6C !important;
}

.pagetempate-content .wpcf7 {
  margin-left: auto;
  margin-right: auto;
  width: 75%;
}

.pagetempate-content .wpcf7 dl dt {
  padding-top: 24px;
  border-top: none;
  color: #000;
  font-size: 1.9rem;
}

.pagetempate-content .wpcf7 dl dd {
  padding-top: 8px;
  padding-bottom: 24px;
  border-top: none;
  color: #1D2B6C;
  font-size: 1.9rem;
  border-bottom: solid 1px #ddd;
}

.pagetempate-content .wpcf7 .cf7_customize .btn input {
  border-radius: 0px;
}

.pagetempate-content .wpcf7 .btns {
  margin-top: 56px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.pagetempate-content .wpcf7 .btns input {
  margin: 0 8px;
  padding: 16px 0px;
  width: 320px;
  font-size: 1.9rem;
  border: none;
  color: #fff;
  background-color: #013659;
}

.pagetempate-content .thx-btn {
  margin-top: 64px;
  text-align: center;
}

.pagetempate-content .thx-btn a {
  display: inline-block;
  width: 300px;
  text-align: center;
  font-size: 1.8rem;
  color: #fff;
  background-color: #013659;
  padding: 16px 0;
}

.pagetempate-links {
  margin-top: 40px;
  margin-bottom: 160px;
}

.pagetempate-links .pages {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.pagetempate-links .pages .btn, .pagetempate-links .pages .newslist {
  margin: 0 8px;
  text-align: center;
  width: 200px;
}

.pagetempate-links .pages .btn a, .pagetempate-links .pages .newslist a {
  display: block;
  padding: 8px;
  font-size: 1.6rem;
  color: #013659;
  border-bottom: #013659 solid 1px;
}

.pagetempate-links .top {
  margin-top: 40px;
}

.pagetempate-links .top a {
  margin-top: 13px;
  position: relative;
  padding: 16px 8px;
  color: #013659;
  text-align: center;
  background-color: #fff;
  border-width: 1px;
  border-style: solid;
  border-radius: 50px;
  display: block;
  width: 200px;
  margin-left: auto;
  margin-right: auto;
}

.pagetempate-links .top a .txt {
  font-size: 1.6rem;
  letter-spacing: .15em;
  font-family: "Noto Sans", serif;
  font-weight: 600;
  font-style: normal;
}

.pagetempate-links .top a .arrow {
  position: absolute;
  right: 16px;
  top: calc(50% - 14px);
  border-radius: 50%;
  width: 28px;
  height: 28px;
  border-width: 1px;
  border-style: solid;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
}

.pagetempate-links .top a .arrow i {
  font-size: 1.4rem;
}

@media screen and (max-width: 750px) {
  .pagetempate-header {
    margin-top: 80px;
  }
  .pagetempate-header--service {
    background-image: url("../img/service/header.jpg");
  }
  .pagetempate-header__inner .content .eng {
    font-size: 4rem;
  }
  .pagetempate-header__inner .content .title {
    font-size: 1.8rem;
  }
  .pagetempate-header--single .pagetempate-header__inner .content time {
    font-size: 1.4rem;
  }
  .pagetempate-header--single .pagetempate-header__inner .content .title {
    font-size: 2.7rem;
  }
  .pagetempate-content {
    margin-top: 32px;
    margin-bottom: 60px;
  }
  .pagetempate-content h2 {
    padding-top: 24px;
    font-size: 2rem;
    padding-bottom: 12px;
  }
  .pagetempate-content h3 {
    padding-top: 24px;
    font-size: 2rem;
    padding-bottom: 12px;
  }
  .pagetempate-content h4 {
    padding-top: 24px;
    color: #4c4c4c;
    font-size: 1.5rem;
    padding-bottom: 12px;
  }
  .pagetempate-content p {
    margin-top: 16px;
    font-size: 1.3rem;
    line-height: 1.8;
  }
  .pagetempate-content .wp-block-image {
    margin: 16px 0;
  }
  .pagetempate-content ul {
    margin-left: 16px;
    margin-top: 16px;
  }
  .pagetempate-content ul li {
    margin-top: 8px;
    font-size: 1.3rem;
    line-height: 1.8;
  }
  .pagetempate-content ol {
    margin-left: 16px;
    margin-top: 16px;
  }
  .pagetempate-content ol li {
    margin-top: 8px;
    font-size: 1.3rem;
    line-height: 1.8;
  }
  .pagetempate-content table {
    margin-top: 16px;
  }
  .pagetempate-content table tr th, .pagetempate-content table tr td {
    padding: 12px;
    font-size: 1.4rem;
    line-height: 1.8;
  }
  .pagetempate-content .news__list ul li a {
    padding: 24px 0;
  }
  .pagetempate-content .news__list ul li a time {
    font-size: 1.25rem;
  }
  .pagetempate-content .news__list ul li a .title {
    margin-left: 16px;
    font-size: 1.4rem;
  }
  .pagetempate-content .wpcf7 {
    width: 100%;
  }
  .pagetempate-content .wpcf7 dl dt {
    padding-top: 16px;
    font-size: 1.5rem;
  }
  .pagetempate-content .wpcf7 dl dd {
    padding-top: 8px;
    padding-bottom: 16px;
    font-size: 1.5rem;
  }
  .pagetempate-content .wpcf7 .btns {
    text-align: center;
    margin-top: 32px;
    display: block;
  }
  .pagetempate-content .wpcf7 .btns input {
    margin: 8px 0;
    padding: 12px 0px;
    width: 200px;
    font-size: 1.5rem;
  }
  .pagetempate-content .wpcf7 .btns .wpcf7-spinner {
    display: block;
  }
  .pagetempate-content .thx-btn {
    margin-top: 32px;
  }
  .pagetempate-content .thx-btn a {
    margin: 8px 0;
    padding: 12px 0px;
    width: 200px;
    font-size: 1.5rem;
  }
  .pagetempate-links {
    margin-top: 24px;
    margin-bottom: 160px;
  }
  .pagetempate-links .pages {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .pagetempate-links .pages .btn, .pagetempate-links .pages .newslist {
    margin: 0 0;
    width: 32%;
  }
  .pagetempate-links .pages .btn a, .pagetempate-links .pages .newslist a {
    padding: 8px 4px;
    font-size: 1.2rem;
  }
  .pagetempate-links .top {
    margin-top: 40px;
  }
  .pagetempate-links .top a {
    margin-top: 13px;
    padding: 8px 4px;
    width: 200px;
    margin-left: auto;
    margin-right: auto;
  }
  .pagetempate-links .top a .txt {
    font-size: 1.3rem;
  }
}

/*
====================================
フッター
====================================
*/
.footer__upper {
  padding: 32px 0;
  background-color: #1D2B6C;
}

.footer__upper nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: right;
      -ms-flex-pack: right;
          justify-content: right;
}

.footer__upper nav ul li {
  margin-left: 24px;
  font-size: 1.5rem;
}

.footer__upper nav ul li:first-of-type {
  margin-left: 0;
}

.footer__upper nav ul li a {
  color: #fff;
}

.footer__main {
  padding: 40px 0;
  padding-left: 80px;
}

.footer__main .logo {
  width: 284px;
}

.footer__main .logo img {
  width: 100%;
}

.footer__main .info {
  padding-left: 7px;
  margin-top: 24px;
  font-size: 1.8rem;
  color: #000;
  line-height: 2;
}

@media screen and (max-width: 750px) {
  .footer__upper {
    padding: 0 0;
  }
  .footer__upper .wrapper {
    padding-left: 0;
    padding-right: 0;
  }
  .footer__upper nav ul {
    display: block;
  }
  .footer__upper nav ul li {
    margin-left: 0;
    font-size: 1.3rem;
  }
  .footer__upper nav ul li:first-of-type {
    margin-left: 0;
    margin-top: 0;
  }
  .footer__upper nav ul li a {
    text-align: center;
    display: block;
    padding: 16px 0;
    border-bottom: solid 1px #fff;
  }
  .footer__main {
    padding: 40px 0;
    padding-left: 0px;
    text-align: center;
  }
  .footer__main .logo {
    margin-left: auto;
    margin-right: auto;
    width: 200px;
  }
  .footer__main .info {
    padding-left: 16px;
    padding-right: 16px;
    margin-top: 12px;
    font-size: 1.4rem;
    line-height: 1.8;
  }
}
/*# sourceMappingURL=style.css.map */