@charset "UTF-8";
.pc {
  display: flex !important;
}

.sp {
  display: none !important;
}

.tc {
  display: block !important;
}

.tb {
  display: none !important;
}

@media print, screen and (max-width: 1024px) {
  .tc {
    display: none !important;
  }
  .tb {
    display: block !important;
  }
}
@media only screen and (max-width: 640px) {
  .pc {
    display: none !important;
  }
  .sp {
    display: flex !important;
  }
}
@media print, screen and (min-width: 769px) {
  .pc-hide {
    display: none !important;
  }
}
@media only screen and (max-width: 640px) {
  .sp-hide {
    display: none !important;
  }
}
body {
  color: #3e3a39;
}

#wrapper {
  position: relative;
  width: 100%;
}

main {
  position: relative;
}

a {
  transition: opacity 0.2s;
}
a:hover {
  opacity: 0.8;
}

/* input */
input[type=text],
input[type=email],
input[type=tel],
input[type=number],
input[type=password],
select,
textarea {
  position: relative;
  background-color: transparent;
  border: 1px solid #E7E8E8;
  background-color: #E7E8E8;
  border-radius: 1rem;
  box-sizing: border-box;
  padding: 0.9rem 1.6rem;
  width: 100%;
  font-weight: normal;
  font-size: 1.8rem;
  line-height: 3rem;
  text-align: left;
  color: #000000;
  outline: none !important;
}
@media only screen and (max-width: 640px) {
  input[type=text],
  input[type=email],
  input[type=tel],
  input[type=number],
  input[type=password],
  select,
  textarea {
    padding: 1.2rem 1.6rem;
    font-size: 2.4rem;
    line-height: 3.2rem;
  }
}

input[type=text],
input[type=email],
input[type=tel],
input[type=number],
input[type=password],
select {
  height: 4.8rem;
}
@media only screen and (max-width: 640px) {
  input[type=text],
  input[type=email],
  input[type=tel],
  input[type=number],
  input[type=password],
  select {
    height: 5.6rem;
  }
}

input[type=text]:focus,
input[type=email]:focus,
input[type=tel]:focus,
input[type=number]:focus,
input[type=password]:focus,
select:focus,
textarea:focus {
  border-color: #E7E8E8;
}

select {
  position: relative;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url(../img/select-down.svg);
  background-position: calc(100% - 1.2rem) 50%;
  background-size: 1rem 0.8rem;
  background-repeat: no-repeat;
  z-index: 0;
}
@media only screen and (max-width: 640px) {
  select {
    background-position: calc(100% - 1rem) 50%;
  }
}

picture,
figure,
.image_wrap {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

picture img,
figure img,
.image_wrap img {
  width: 100%;
}

.c-button {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 33.6rem;
  height: 6.5rem;
  background: #0068b7;
  border-radius: 5rem;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 600;
  text-align: center;
}
.c-button::after {
  content: "";
  position: absolute;
  top: calc(50% - 1rem);
  right: 2rem;
  display: block;
  width: 1.8rem;
  height: 1.8rem;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216.315%22%20height%3D%2213.691%22%20viewBox%3D%220%200%2016.315%2013.691%22%3E%20%3Cg%20transform%3D%22translate(-1285.178%20-46.6)%22%3E%20%3Cpath%20d%3D%22M1294.647%2C48.014l5.431%2C5.431-5.431%2C5.431%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%222%22%2F%3E%20%3Cline%20x1%3D%2213.901%22%20transform%3D%22translate(1286.178%2053.446)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%222%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E") center/contain no-repeat;
}
.c-button-white {
  background: #fff;
  color: #0068b7;
}
.c-button-white::after {
  content: "";
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216.315%22%20height%3D%2213.691%22%20viewBox%3D%220%200%2016.315%2013.691%22%3E%20%3Cg%20transform%3D%22translate(-1285.178%20-46.6)%22%3E%20%3Cpath%20d%3D%22M1294.647%2C48.014l5.431%2C5.431-5.431%2C5.431%22%20fill%3D%22none%22%20stroke%3D%22%230068b7%22%20stroke-linecap%3D%22round%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%222%22%2F%3E%20%3Cline%20x1%3D%2213.901%22%20transform%3D%22translate(1286.178%2053.446)%22%20fill%3D%22none%22%20stroke%3D%22%230068b7%22%20stroke-linecap%3D%22round%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%222%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
}

@media only screen and (max-width: 640px) {
  .c-button {
    width: 50rem;
    height: 8.5rem;
    margin: 0 auto;
    font-size: 2.1rem;
  }
  .c-button::after {
    top: calc(50% - 1.8rem);
    right: 4.2rem;
    display: block;
    width: 3.2rem;
    height: 3.5rem;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2235.029%22%20height%3D%2228.786%22%20viewBox%3D%220%200%2035.029%2028.786%22%3E%20%3Cg%20transform%3D%22translate(-2944.296%20-3262.351)%22%3E%20%3Cpath%20d%3D%22M2964.932%2C3264.472l12.272%2C12.272-12.272%2C12.272%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%223%22%2F%3E%20%3Cline%20x1%3D%2231.407%22%20transform%3D%22translate(2945.796%203276.744)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%223%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
  }
  .c-button-white::after {
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2235.029%22%20height%3D%2228.786%22%20viewBox%3D%220%200%2035.029%2028.786%22%3E%20%3Cg%20transform%3D%22translate(-4891.193%20-1832.814)%22%3E%20%3Cpath%20d%3D%22M4911.829%2C1834.935l12.272%2C12.272-12.272%2C12.272%22%20fill%3D%22none%22%20stroke%3D%22%230068b7%22%20stroke-linecap%3D%22round%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%223%22%2F%3E%20%3Cline%20x1%3D%2231.407%22%20transform%3D%22translate(4892.693%201847.207)%22%20fill%3D%22none%22%20stroke%3D%22%230068b7%22%20stroke-linecap%3D%22round%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%223%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E") center/contain no-repeat;
  }
}
.c-title .en {
  font-size: 45px;
  font-weight: 600;
  font-family: sans-serif;
  color: #abd1e8;
  letter-spacing: 0.08em;
  line-height: 1;
  display: block;
  margin-bottom: 8px;
}
@media only screen and (max-width: 640px) {
  .c-title .en {
    font-size: clamp(20px, 4rem, 45px);
  }
}
.c-title .en::first-letter {
  color: #0068b7;
}
.c-title .ja {
  font-size: 16px;
  letter-spacing: 0.08em;
}
.c-title-white .en, .c-title-white .ja {
  color: #fff;
}
.c-title-white .en::first-letter, .c-title-white .ja::first-letter {
  color: #fff;
}

@media only screen and (max-width: 640px) {
  .c-title .ja {
    font-size: clamp(14px, 1.6rem, 24px);
  }
}
.c-slide-images {
  pointer-events: none;
}
.c-slide-images .slide {
  display: flex;
  justify-content: flex-start;
  gap: 0 4.8rem;
  margin-right: 4.8rem;
}
.c-slide-images .item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 42rem;
}
.c-slide-images .item img {
  display: block;
  height: 100%;
  object-fit: contain;
}
.c-slide-images .item-3 img {
  height: 44.37%;
}

.c-slide-boxes {
  pointer-events: none;
}
.c-slide-boxes .slick-track {
  display: flex;
}
.c-slide-boxes .slide {
  width: 118.26vw;
  margin-right: 7rem;
}

@media only screen and (max-width: 640px) {
  .c-slide-images .item {
    height: 38.5rem;
  }
  .c-slide-boxes .slide {
    width: 150.53vw;
    margin-right: 4rem;
  }
}
.c-slide-vertical {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 1.5rem;
  width: 50rem;
  height: 119.6rem;
  transform: rotate(20.867deg);
  transform-origin: center;
  pointer-events: none;
}
.c-slide-vertical .vertical {
  width: 100%;
}
.c-slide-vertical .vertical .slide {
  width: 100% !important;
}
.c-slide-vertical .vertical .slide img {
  display: block;
  width: 100%;
  margin-bottom: 2.5rem;
  object-fit: contain;
}
.c-slide-vertical .reverse .slick-list {
  transform: rotate(180deg);
}
.c-slide-vertical .reverse .slick-list img {
  transform: rotate(180deg);
}

.subpage-title {
  padding-top: 150px;
  position: relative;
  overflow: hidden;
}
@media print, screen and (max-width: 1024px) {
  .subpage-title {
    padding-top: 100px;
  }
}
.subpage-title::before {
  content: "";
  position: absolute;
  width: 120vw;
  height: 30.1173840134vw;
  background-image: url(../img/common/deco01.png);
  background-size: cover;
  z-index: -1;
  margin-left: -12vw;
  top: 100px;
}
@media only screen and (max-width: 640px) {
  .subpage-title::before {
    background-image: url(../img/common/deco01-sp.png);
    height: 64.6875vw;
  }
}
.subpage-title .c-title {
  margin-left: 60%;
}
@media print, screen and (max-width: 1300px) {
  .subpage-title .c-title {
    margin-left: 0;
    margin-right: 5%;
    width: fit-content;
    float: right;
    margin-bottom: 30px;
  }
}
.subpage-title .mv-img-wrap {
  margin-left: calc((100vw - 1080px) / 2);
  margin-top: 40px;
  width: calc(1080px + (100vw - 1080px) / 4);
}
@media print, screen and (max-width: 1300px) {
  .subpage-title .mv-img-wrap {
    width: 93%;
    margin-left: 5%;
    margin-right: 0;
  }
}
@media only screen and (max-width: 640px) {
  .subpage-title .mv-img-wrap {
    width: 90%;
    margin-left: 5%;
  }
}
.subpage-title .mv-img-wrap img {
  width: 100%;
}
.subpage-title .anker-link-wrap {
  margin: 30px auto;
}
.subpage-title .anker-link-wrap ul {
  display: flex;
  justify-content: center;
}
@media only screen and (max-width: 640px) {
  .subpage-title .anker-link-wrap ul {
    flex-wrap: wrap;
  }
}
.subpage-title .anker-link-wrap ul li {
  margin-right: 30px;
  width: 250px;
}
@media print, screen and (max-width: 1024px) {
  .subpage-title .anker-link-wrap ul li {
    width: 30%;
  }
}
@media only screen and (max-width: 640px) {
  .subpage-title .anker-link-wrap ul li {
    width: 48%;
    margin-right: 4%;
  }
}
.subpage-title .anker-link-wrap ul li:last-child {
  margin-right: 0;
}
@media only screen and (max-width: 640px) {
  .subpage-title .anker-link-wrap ul li:nth-child(2) {
    margin-right: 0;
  }
}
.subpage-title .anker-link-wrap ul li a {
  display: block;
  width: 100%;
  padding: 15px 0;
  text-align: center;
  position: relative;
  font-size: 18px;
  font-weight: bold;
  color: #0068b7;
}
@media only screen and (max-width: 640px) {
  .subpage-title .anker-link-wrap ul li a {
    font-size: max(2.96875vw, 13px);
  }
}
.subpage-title .anker-link-wrap ul li a::after {
  content: "";
  position: absolute;
  width: 12px;
  height: 15px;
  background-image: url(../img/common/arrow.png);
  background-size: cover;
  background-position: center;
  margin-left: 55px;
  margin-top: 6px;
}
@media only screen and (max-width: 640px) {
  .subpage-title .anker-link-wrap ul li a::after {
    margin-left: 7.8125vw;
  }
}
.subpage-title .anker-link-wrap ul li a::before {
  content: "";
  display: inline-block;
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 5px;
  border-radius: 5px;
  background: #abd1e8;
}

.container {
  max-width: 1080px;
  width: 90%;
  margin: auto;
  padding: 0;
}

.table-wrap {
  margin: 50px 0;
}
.table-wrap table, .table-wrap tr {
  width: 100%;
}
@media only screen and (max-width: 640px) {
  .table-wrap tr {
    padding: 20px;
  }
}
.table-wrap tr th, .table-wrap tr td {
  padding: 30px;
  font-size: 18px;
  text-align: left;
}
@media only screen and (max-width: 640px) {
  .table-wrap tr th, .table-wrap tr td {
    width: 100%;
    display: block;
    padding: 5px 15px;
    font-size: max(1.8rem, 14px);
  }
}
.table-wrap tr th {
  font-weight: 700;
}
@media only screen and (max-width: 640px) {
  .table-wrap tr th {
    padding-top: 15px;
  }
}
.table-wrap tr td {
  font-weight: 500;
}
@media only screen and (max-width: 640px) {
  .table-wrap tr td {
    padding-bottom: 15px;
  }
}

.cntInner .cntText-l {
  font-size: 3.6rem;
  font-size: clamp(30px, 3.6rem, 36px);
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.65;
}
@media only screen and (max-width: 640px) {
  .cntInner .cntText-l {
    font-size: clamp(18px, 3.5rem, 36px);
  }
}
.cntInner .cntText {
  font-size: 1.8rem;
  font-size: clamp(15px, 1.8rem, 18px);
  font-weight: 500;
  line-height: 2.08;
}

#main {
  position: relative;
}
#main::before {
  content: "";
  position: absolute;
  top: -128px;
  right: 0;
  width: 100%;
  max-width: 1366px;
  height: 82.5rem;
  background: url(../img/common/dec-2.png) top right/contain no-repeat;
  z-index: -1;
}

.flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.sitemaps-wrap {
  margin-top: 100px;
  text-align: center;
  margin-bottom: 15px;
}
.sitemaps-wrap .lead {
  font-size: 25px;
}

.p-sitemap {
  padding-bottom: 40px;
}
.p-sitemap .section-title {
  text-align: center;
  font-size: 20px;
  margin-bottom: 10px;
}
.p-sitemap .sitemap-menu {
  max-width: 500px;
  margin: 20px auto;
}
.p-sitemap .sitemap-menu li {
  border-bottom: 1px solid #ccc;
  text-align: center;
}
.p-sitemap .sitemap-menu li:first-child {
  border-top: 1px solid #ccc;
}
.p-sitemap .sitemap-menu li a {
  padding: 10px;
  display: block;
}

#about {
  letter-spacing: 0.08em;
}
#about #message {
  position: relative;
  padding-top: 13rem;
}
#about #message .cntInner {
  width: 730px;
  max-width: calc(100% - 50px);
  margin: 0 auto 53px;
}
@media only screen and (max-width: 640px) {
  #about #message .cntInner {
    max-width: unset;
    width: 90%;
  }
}
#about #message .cntInner .cntTitle {
  margin-bottom: 36px;
}
#about #message .cntInner .cntText-l {
  margin-bottom: 4rem;
}
#about #message .cntInner .cntText {
  margin-bottom: 4rem;
}
#about #message .message-people {
  font-weight: 500;
  letter-spacing: 0.08em;
}
#about #message .message-people .smal {
  font-size: 18px;
}
#about #message .message-people .name {
  font-size: 24px;
}
#about #profile {
  margin-top: 80px;
}
#about #profile .table-wrap tr {
  border-bottom: 1px solid #cccccc;
}
#about #profile .table-wrap tr th {
  color: #0068b7;
}
#about #access {
  margin: 130px auto;
}
@media only screen and (max-width: 640px) {
  #about #access {
    margin: 80px auto;
  }
}
#about #access .map-wrap {
  width: 100%;
  height: 525px;
}
@media only screen and (max-width: 640px) {
  #about #access .map-wrap {
    height: 54.6875vw;
  }
}
#about #access .access-txt-wrap {
  padding-left: 60px;
  margin-top: 50px;
}
@media only screen and (max-width: 640px) {
  #about #access .access-txt-wrap {
    padding-left: 0;
  }
}
#about #access .access-txt-wrap .title {
  font-weight: bold;
  font-size: 21px;
  color: #0068b7;
}
@media only screen and (max-width: 640px) {
  #about #access .access-txt-wrap .title {
    text-align: center;
  }
}
#about #access .access-txt-wrap .title::before {
  content: "";
  position: absolute;
  width: 38px;
  height: 4px;
  background-color: #abd1e8;
  margin-left: -55px;
  margin-top: 13px;
}
@media only screen and (max-width: 640px) {
  #about #access .access-txt-wrap .title::before {
    margin-left: 100px;
    margin-top: 35px;
  }
}
#about #access .access-txt-wrap .access-inner {
  font-weight: 500;
  font-size: 18px;
  line-height: 2.3;
  margin-top: 20px;
}
@media only screen and (max-width: 640px) {
  #about #access .access-txt-wrap .access-inner {
    font-size: max(2.1rem, 15px);
    text-align: center;
  }
}
#about #access .access-txt-wrap .access-inner ul {
  display: flex;
  flex-wrap: wrap;
}
#about #access .access-txt-wrap .access-inner ul li {
  margin-right: 30px;
  width: 45%;
}
@media print, screen and (max-width: 1024px) {
  #about #access .access-txt-wrap .access-inner ul li {
    margin-right: 5%;
    font-size: max(2.1rem, 16px);
  }
}
@media only screen and (max-width: 640px) {
  #about #access .access-txt-wrap .access-inner ul li {
    text-align: center;
    width: 100%;
    margin-right: 0;
    font-size: max(2.1rem, 13px);
  }
}

#sub-service {
  letter-spacing: 0.08em;
}
#sub-service #sub-top {
  padding-left: 2vw;
  padding-right: calc((100vw - 1080px) / 2);
}
@media print, screen and (max-width: 1300px) {
  #sub-service #sub-top {
    padding-right: 5vw;
  }
}
@media only screen and (max-width: 640px) {
  #sub-service #sub-top {
    padding: 0 5vw;
  }
}
#sub-service #sub-top .flex {
  align-items: center;
}
@media only screen and (max-width: 640px) {
  #sub-service #sub-top .flex {
    flex-wrap: wrap;
  }
}
#sub-service #sub-top .img-wrap {
  width: 50%;
}
@media only screen and (max-width: 640px) {
  #sub-service #sub-top .img-wrap {
    width: 80%;
    margin: auto;
  }
}
#sub-service #sub-top .img-wrap img {
  width: 100%;
}
#sub-service #sub-top .cntInner {
  width: 47%;
}
@media only screen and (max-width: 640px) {
  #sub-service #sub-top .cntInner {
    width: 100%;
    margin: auto;
  }
}
@media print, screen and (max-width: 1600px) {
  #sub-service #sub-top .cntInner .cntText-l {
    font-size: 3.2rem;
  }
}
@media print, screen and (max-width: 1300px) {
  #sub-service #sub-top .cntInner .cntText-l br {
    display: none;
  }
}
@media only screen and (max-width: 640px) {
  #sub-service #sub-top .cntInner .cntText-l {
    margin-top: 20px;
    font-size: max(3.2rem, 19px);
  }
  #sub-service #sub-top .cntInner .cntText-l br {
    display: block;
  }
}
#sub-service #sub-top .cntInner .cntText {
  margin-top: 40px;
}
@media print, screen and (max-width: 1300px) {
  #sub-service #sub-top .cntInner .cntText br {
    display: none;
  }
}
@media only screen and (max-width: 640px) {
  #sub-service #sub-top .cntInner .cntText {
    margin-top: 20px;
  }
  #sub-service #sub-top .cntInner .cntText br {
    display: block;
  }
}
#sub-service #strength {
  margin: 100px auto;
}
@media only screen and (max-width: 640px) {
  #sub-service #strength {
    margin: 60px auto;
  }
}
#sub-service #strength .strength-items {
  margin-top: 50px;
}
@media only screen and (max-width: 640px) {
  #sub-service #strength .strength-items {
    max-width: 500px;
    margin: 30px auto;
  }
}
#sub-service #strength .strength-items li {
  width: 31%;
}
@media print, screen and (max-width: 1300px) {
  #sub-service #strength .strength-items li {
    width: 32%;
  }
}
@media only screen and (max-width: 640px) {
  #sub-service #strength .strength-items li {
    width: 100%;
    margin-bottom: 20px;
  }
}
#sub-service #strength .strength-items li .inner {
  border: 2px solid #abd1e8;
  border-radius: 10px;
  padding: 30px 0;
  text-align: center;
  height: 100%;
}
@media only screen and (max-width: 640px) {
  #sub-service #strength .strength-items li .inner {
    padding: 15px 0;
  }
}
#sub-service #strength .strength-items li .inner .icon-wrap {
  height: 112px;
}
@media only screen and (max-width: 640px) {
  #sub-service #strength .strength-items li .inner .icon-wrap {
    height: 20.3125vw;
  }
}
#sub-service #strength .strength-items li .inner .icon-wrap img {
  height: 100%;
  margin: auto;
}
#sub-service #strength .strength-items li .inner .ttl {
  font-weight: bold;
  font-size: 24px;
  color: #0068b7;
  margin-top: 10px;
}
@media print, screen and (max-width: 1024px) {
  #sub-service #strength .strength-items li .inner .ttl {
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 640px) {
  #sub-service #strength .strength-items li .inner .ttl {
    font-size: max(2.4rem, 20px);
  }
}
#sub-service #strength .strength-items li .inner p {
  font-weight: 500;
  font-size: 18px;
  margin-top: 10px;
}
@media print, screen and (max-width: 1024px) {
  #sub-service #strength .strength-items li .inner p {
    font-size: max(1.8rem, 15px);
  }
}
#sub-service #inner-service .txt {
  font-size: 18px;
  font-weight: 500;
  margin-top: 40px;
  line-height: 2;
}
@media only screen and (max-width: 640px) {
  #sub-service #inner-service .txt {
    font-size: max(1.8rem, 14px);
  }
}
#sub-service #inner-service .service-items {
  margin-top: 40px;
}
#sub-service #inner-service .service-items li {
  width: 48.5%;
  margin-bottom: 30px;
}
@media only screen and (max-width: 640px) {
  #sub-service #inner-service .service-items li {
    width: 100%;
  }
}
#sub-service #inner-service .service-items li .inner {
  padding: 20px 10px;
  border: 2px solid #0068b7;
  border-radius: 16px;
  text-align: center;
  height: 100%;
}
#sub-service #inner-service .service-items li .inner .img-wrap {
  height: 140px;
}
@media print, screen and (max-width: 1024px) {
  #sub-service #inner-service .service-items li .inner .img-wrap {
    height: 13.671875vw;
  }
}
@media only screen and (max-width: 640px) {
  #sub-service #inner-service .service-items li .inner .img-wrap {
    height: 21.875vw;
  }
}
#sub-service #inner-service .service-items li .inner .img-wrap img {
  height: 100%;
}
#sub-service #inner-service .service-items li .inner .ttl {
  font-weight: bold;
  font-size: 24px;
  color: #0068b7;
  margin-top: 10px;
}
@media print, screen and (max-width: 1300px) {
  #sub-service #inner-service .service-items li .inner .ttl {
    font-size: 2rem;
  }
}
#sub-service #inner-service .service-items li .inner p {
  font-weight: 500;
  font-size: 17px;
  margin-top: 10px;
}
@media print, screen and (max-width: 1300px) {
  #sub-service #inner-service .service-items li .inner p {
    font-size: 1.6rem;
  }
}
#sub-service #inner-service .service-items li .inner::before {
  position: absolute;
  content: "";
  width: 70px;
  height: 70px;
  background-color: #0068b7;
  border-radius: 10px 0 10px 0;
  margin-top: -20px;
  margin-left: -260px;
  z-index: 1;
}
@media print, screen and (max-width: 1300px) {
  #sub-service #inner-service .service-items li .inner::before {
    margin-left: max(-21.7vw, -260px);
    border-radius: 13px 0 13px 0;
  }
}
@media only screen and (max-width: 640px) {
  #sub-service #inner-service .service-items li .inner::before {
    margin-left: -44.6875vw;
  }
}
#sub-service #inner-service .service-items li .inner::after {
  position: absolute;
  content: "";
  width: 50px;
  height: 50px;
  background-image: url(../img/service/icon-04.png);
  margin-top: -260px;
  margin-left: -250px;
  z-index: 2;
  background-size: cover;
  background-position: center;
}
@media print, screen and (max-width: 1300px) {
  #sub-service #inner-service .service-items li .inner::after {
    margin-left: max(-20.6vw, -250px);
    margin-top: -250px;
  }
}
@media print, screen and (max-width: 1024px) {
  #sub-service #inner-service .service-items li .inner::after {
    margin-top: -24.4140625vw;
  }
}
@media only screen and (max-width: 640px) {
  #sub-service #inner-service .service-items li .inner::after {
    margin-left: -43.125vw;
    margin-top: -39vw;
  }
}
#sub-service #inner-service .service-items li:nth-child(2) .inner::after {
  background-image: url(../img/service/icon-05.png);
  width: 45px;
  height: 50px;
  margin-left: -247px;
}
@media print, screen and (max-width: 1300px) {
  #sub-service #inner-service .service-items li:nth-child(2) .inner::after {
    margin-left: max(-20.6vw, -247px);
    margin-top: -250px;
  }
}
@media print, screen and (max-width: 1024px) {
  #sub-service #inner-service .service-items li:nth-child(2) .inner::after {
    margin-top: -26.85546875vw;
  }
}
@media only screen and (max-width: 640px) {
  #sub-service #inner-service .service-items li:nth-child(2) .inner::after {
    width: 9.6875vw;
    height: 10.9375vw;
    margin-left: -42.1875vw;
    margin-top: -42vw;
  }
}
#sub-service #inner-service .service-items li:nth-child(3) .inner::after {
  background-image: url(../img/service/icon-06.png);
  width: 42px;
  height: 50px;
  margin-left: -245px;
}
@media print, screen and (max-width: 1300px) {
  #sub-service #inner-service .service-items li:nth-child(3) .inner::after {
    margin-left: max(-20.7vw, -245px);
  }
}
@media only screen and (max-width: 640px) {
  #sub-service #inner-service .service-items li:nth-child(3) .inner::after {
    width: 9.6875vw;
    height: 11.25vw;
    margin-left: -42.1875vw;
    margin-top: -42vw;
  }
}
#sub-service #inner-service .service-items li:nth-child(4) .inner::after {
  background-image: url(../img/service/icon-07.png);
  width: 40px;
  height: 50px;
  margin-left: -245px;
}
@media print, screen and (max-width: 1300px) {
  #sub-service #inner-service .service-items li:nth-child(4) .inner::after {
    margin-left: max(-20.2vw, -240px);
    margin-top: -250px;
  }
}
@media print, screen and (max-width: 1024px) {
  #sub-service #inner-service .service-items li:nth-child(4) .inner::after {
    margin-top: -26.85546875vw;
  }
}
@media only screen and (max-width: 640px) {
  #sub-service #inner-service .service-items li:nth-child(4) .inner::after {
    width: min(9.375vw, 60px);
    height: min(11.40625vw, 73px);
    margin-left: -40.625vw;
    margin-top: -42vw;
  }
}

#sub-recruit section {
  padding: 80px 0;
}
#sub-recruit #talent .talent-items {
  margin-top: 50px;
}
#sub-recruit #talent .talent-items li {
  width: 48.5%;
  margin-bottom: 30px;
}
#sub-recruit #talent .talent-items li:nth-child(3) .inner, #sub-recruit #talent .talent-items li:nth-child(2) .inner {
  background-color: #abd1e8;
}
@media only screen and (max-width: 640px) {
  #sub-recruit #talent .talent-items li {
    width: 100%;
  }
}
#sub-recruit #talent .talent-items li .inner {
  text-align: center;
  color: #fff;
  background-color: #0068b7;
  border-radius: 15px;
  padding: 20px 0;
}
#sub-recruit #talent .talent-items li .inner .icon-wrap {
  height: 120px;
}
@media print, screen and (max-width: 1024px) {
  #sub-recruit #talent .talent-items li .inner .icon-wrap {
    height: 11.71875vw;
  }
}
@media only screen and (max-width: 640px) {
  #sub-recruit #talent .talent-items li .inner .icon-wrap {
    height: 19.53125vw;
  }
}
#sub-recruit #talent .talent-items li .inner .icon-wrap img {
  height: 100%;
}
#sub-recruit #talent .talent-items li .inner .ttl {
  font-weight: bold;
  font-size: 24px;
  margin-top: 10px;
}
@media print, screen and (max-width: 1024px) {
  #sub-recruit #talent .talent-items li .inner .ttl {
    font-size: 2.2rem;
  }
}
@media only screen and (max-width: 640px) {
  #sub-recruit #talent .talent-items li .inner .ttl {
    font-size: max(2.4rem, 18px);
  }
}
#sub-recruit #talent .talent-items li .inner p {
  font-weight: 500;
  font-size: 17px;
  margin-top: 10px;
}
@media print, screen and (max-width: 1024px) {
  #sub-recruit #talent .talent-items li .inner p {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 640px) {
  #sub-recruit #talent .talent-items li .inner p {
    font-size: max(1.6rem, 13px);
  }
}
#sub-recruit #voice .cntTitle {
  position: absolute;
  width: fit-content;
  left: 44%;
  padding-left: 50px;
  margin-top: 50px;
}
@media print, screen and (max-width: 1300px) {
  #sub-recruit #voice .cntTitle {
    margin-top: 0px;
  }
}
@media only screen and (max-width: 640px) {
  #sub-recruit #voice .cntTitle {
    position: relative;
    left: 0;
    padding-left: 0;
    width: 90%;
  }
}
#sub-recruit #voice .swiper-wrap {
  padding-left: 5%;
  /* 「前へ」ボタンの設定 */
  /* 「次へ」ボタンの設定 */
}
@media only screen and (max-width: 640px) {
  #sub-recruit #voice .swiper-wrap {
    width: 90%;
    padding: 0;
    margin: auto;
  }
}
#sub-recruit #voice .swiper-wrap .swiper-button-prev,
#sub-recruit #voice .swiper-wrap .swiper-button-next {
  background-image: none;
  width: 53px;
  height: 53px;
  position: absolute;
  left: 1180px;
  margin-top: -700px;
  /* Z-indexなどで他の要素より手前に表示されるように調整することもできます */
}
@media print, screen and (min-width: 1601px) {
  #sub-recruit #voice .swiper-wrap .swiper-button-prev,
  #sub-recruit #voice .swiper-wrap .swiper-button-next {
    left: calc((100vw - 1080px) / 2 + 1060px);
  }
}
@media print, screen and (max-width: 1300px) {
  #sub-recruit #voice .swiper-wrap .swiper-button-prev,
  #sub-recruit #voice .swiper-wrap .swiper-button-next {
    right: 5vw;
    left: unset;
  }
}
@media only screen and (max-width: 640px) {
  #sub-recruit #voice .swiper-wrap .swiper-button-prev,
  #sub-recruit #voice .swiper-wrap .swiper-button-next {
    width: 45px;
    height: 45px;
    right: 1vw;
    margin-top: min(-109.375vw, -630px);
  }
}
#sub-recruit #voice .swiper-wrap .swiper-button-prev svg,
#sub-recruit #voice .swiper-wrap .swiper-button-next svg {
  display: none;
}
#sub-recruit #voice .swiper-wrap .swiper-button-prev {
  /* 左矢印の画像ファイルを指定 */
  background-image: url("../img/common/slide-arrow.png");
  background-repeat: no-repeat;
  background-size: contain; /* サイズに合わせて画像を調整 */
  background-position: center;
  transform: rotate(180deg);
  left: 1100px;
}
@media print, screen and (min-width: 1601px) {
  #sub-recruit #voice .swiper-wrap .swiper-button-prev {
    left: calc((100vw - 1080px) / 2 + 980px);
  }
}
@media print, screen and (max-width: 1300px) {
  #sub-recruit #voice .swiper-wrap .swiper-button-prev {
    right: calc(5vw + 70px);
    left: unset;
  }
}
@media only screen and (max-width: 640px) {
  #sub-recruit #voice .swiper-wrap .swiper-button-prev {
    left: 1vw;
  }
}
#sub-recruit #voice .swiper-wrap .swiper-button-next {
  background-image: url("../img/common/slide-arrow.png");
  background-repeat: no-repeat;
  background-size: contain; /* サイズに合わせて画像を調整 */
  background-position: center;
}
#sub-recruit #voice .swiper-wrapper .inner .top-content {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
#sub-recruit #voice .swiper-wrapper .inner .top-content .img-wrap {
  width: 40%;
  padding: 50px;
  background-image: url(../img/common/circe-bg.png);
  background-size: cover;
  background-position: center;
}
@media only screen and (max-width: 640px) {
  #sub-recruit #voice .swiper-wrapper .inner .top-content .img-wrap {
    width: 75%;
    margin-left: 12.5%;
    padding: 30px;
  }
}
#sub-recruit #voice .swiper-wrapper .inner .top-content .img-wrap img {
  width: 100%;
}
#sub-recruit #voice .swiper-wrapper .inner .top-content .txt-wrap {
  width: 55%;
  font-size: 18px;
  letter-spacing: 0.08em;
  padding-top: 60px;
}
@media print, screen and (max-width: 1300px) {
  #sub-recruit #voice .swiper-wrapper .inner .top-content .txt-wrap {
    padding-top: 100px;
  }
}
@media only screen and (max-width: 640px) {
  #sub-recruit #voice .swiper-wrapper .inner .top-content .txt-wrap {
    padding: 0;
    margin: auto;
    width: 100%;
    text-align: center;
  }
}
#sub-recruit #voice .swiper-wrapper .inner .top-content .txt-wrap .ttl {
  background-color: #0068b7;
  border-radius: 30px;
  padding: 10px 0;
  width: 250px;
  text-align: center;
  color: #fff;
  font-weight: 500;
}
@media only screen and (max-width: 640px) {
  #sub-recruit #voice .swiper-wrapper .inner .top-content .txt-wrap .ttl {
    margin: 10px auto;
    width: 70%;
    font-size: max(1.8rem, 15px);
  }
}
#sub-recruit #voice .swiper-wrapper .inner .top-content .txt-wrap .name-jp {
  font-size: 3.6rem;
  font-weight: bold;
  margin-top: 20px;
}
@media print, screen and (max-width: 1300px) {
  #sub-recruit #voice .swiper-wrapper .inner .top-content .txt-wrap .name-jp {
    font-size: 3.2rem;
  }
}
@media only screen and (max-width: 640px) {
  #sub-recruit #voice .swiper-wrapper .inner .top-content .txt-wrap .name-jp {
    margin-top: 10px;
    font-size: max(3.2rem, 24px);
  }
}
#sub-recruit #voice .swiper-wrapper .inner .top-content .txt-wrap .name-en {
  margin-top: 5px;
  font-weight: 500;
  color: #abd1e8;
}
#sub-recruit #voice .swiper-wrapper .inner .top-content .txt-wrap .name-en::first-letter {
  color: #0068b7;
}
#sub-recruit #voice .swiper-wrapper .inner .top-content .txt-wrap .voice-desc {
  font-size: 3.6rem;
  font-weight: bold;
  margin-top: 30px;
}
@media print, screen and (max-width: 1300px) {
  #sub-recruit #voice .swiper-wrapper .inner .top-content .txt-wrap .voice-desc {
    font-size: 3.2rem;
  }
}
@media only screen and (max-width: 640px) {
  #sub-recruit #voice .swiper-wrapper .inner .top-content .txt-wrap .voice-desc {
    margin-top: 15px;
    font-size: max(2.8rem, 18px);
  }
}
#sub-recruit #voice .swiper-wrapper .inner .bottom-content {
  margin-top: 50px;
  padding-top: 40px;
  margin-right: calc((100vw - 1080px) / 2);
  margin-left: calc((100vw - 1080px) / 2 - 5%);
  border-top: 1px solid #ccc;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2;
}
@media print, screen and (max-width: 1300px) {
  #sub-recruit #voice .swiper-wrapper .inner .bottom-content {
    margin-left: 0;
    margin-right: 5vw;
  }
}
@media only screen and (max-width: 640px) {
  #sub-recruit #voice .swiper-wrapper .inner .bottom-content {
    font-size: max(1.8rem, 15px);
  }
}
#sub-recruit #application {
  background-color: #0068b7;
  border-radius: 70px 70px 0 0;
  color: #fff;
}
#sub-recruit #application .c-title .en {
  color: #fff;
}
#sub-recruit #application .c-title .en::first-letter {
  color: #fff;
}
#sub-recruit #application table tr {
  border-bottom: 1px solid #fff;
}

#contact-form {
  padding: 100px 0;
  min-height: 50vh;
}

@media (min-width: 992px) {
  #contact-form .form-wrap {
    max-width: 820px;
    min-width: 760px; /* ← これが効くとPC版に切り替わりやすい */
    margin: 0 auto;
  }
}
/* 念のため、埋め込みdiv自体にも幅を明示 */
.formmailer-embed {
  width: 100% !important;
}

/* もし高さが足りない場合の保険 */
.formmailer-embed iframe {
  min-height: 1400px; /* 中の項目数に合わせて調整 */
}/*# sourceMappingURL=subpage.css.map */