@charset "UTF-8";
body {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-align: justify;
  text-justify: inter-ideograph;
  font-family: "Noto Sans JP", sans-serif;
  word-wrap: break-all;
  word-wrap: break-word;
  width: 100%;
  min-width: 1260px;
  color: #000;
  scroll-behavior: smooth;
}
@media screen and (max-width: 768px) {
  body {
    font-size: 26px;
    font-size: 3.3854166667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  body {
    font-size: 15.2941176471px;
  }
}

.col-wht {
  color: #fff !important;
}
.col-blk {
  color: #000 !important;
}
.col-main {
  color: #2f85e5 !important;
}
.col-sub {
  color: #f2a5c7 !important;
}
.col-ylw {
  color: #ffea82 !important;
}
.col-nav {
  color: #272b73 !important;
}
.col-blu1 {
  color: #a4d1f4 !important;
}
.col-blu2 {
  color: #d6f2fb !important;
}
.col-gry {
  color: #b3b3b3 !important;
}

.bg-wht {
  background-color: #fff !important;
}
.bg-blk {
  background-color: #000 !important;
}
.bg-main {
  background-color: #2f85e5 !important;
}
.bg-sub {
  background-color: #f2a5c7 !important;
}
.bg-ylw {
  background-color: #ffea82 !important;
}
.bg-nav {
  background-color: #272b73 !important;
}
.bg-blu1 {
  background-color: #a4d1f4 !important;
}
.bg-blu2 {
  background-color: #d6f2fb !important;
}
.bg-gry {
  background-color: #b3b3b3 !important;
}

.ptn-grid {
  background-color: #fff;
  background-image: linear-gradient(transparent 95%, #f0f0f0 50%, #f0f0f0), linear-gradient(90deg, transparent 95%, #f0f0f0 50%, #f0f0f0);
  background-size: 18px 18px;
  background-repeat: repeat;
}

.btn-ptn1 .btn-link, .btn-ptn2 .btn-link, .btn-ptn3 .btn-link {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  border-radius: 50rem;
}
.btn-ptn1 .btn-link:hover, .btn-ptn2 .btn-link:hover, .btn-ptn3 .btn-link:hover {
  color: rgba(255, 255, 255, 0.8);
}
.btn-ptn1 .btn-link {
  background: #272b73;
  color: #fff;
}
.btn-ptn2 .btn-link {
  background: #2f85e5;
  color: #fff;
}
.btn-ptn3 .btn-link {
  background: #fff;
  color: #2f85e5;
  font-weight: bold;
}
.btn-ptn3 .btn-link:hover {
  color: rgba(47, 133, 229, 0.8);
}

.ic-line, .ic-mail-wht, .ic-mail-blu {
  display: flex;
  align-items: center;
  -moz-column-gap: 15px;
       column-gap: 15px;
}
.ic-line::before, .ic-mail-wht::before, .ic-mail-blu::before {
  content: "";
  display: block;
  width: 28px;
  aspect-ratio: 1/1;
  background-image: url("/img/common/ic-line.png");
  background-size: 100%;
}
.ic-mail-wht::before, .ic-mail-blu::before {
  width: 21px;
  aspect-ratio: 21/15;
  background-image: url("/img/common/ic-mail-wht.png");
  background-size: 100%;
}
.ic-mail-blu::before {
  background-image: url("/img/common/ic-mail-blu.png");
  background-size: 100%;
}

.arw-solid-wht, .arw-anchor {
  position: relative;
}
.arw-solid-wht::after, .arw-anchor::after {
  content: "";
  display: block;
  width: 9px;
  aspect-ratio: 9/14;
  background-image: url("/img/common/arw-solid-wht.png");
  background-size: 100%;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translate(0, -50%);
  transition: 0.3s;
}
.arw-solid-wht:hover::after, .arw-anchor:hover::after {
  transform: translate(-2px, -50%);
}
.arw-circle-blu {
  position: relative;
}
.arw-circle-blu::after {
  content: "";
  display: block;
  width: 40px;
  aspect-ratio: 1/1;
  background-image: url("/img/common/arw-circle-blu.png");
  background-size: 100%;
  position: absolute;
  right: 20px;
  bottom: 15px;
  transition: 0.3s;
}
.arw-circle-blu:hover::after {
  transform: translateX(-2px);
}
.arw-circle-blu-btm {
  position: relative;
}
.arw-circle-blu-btm::after {
  content: "";
  display: block;
  width: 40px;
  aspect-ratio: 1/1;
  background-image: url("/img/common/arw-circle-blu.png");
  background-size: 100%;
  position: absolute;
  left: 50%;
  top: 100%;
  transform: translate(-50%, -50%);
  transition: 0.3s;
}
.arw-circle-blu-btm:hover::after {
  transform: translate(calc(-50% - 2px), -50%);
}
.arw-circle-nav {
  position: relative;
}
.arw-circle-nav::after {
  content: "";
  display: block;
  width: 30px;
  aspect-ratio: 1/1;
  background-image: url("/img/common/arw-circle-nav.png");
  background-size: 100%;
  position: absolute;
  right: 10px;
  bottom: 10px;
  transition: 0.3s;
}
.arw-circle-nav:hover::after {
  transform: translateX(-2px);
}
.arw-anchor::after {
  transform: translateY(-50%) rotate(90deg);
}
.arw-anchor:hover::after {
  transform: translateY(calc(-50% + 2px)) rotate(90deg);
}

.wave-top-blu {
  position: relative;
  z-index: 1;
}
.wave-top-blu::before {
  content: "";
  display: block;
  width: 100%;
  aspect-ratio: 1920/52;
  background-image: url("/img/common/wave-blu.png");
  background-size: 100%;
  position: absolute;
  left: 0;
  bottom: calc(100% - 1px);
  z-index: -1;
}
.wave-btm-blu {
  position: relative;
  z-index: 1;
}
.wave-btm-blu::after {
  content: "";
  display: block;
  width: 100%;
  aspect-ratio: 1920/52;
  background-image: url("/img/common/wave-blu.png");
  background-size: 100%;
  position: absolute;
  left: 0;
  top: calc(100% - 1px);
  transform: scale(-1, -1);
  z-index: -1;
}
.wave-top-wht {
  position: relative;
  z-index: 1;
}
.wave-top-wht::before {
  content: "";
  display: block;
  width: 100%;
  aspect-ratio: 1920/46;
  background-image: url("/img/common/wave-wht.png");
  background-size: 100%;
  position: absolute;
  left: 0;
  bottom: calc(100% - 1px);
  z-index: -1;
}
.wave-btm-wht {
  position: relative;
  z-index: 1;
}
.wave-btm-wht::after {
  content: "";
  display: block;
  width: 100%;
  aspect-ratio: 1920/46;
  background-image: url("/img/common/wave-wht.png");
  background-size: 100%;
  position: absolute;
  left: 0;
  top: calc(100% - 1px);
  transform: scaleY(-1);
  z-index: -1;
}

.obj-dot::after {
  content: "";
  display: block;
  width: 50px;
  aspect-ratio: 50/10;
  background-image: url("/img/common/obj-dot.png");
  background-size: 100%;
  margin: 20px 0 0;
}
.obj-dot.txt-aln-c::after {
  margin: 20px auto 0 auto;
}
.obj-staff__note {
  position: relative;
  z-index: 1;
}
.obj-staff__note::after {
  content: "";
  display: block;
  width: 188px;
  aspect-ratio: 188/197;
  background-image: url("/img/common/illust-note.png");
  background-size: 100%;
  position: absolute;
}
.obj-staff__pc {
  position: relative;
  z-index: 1;
}
.obj-staff__pc::after {
  content: "";
  display: block;
  width: 171px;
  aspect-ratio: 171/189;
  background-image: url("/img/common/illust-pc.png");
  background-size: 100%;
  position: absolute;
}

.hov-opa a:hover {
  opacity: 0.8;
}
.hov-img a:hover img {
  opacity: 0.8;
}
.hov-scale a img, .hov-up a img {
  backface-visibility: hidden;
  -webkit-transform: translateZ(0) scale(1, 1);
}
.hov-scale a:hover img, .hov-up a:hover img {
  transform: scale(0.98);
}
.hov-up a:hover img {
  transform: translateY(-3px);
}

.tbl {
  width: 100%;
}
.tbl td {
  overflow-wrap: anywhere; /* 収まらない場合に折り返す */
  word-break: normal; /* 単語の分割はデフォルトに依存 */
  line-break: strict; /* 禁則処理を厳格に適用 */
}
.tbl-basic {
  background: #fff;
  border: solid 1px #b3b3b3;
}
.tbl-basic th, .tbl-basic td {
  padding: 20px 4%;
  vertical-align: middle;
}
.tbl-basic th {
  width: 30%;
  background: #2f85e5;
  color: #fff;
  text-align: center;
}
.tbl-basic tr:not(:first-child) th, .tbl-basic tr:not(:first-child) td {
  border-top: solid 1px #b3b3b3;
}
.tbl-price th, .tbl-price td {
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  text-align: center;
  padding: 15px 5px;
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  .tbl-price th, .tbl-price td {
    font-size: 25px;
    font-size: 3.2552083333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .tbl-price th, .tbl-price td {
    font-size: 14.7058823529px;
  }
}
.tbl-price th:not(:first-child), .tbl-price td:not(:first-child) {
  border-left: solid 1px #b3b3b3;
}
.tbl-price th {
  line-height: 1.875;
}
.tbl-price td {
  line-height: 2;
}
.tbl-price tr:not(:first-child) th, .tbl-price tr:not(:first-child) td {
  border-top: solid 1px #b3b3b3;
}
.tbl-price thead th {
  background: #2f85e5;
  color: #fff;
}
.tbl-price tbody th {
  background: #a4d1f4;
}
.tbl-price__clm6 th, .tbl-price__clm6 td {
  width: 180px;
}
.tbl-price__clm4 thead th:first-child, .tbl-price__clm4 tbody th {
  width: 210px;
}
.tbl-price__clm4 thead th:not(:first-child), .tbl-price__clm4 tbody td {
  width: 290px;
}

[class^=cts-] {
  margin: 0 auto;
}

.cts-1080 {
  width: 100%;
  max-width: 1080px;
}
.cts-1280 {
  width: 100%;
  max-width: 1280px;
}

.layout-clm-2 {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
.layout-clm-2 .list-item,
.layout-clm-2 .layout-item {
  width: calc((100% - 40px) / 2);
}
.layout-clm-2-c {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px;
}
.layout-clm-2-c .list-item,
.layout-clm-2-c .layout-item {
  width: calc((100% - 40px) / 2);
}
.layout-clm-3 {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
.layout-clm-3 .list-item,
.layout-clm-3 .layout-item {
  width: calc((100% - 80px) / 3);
}
.layout-clm-3-c {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px;
}
.layout-clm-3-c .list-item,
.layout-clm-3-c .layout-item {
  width: calc((100% - 80px) / 3);
}
.layout-clm-4 {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
.layout-clm-4 .list-item,
.layout-clm-4 .layout-item {
  width: calc((100% - 120px) / 4);
}
.layout-clm-4-c {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px;
}
.layout-clm-4-c .list-item,
.layout-clm-4-c .layout-item {
  width: calc((100% - 120px) / 4);
}

.list-check .list-item, .list-news .list-item, .list-card .list-item, .list-flow .list-item {
  width: 100%;
}
.list-nav .nav-item {
  line-height: 1;
}
.list-news time {
  display: block;
  line-height: 1;
  color: #2f85e5;
}
.list-news__item {
  background: #fff;
  border-radius: 10px;
}
.list-news__link {
  display: block;
  padding: 20px 30px;
}
.list-news__inner {
  display: flex;
  align-items: center;
  -moz-column-gap: 20px;
       column-gap: 20px;
}
.list-news__ttl {
  margin-top: 10px;
}
.list-link .btn-link {
  font-size: 17px;
  font-size: 1.7rem;
  width: 300px;
  max-width: 100%;
  height: 60px;
}
@media screen and (max-width: 768px) {
  .list-link .btn-link {
    font-size: 27px;
    font-size: 3.515625vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-link .btn-link {
    font-size: 15.8823529412px;
  }
}
.list-check {
  display: grid;
}
.list-check__item {
  display: flex;
  align-items: flex-start;
}
.list-check__item::before {
  content: "";
  display: block;
  aspect-ratio: 1/1;
}
.list-check__blu {
  row-gap: 30px;
}
.list-check__blu .list-check__item {
  -moz-column-gap: 20px;
       column-gap: 20px;
  border-bottom: dashed 2px #b3b3b3;
  padding-bottom: 30px;
}
.list-check__blu .list-check__item::before {
  width: 30px;
  min-width: 30px;
  background-image: url("/img/common/ic-check-blu.png");
  background-size: 100%;
  transform: translateY(5px);
}
.list-check__pnk {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  gap: 20px;
}
.list-check__pnk .list-item,
.list-check__pnk .layout-item {
  width: calc((100% - 20px) / 2);
}
.list-check__pnk .list-check__item {
  -moz-column-gap: 10px;
       column-gap: 10px;
  background: #fff;
  border-radius: 10px;
  padding: 15px 20px;
}
.list-check__pnk .list-check__item::before {
  width: 20px;
  min-width: 20px;
  background-image: url("/img/common/ic-check-pnk.png");
  background-size: 100%;
  transform: translateY(4px);
}
.list-menu__item {
  border-bottom: dashed 2px #2f85e5;
}
.list-menu__link {
  display: grid;
  row-gap: 15px;
  padding-bottom: 50px;
}
.list-menu__img {
  border: solid 3px #2f85e5;
  border-radius: 20px;
  overflow: hidden;
}
.list-menu__ttl, .list-menu__txt {
  text-align: center;
}
.list-menu__ttl {
  font-size: 32px;
  font-size: 3.2rem;
  font-weight: bold;
  color: #2f85e5;
}
@media screen and (max-width: 768px) {
  .list-menu__ttl {
    font-size: 42px;
    font-size: 5.46875vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-menu__ttl {
    font-size: 24.7058823529px;
  }
}
.list-menu__txt {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.7;
}
@media screen and (max-width: 768px) {
  .list-menu__txt {
    font-size: 30px;
    font-size: 3.90625vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-menu__txt {
    font-size: 17.6470588235px;
  }
}
.list-menu .obj-staff__pc::after {
  top: 0;
  left: 0;
  transform: translate(-20px, 165px);
  z-index: 1;
}
.list-menu .obj-user {
  position: relative;
  z-index: 1;
}
.list-menu .obj-user::after {
  content: "";
  display: block;
  width: 144px;
  aspect-ratio: 144/201;
  background-image: url("/img/top/menu-merit-illust.png");
  background-size: 100%;
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(35px, 150px);
  z-index: 1;
}
.list-bnr__item {
  border: solid 3px #2f85e5;
  aspect-ratio: 400/300;
  border-radius: 10px;
  overflow: hidden;
}
.list-bnr__item.flow {
  background: url("/img/top/bnr-flow-img.png") center center no-repeat;
  background-size: cover;
}
.list-bnr__item.price {
  background: url("/img/top/bnr-price-img.png") center center no-repeat;
  background-size: cover;
}
.list-bnr__item.company {
  background: url("/img/top/bnr-company-img.png") center center no-repeat;
  background-size: cover;
}
.list-bnr__link {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
}
.list-bnr__link::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  transition: 0.3s;
}
.list-bnr__link:hover::before {
  background: rgba(0, 0, 0, 0.2);
}
.list-bnr__ttl {
  width: 210px;
  max-width: 100%;
  white-space: nowrap;
  padding: 13px 0;
  border-radius: 0 10px 0 0;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 27px;
  font-size: 2.7rem;
  font-weight: bold;
  background: #2f85e5;
  color: #fff;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .list-bnr__ttl {
    font-size: 37px;
    font-size: 4.8177083333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-bnr__ttl {
    font-size: 21.7647058824px;
  }
}
.list-draw__img {
  width: 100%;
  border: solid 3px #2f85e5;
  border-radius: 10px;
  overflow: hidden;
}
.list-draw__ttl {
  font-size: 28px;
  font-size: 2.8rem;
  font-weight: bold;
  color: #2f85e5;
  text-align: center;
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .list-draw__ttl {
    font-size: 38px;
    font-size: 4.9479166667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-draw__ttl {
    font-size: 22.3529411765px;
  }
}
.list-card__item, .list-flow__item {
  background: #d6f2fb;
  border-radius: 10px;
  padding: 40px 60px;
}
.list-card__ttl, .list-flow__ttl {
  font-size: 25px;
  font-size: 2.5rem;
  font-weight: bold;
  display: flex;
  align-items: center;
  -moz-column-gap: 20px;
       column-gap: 20px;
}
@media screen and (max-width: 768px) {
  .list-card__ttl, .list-flow__ttl {
    font-size: 35px;
    font-size: 4.5572916667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-card__ttl, .list-flow__ttl {
    font-size: 20.5882352941px;
  }
}
.list-card__txt, .list-flow__txt {
  margin-top: 10px;
}
.list-card__num, .list-flow__num {
  font-size: 34px;
  font-size: 3.4rem;
  font-weight: bold;
  color: #f2a5c7;
}
@media screen and (max-width: 768px) {
  .list-card__num, .list-flow__num {
    font-size: 44px;
    font-size: 5.7291666667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-card__num, .list-flow__num {
    font-size: 25.8823529412px;
  }
}
.list-flow__item {
  display: flex;
  align-items: center;
  -moz-column-gap: 40px;
       column-gap: 40px;
}
.list-flow__bx {
  width: 780px;
  max-width: 100%;
}
.list-flow__num span {
  font-size: 24px;
  font-size: 2.4rem;
  margin-right: 5px;
}
@media screen and (max-width: 768px) {
  .list-flow__num span {
    font-size: 34px;
    font-size: 4.4270833333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-flow__num span {
    font-size: 20px;
  }
}
.list-panel {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}
.list-panel .list-item,
.list-panel .layout-item {
  width: calc((100% - 60px) / 3);
}
.list-panel__item {
  background: #d6f2fb;
  padding: 50px 20px;
  border-radius: 10px;
}
.list-panel dt {
  font-size: 25px;
  font-size: 2.5rem;
  font-weight: bold;
  color: #2f85e5;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .list-panel dt {
    font-size: 35px;
    font-size: 4.5572916667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-panel dt {
    font-size: 20.5882352941px;
  }
}
.list-panel dd {
  margin-top: 20px;
}
.list-out__item {
  aspect-ratio: 520/350;
  background: #2f85e5;
  color: #fff;
  padding: 30px;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 10px;
}
.list-out__ic {
  text-align: center;
}
.list-out__ttl {
  font-size: 28px;
  font-size: 2.8rem;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .list-out__ttl {
    font-size: 38px;
    font-size: 4.9479166667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-out__ttl {
    font-size: 22.3529411765px;
  }
}

.com-tag-main .list-tag {
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 500;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 5px;
}
@media screen and (max-width: 768px) {
  .com-tag-main .list-tag {
    font-size: 28px;
    font-size: 3.6458333333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .com-tag-main .list-tag {
    font-size: 16.4705882353px;
  }
}
.com-tag-main .tag-link {
  display: block;
  background: #f2a5c7;
  color: #fff;
  padding: 10px 20px;
  border-radius: 50rem;
}
.com-tag-main .tag-link:hover {
  opacity: 0.8;
}
.com-tag-sub .list-tag {
  font-size: 15px;
  font-size: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
@media screen and (max-width: 768px) {
  .com-tag-sub .list-tag {
    font-size: 25px;
    font-size: 3.2552083333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .com-tag-sub .list-tag {
    font-size: 14.7058823529px;
  }
}
.com-tag-sub .tag-item {
  line-height: 1;
  background: #f2a5c7;
  color: #fff;
  padding: 5px 10px 7px 10px;
  border-radius: 50rem;
}
.com-gmap {
  max-width: 100%;
}
.com-gmap iframe {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 100%;
}
.com-layout {
  display: flex;
}
.com-tel .tel {
  line-height: 1;
}
.com-bnr .bnr {
  width: 800px;
  max-width: 100%;
  aspect-ratio: 800/250;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.com-bnr .bnr-link {
  width: 100%;
  height: 100%;
  border: solid 3px #2f85e5;
  border-radius: 10px;
  overflow: hidden;
  display: flex;
  align-items: center;
  padding: 0 60px;
  position: relative;
  z-index: 1;
}
.com-bnr .bnr-link::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.16);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  transition: 0.3s;
}
.com-bnr .bnr-link:hover::before {
  background: rgba(0, 0, 0, 0.3);
}
.com-bnr .bnr-ttl {
  font-weight: bold;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.com-bnr .bnr-ttl em {
  background: #2f85e5;
  padding: 3px 12px 5px 12px;
  border-radius: 5px;
}
.com-bnr .bnr::before, .com-bnr .bnr::after {
  content: "";
  display: block;
  width: 107px;
  aspect-ratio: 107/84;
  background-image: url("/img/common/obj-circle.png");
  background-size: 100%;
  position: absolute;
  z-index: -1;
}
.com-bnr .bnr::before {
  top: 0;
  left: 0;
  transform: translate(-40px, -50px);
}
.com-bnr .bnr::after {
  right: 0;
  bottom: 0;
  transform: translate(30px, 30px);
}
.com-bnr .obj-note::before {
  content: "";
  display: block;
  width: 97px;
  aspect-ratio: 120/107;
  background-image: url("/img/top/other_service-illust.png");
  background-size: 100%;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(-240px, -50%);
  z-index: -1;
}
.com-bnr .application .bnr-link {
  background: url("/img/about/other-service-bnr.png") center center no-repeat;
  background-size: cover;
}
.com-bnr .otherservice .bnr-link {
  background: url("/img/application/other-service-bnr.png") center center no-repeat;
  background-size: cover;
}

.ttl-main {
  font-size: 40px;
  font-size: 4rem;
  line-height: 1.625;
  letter-spacing: 0.08em;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .ttl-main {
    font-size: 50px;
    font-size: 6.5104166667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-main {
    font-size: 29.4117647059px;
  }
}
.ttl-sub {
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: 600;
  border-left: solid #2f85e5 6px;
  border-bottom: solid 1px #ddd;
  background: #f5f5f5;
  padding: 10px 20px 15px 20px;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .ttl-sub {
    font-size: 34px;
    font-size: 4.4270833333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-sub {
    font-size: 20px;
  }
}
.ttl-circle {
  display: flex;
  align-items: flex-start;
  -moz-column-gap: 15px;
       column-gap: 15px;
  margin-bottom: 15px;
}
.ttl-circle::before {
  content: "";
  display: block;
  width: 28px;
  min-width: 28px;
  aspect-ratio: 1/1;
  border-radius: 50rem;
  background: #2f85e5;
  transform: translateY(8px);
}
.ttl-bar {
  background: #2f85e5;
  color: #fff;
  padding: 5px 20px;
  border-radius: 10px;
}

.bnr-tce_group .bnr-link {
  line-height: 1.5909090909;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 20px;
  background: url("/img/common/bnr-tce_group.png") center center no-repeat;
  background-size: cover;
  position: relative;
  z-index: 1;
}
.bnr-tce_group .bnr-link::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  transition: 0.3s;
}
.bnr-tce_group .bnr-link:hover::before {
  background: rgba(0, 0, 0, 0.5);
}

.marker-ylw {
  background: linear-gradient(transparent 50%, #ffea82 50%);
}

.txt-plain {
  line-height: 1.875;
}
.txt-plain.ft-18 {
  line-height: 2.2222222222;
}
.txt-plain-ptn2 {
  line-height: 2.25;
}

#ctn-top #header {
  aspect-ratio: 1920/930;
}

#header {
  width: 100%;
  padding-top: 20px;
  background: url("/img/common/mv-bg.png") center center no-repeat;
  background-size: cover;
  overflow: hidden;
}
#header.obj-corner {
  position: relative;
  z-index: 1;
}
#header.obj-corner::before, #header.obj-corner::after {
  content: "";
  display: block;
  width: 609px;
  max-width: 31.71875%;
  aspect-ratio: 609/211;
  background-image: url("/img/common/mv-corner-tl.png");
  background-size: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
#header.obj-corner::after {
  width: 416px;
  max-width: 21.6666666667%;
  aspect-ratio: 416/394;
  background-image: url("/img/common/mv-corner-lb.png");
  background-size: 100%;
  top: inherit;
  bottom: 0;
}

.hd-bar {
  padding: 0 2%;
}

.header-nav {
  margin-top: 20px;
}
.header-nav__list {
  font-weight: bold;
  display: flex;
  justify-content: flex-end;
}
.header-nav__item {
  line-height: 1;
  display: flex;
  align-items: center;
}
.header-nav__item:not(:first-child)::before {
  content: "";
  display: block;
  width: 8px;
  aspect-ratio: 1/1;
  border-radius: 50rem;
  background: #2f85e5;
  margin: 0 20px;
}
.header-nav__link:hover {
  color: #2f85e5;
}

.mv, .sv {
  width: 100%;
  position: relative;
  z-index: 1;
}
.mv img, .sv img {
  display: block;
  width: 100%;
}

.mv {
  -moz-column-gap: 3.65%;
       column-gap: 3.65%;
  transform: translate(1.5%, 25%);
}
.mv-cc {
  width: 520px;
  max-width: 27.0833333333%;
  transform: translateY(-10%);
}
.mv-img {
  width: 743px;
  max-width: 38.6979166667%;
}
.mv.obj-staff::after {
  content: "";
  display: block;
  width: 365px;
  max-width: 19.0104166667%;
  aspect-ratio: 365/279;
  background-image: url("/img/top/mv-illust-staff.png");
  background-size: 100%;
  position: absolute;
  left: 2.5%;
  bottom: 0;
  transform: translate(0, 24%);
  z-index: -1;
}
.mv.obj-note::before {
  content: "";
  display: block;
  width: 117px;
  max-width: 6.09375%;
  aspect-ratio: 117/121;
  background-image: url("/img/top/mv-illust-note.png");
  background-size: 100%;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-108%, -60%);
  z-index: 1;
}

.sv {
  width: 1600px;
  max-width: 83.3333333333%;
  margin: 0 2% 0 auto;
  transform: translateY(3%);
  padding-bottom: 2.5%;
}
.sv-img {
  max-width: 70%;
}

.top-trouble {
  padding: 120px 0;
}
.top-trouble .ttl-main {
  margin-bottom: 50px;
}
.top-trouble .obj-point {
  position: relative;
  z-index: 1;
}
.top-trouble .obj-point::before {
  content: "";
  display: block;
  width: 51px;
  aspect-ratio: 51/34;
  background-image: url("/img/common/obj-point.png");
  background-size: 100%;
  position: absolute;
  right: 100%;
  bottom: 100%;
  transform: translate(50%, 40%);
  z-index: -1;
}
.top-trouble .obj-user {
  position: relative;
  z-index: 1;
}
.top-trouble .obj-user::after {
  content: "";
  display: block;
  width: 185px;
  aspect-ratio: 185/274;
  background-image: url("/img/top/trouble-illust.png");
  background-size: 100%;
  position: absolute;
  right: 0;
  bottom: 0;
  transform: translateX(20px);
  z-index: -1;
}

.top-support {
  padding: 80px 0 185px 0;
}
.top-support .ttl-main {
  margin-bottom: 70px;
}
.top-support .support-ttl {
  margin-bottom: 25px;
}
.top-support .support-ttl em {
  padding: 5px 0;
}
.top-support .layout-item {
  margin-left: 330px;
}
.top-support .img-01 {
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(calc(-100% - 50px), -85px);
  z-index: -1;
}
.top-support .img-02 {
  position: absolute;
  right: 0;
  bottom: 0;
  transform: translate(420px, 100px);
  z-index: -1;
}
.top-support .obj-staff__note::after {
  top: 0;
  left: 0;
  transform: translate(0, -50px);
  z-index: -1;
}
.top-support .obj-img::after {
  content: "";
  display: block;
  width: 568px;
  max-width: 100%;
  aspect-ratio: 568/666;
  background-image: url("/img/top/support-img-02.png");
  background-size: 100%;
  left: 100%;
  bottom: 0;
  transform: translate(-150px, 0);
}

.top-menu {
  padding: 140px 0 120px 0;
}

.top-other_service {
  background: url("/img/top/other_service-corner.png") left top no-repeat;
  background-size: 28.33%;
}
.top-other_service .ttl-main {
  line-height: inherit;
  margin-bottom: 40px;
}
.top-other_service .ttl-main em {
  padding: 0px 15px 5px 15px;
}
.top-other_service .img {
  margin-left: -50px;
}
.top-other_service .obj-note {
  position: relative;
  z-index: 1;
}
.top-other_service .obj-note::after {
  content: "";
  display: block;
  width: 120px;
  aspect-ratio: 120/107;
  background-image: url("/img/top/other_service-illust.png");
  background-size: 100%;
  margin: 0 0 0 auto;
}

.top-other_service,
.top-bnr,
.top-news {
  padding: 100px 0;
}

.top-news {
  background: url("/img/top/news-corner.png") right bottom no-repeat;
  background-size: 23.44%;
}
.top-news .cts-1080 {
  min-height: 260px;
}
.top-news .ttl-main {
  margin-top: 45px;
}
.top-news .btn {
  position: absolute;
  top: 200px;
  left: 0;
}

#ctn-lower article {
  padding: 120px 0;
}
#ctn-lower .ttl-main {
  margin-bottom: 60px;
}

.lower-cad .obj-staff__pc::after {
  left: 0;
  bottom: 0;
  transform: translateX(-50px);
}
.lower-cad .obj-circle::before {
  content: "";
  display: block;
  width: 131px;
  aspect-ratio: 131/119;
  background-image: url("/img/about/cad-obj.png");
  background-size: 100%;
  position: absolute;
  right: 0;
  bottom: 0;
  transform: translateX(165px);
  z-index: -1;
}

.lower-merit .obj-pc {
  position: relative;
  z-index: 1;
}
.lower-merit .obj-pc::before {
  content: "";
  display: block;
  width: 177px;
  aspect-ratio: 177/173;
  background-image: url("/img/merit/merit-illust.png");
  background-size: 100%;
  position: absolute;
  top: 0;
  right: 0;
  transform: translateX(-50px);
  z-index: -1;
}

.lower-out .obj-staff {
  position: relative;
  z-index: 1;
}
.lower-out .obj-staff::before {
  content: "";
  display: block;
  width: 192px;
  aspect-ratio: 192/185;
  background-image: url("/img/merit/outsourcing-illust.png");
  background-size: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(90px, -35px);
  z-index: -1;
}

.lower-service .obj-staff__note::after {
  width: 150px;
  max-width: 100%;
  bottom: 100%;
  right: 0;
  transform: translateX(-200px) scaleX(-1);
}
.lower-service_app {
  background: url("/img/application/application-corner.png") left top no-repeat;
  background-size: 26.67%;
}

.lower-response .obj-user {
  position: relative;
  z-index: 1;
}
.lower-response .obj-user::after {
  content: "";
  display: block;
  width: 172px;
  aspect-ratio: 172/206;
  background-image: url("/img/application/tce_create-illust.png");
  background-size: 100%;
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(-120px, -30px);
  z-index: -1;
}

#footer {
  padding: 60px 0 20px 0;
}
#footer .com-logo {
  margin-bottom: 50px;
}
#footer .bnr-tce_group {
  margin-top: 30px;
}

.footer-nav {
  margin-top: 80px;
}
.footer-nav__list {
  font-size: 15px;
  font-size: 1.5rem;
  font-weight: normal;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  -moz-column-gap: 55px;
       column-gap: 55px;
}
@media screen and (max-width: 768px) {
  .footer-nav__list {
    font-size: 25px;
    font-size: 3.2552083333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .footer-nav__list {
    font-size: 14.7058823529px;
  }
}
.footer-nav__list:not(:first-child) {
  margin-top: 20px;
}
.footer-nav__link {
  color: #fff;
}
.footer-nav__link:hover {
  opacity: 0.8;
}

.ft-copy {
  margin-top: 50px;
}/*# sourceMappingURL=style.css.map */