@charset "UTF-8";
body {
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.06em;
  text-align: justify;
  text-justify: inter-ideograph;
  font-family: "Yu Gothic", "游ゴシック", YuGothic, "Noto Sans JP", sans-serif;
  word-wrap: break-all;
  word-wrap: break-word;
  width: 100%;
  min-width: 1260px;
  color: #262626;
  scroll-behavior: smooth;
  background: #fff9e6;
}
@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: #262626 !important;
}
.col-beg {
  color: #fff9e6 !important;
}
.col-gry1 {
  color: #8c8c8c !important;
}
.col-gry2 {
  color: #cacaca !important;
}
.col-gry3 {
  color: #dfe3eb !important;
}
.col-red {
  color: #940c02 !important;
}
.col-nav1 {
  color: #0f224a !important;
}
.col-nav2 {
  color: #253355 !important;
}
.col-nav3 {
  color: #53617e !important;
}

.bg-wht {
  background-color: #fff !important;
}
.bg-blk {
  background-color: #262626 !important;
}
.bg-beg {
  background-color: #fff9e6 !important;
}
.bg-gry1 {
  background-color: #8c8c8c !important;
}
.bg-gry2 {
  background-color: #cacaca !important;
}
.bg-gry3 {
  background-color: #dfe3eb !important;
}
.bg-red {
  background-color: #940c02 !important;
}
.bg-nav1 {
  background-color: #0f224a !important;
}
.bg-nav2 {
  background-color: #253355 !important;
}
.bg-nav3 {
  background-color: #53617e !important;
}
.bg-hd {
  position: relative;
}
.bg-hd::before {
  content: "";
  display: block;
  width: 100%;
  aspect-ratio: 1920/1312;
  background-image: url("/img/common/bg-hd.png");
  background-size: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
}
.bg-top-ft {
  position: relative;
  overflow: hidden;
}
.bg-top-ft::after {
  content: "";
  display: block;
  height: 100%;
  aspect-ratio: 1139/570;
  background-image: url("/img/common/bg-top-ft.png");
  background-size: 100%;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: -2;
}
.bg-lower-ft {
  position: relative;
  overflow: hidden;
}
.bg-lower-ft::after {
  content: "";
  display: block;
  width: 1374px;
  max-width: 71.5625%;
  aspect-ratio: 1374/798;
  background-image: url("/img/common/bg-lower-ft.png");
  background-size: 100%;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: -2;
}

.btn-ptn1 .btn-link, .btn-ptn2 .btn-link {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: #940c02;
  border: solid 1px #940c02;
  border-radius: 50rem;
}
.btn-ptn1 .btn-link:hover, .btn-ptn2 .btn-link:hover {
  color: rgba(148, 12, 2, 0.8);
}
.btn-ptn1 .btn-link.h-90, .btn-ptn2 .btn-link.h-90 {
  justify-content: flex-start;
  border-radius: 20px;
  padding: 0 40px;
  text-align: left;
}
.btn-ptn2 .btn-link {
  border-color: #fff;
  color: #fff;
}
.btn-ptn2 .btn-link:hover {
  color: rgba(255, 255, 255, 0.8);
}
.btn-ptn3 .btn-link {
  font-family: "Yu Gothic", "游ゴシック", YuGothic, "Noto Sans JP", sans-serif;
  color: #940c02;
  font-size: 17px;
  font-size: 1.7rem;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .btn-ptn3 .btn-link {
    font-size: 27px;
    font-size: 3.515625vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .btn-ptn3 .btn-link {
    font-size: 15.8823529412px;
  }
}
.btn-ptn3 .btn-link:hover {
  color: rgba(148, 12, 2, 0.8);
}

.bnr-official .bnr-link {
  background: url("/img/common/bnr-special-site.png") center center no-repeat;
  background-size: cover;
  line-height: 1.6;
  padding: 20px;
  position: relative;
  z-index: 1;
}
.bnr-official .bnr-link::before, .bnr-official .bnr-link::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.3s;
}
.bnr-official .bnr-link::before {
  border: solid 1px #fff;
  transform: translate(-8px, -8px);
}
.bnr-official .bnr-link::after {
  background: rgba(0, 0, 0, 0.5);
  z-index: -1;
}
.bnr-official .bnr-link:hover {
  transform: translate(-1px, -1px);
}
.bnr-official .bnr-link:hover::before {
  transform: translate(0px, 0px);
}
.bnr-official .bnr-link:hover::after {
  background: rgba(0, 0, 0, 0.7);
}

.ic-pin-blk, .ic-pin-wht {
  display: flex;
  align-items: center;
}
.ic-pin-blk::before, .ic-pin-wht::before {
  content: "";
  display: block;
  width: 18px;
  aspect-ratio: 18/21;
  background-image: url("/img/common/ic-pin-blk.png");
  background-size: 100%;
  margin-right: 5px;
}
.ic-pin-wht::before {
  background-image: url("/img/common/ic-pin-wht.png");
  background-size: 100%;
}

.arw-red, .arw-red-flx, .arw-wht, .arw-wht-flx, .arw-wht-corner, .arw-solid-red {
  position: relative;
}
.arw-red::after, .arw-red-flx::after, .arw-wht::after, .arw-wht-flx::after, .arw-wht-corner::after, .arw-solid-red::after {
  content: "";
  display: block;
  width: 44px;
  aspect-ratio: 44/26;
  background-image: url("/img/common/arw-red.png");
  background-size: 100%;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translate(0, -50%);
  transition: 0.3s;
}
.arw-red:hover::after, .arw-red-flx:hover::after, .arw-wht:hover::after, .arw-wht-flx:hover::after, .arw-wht-corner:hover::after, .arw-solid-red:hover::after {
  transform: translate(2px, -50%);
}
.arw-wht::after {
  aspect-ratio: 62/41;
  background-image: url("/img/common/arw-wht.png");
  background-size: 100%;
}
.arw-wht-corner::after {
  width: 62px;
  aspect-ratio: 62/41;
  background-image: url("/img/common/arw-wht.png");
  background-size: 100%;
  top: inherit;
  right: 30px;
  bottom: 30px;
  transform: none;
}
.arw-wht-corner:hover::after {
  transform: translate(2px, 0);
}
.arw-red-flx, .arw-wht-flx {
  display: flex;
  align-items: center;
  -moz-column-gap: 30px;
       column-gap: 30px;
}
.arw-red-flx::after, .arw-wht-flx::after {
  position: static;
  transform: none;
}
.arw-red-flx:hover::after, .arw-wht-flx:hover::after {
  transform: translate(3px, 0);
}
.arw-solid-red::after {
  width: 11px;
  aspect-ratio: 11/6;
  background-image: url("/img/common/arw-solid-red.png");
  background-size: 100%;
}
.arw-solid-red:hover::after {
  transform: translate(0, calc(-50% + 2px));
}

.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 td {
  overflow-wrap: anywhere; /* 収まらない場合に折り返す */
  word-break: normal; /* 単語の分割はデフォルトに依存 */
  line-break: strict; /* 禁則処理を厳格に適用 */
}
.tbl-ptn1, .tbl-ptn2 {
  width: 100%;
}
.tbl-ptn1 th, .tbl-ptn1 td {
  vertical-align: middle;
  padding: 5px 0;
}
.tbl-ptn1 th:first-child, .tbl-ptn1 td:first-child {
  width: 30%;
}
.tbl-ptn1 th:not(:first-child), .tbl-ptn1 td:not(:first-child) {
  width: 10%;
  text-align: center;
}
.tbl-ptn1 th .inner {
  display: none;
}
.tbl-ptn2 {
  background: #fff;
  border: solid 1px #dfe3eb;
}
.tbl-ptn2 th, .tbl-ptn2 td {
  padding: 20px 3vw;
}
.tbl-ptn2 th {
  width: 30%;
  background: #0f224a;
  color: #fff;
  text-align: center;
}
.tbl-ptn2 tr:not(:first-child) th {
  border-top: solid 1px #fff;
}
.tbl-ptn2 tr:not(:first-child) td {
  border-top: solid 1px #dfe3eb;
}

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

.cts-1080 {
  width: 100%;
  max-width: 1080px;
}
.cts-1720 {
  width: 100%;
  max-width: 1720px;
}
.cts-1720 .cts-1080 {
  padding-top: 120px;
  padding-bottom: 120px;
}

.layout-clm-2 {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
.layout-clm-2 .list-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 {
  width: calc((100% - 40px) / 2);
}
.layout-clm-3 {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}
.layout-clm-3 .list-item {
  width: calc((100% - 60px) / 3);
}
.layout-clm-3-c {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
}
.layout-clm-3-c .list-item {
  width: calc((100% - 60px) / 3);
}
.layout-clm-4 {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
.layout-clm-4 .list-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 {
  width: calc((100% - 120px) / 4);
}

.list-nav .nav-item {
  line-height: 1;
}
.list-news .list-item, .list-service .list-item, .list-point .list-item, .list-policy .list-item, .list-career .list-item, .list-faq .list-item, .list-recruit .list-item {
  width: 100%;
}
.list-news time {
  font-size: 17px;
  font-size: 1.7rem;
  display: block;
  line-height: 1;
  white-space: nowrap;
  margin-right: 20px;
}
@media screen and (max-width: 768px) {
  .list-news time {
    font-size: 27px;
    font-size: 3.515625vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-news time {
    font-size: 15.8823529412px;
  }
}
.list-news .news-inner {
  display: flex;
  align-items: center;
}
.list-news .news-ttl {
  font-size: 17px;
  font-size: 1.7rem;
  margin-top: 15px;
}
@media screen and (max-width: 768px) {
  .list-news .news-ttl {
    font-size: 27px;
    font-size: 3.515625vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-news .news-ttl {
    font-size: 15.8823529412px;
  }
}
.list-menu .menu-item {
  aspect-ratio: 520/380;
}
.list-menu .menu-link {
  width: 100%;
  height: 100%;
  background: #0f224a;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  row-gap: 30px;
  border-radius: 10px;
}
.list-menu .menu-link:hover .menu-ic img {
  opacity: 0.8;
}
.list-menu .menu-link:hover .menu-ttl, .list-menu .menu-link:hover .menu-eng {
  color: rgba(255, 255, 255, 0.8);
}
.list-menu .menu-ttl, .list-menu .menu-eng {
  line-height: 1;
  transition: 0.3s;
}
.list-menu .menu-ttl {
  font-family: "Yu Mincho", "游明朝", "Noto Serif JP", serif;
  letter-spacing: 0.2em;
  font-size: 32px;
  font-size: 3.2rem;
}
@media screen and (max-width: 768px) {
  .list-menu .menu-ttl {
    font-size: 42px;
    font-size: 5.46875vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-menu .menu-ttl {
    font-size: 24.7058823529px;
  }
}
.list-menu .menu-eng {
  font-family: "Yu Gothic", "游ゴシック", YuGothic, "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .list-menu .menu-eng {
    font-size: 26px;
    font-size: 3.3854166667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-menu .menu-eng {
    font-size: 15.2941176471px;
  }
}
.list-gallery {
  row-gap: 40px;
}
.list-gallery .gal-ttl {
  font-size: 20px;
  font-size: 2rem;
  font-weight: 500;
  text-align: center;
  margin-top: 15px;
}
@media screen and (max-width: 768px) {
  .list-gallery .gal-ttl {
    font-size: 30px;
    font-size: 3.90625vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-gallery .gal-ttl {
    font-size: 17.6470588235px;
  }
}
.list-anchor {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px 26.6666666667px;
}
.list-anchor .anchor-link {
  width: 100%;
  border: solid 1px #940c02;
  border-radius: 50rem;
  color: #940c02;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 15px 80px;
}
.list-anchor .anchor-link:hover {
  color: rgba(148, 12, 2, 0.7);
}
.list-point .point-item:nth-child(even) {
  flex-direction: row-reverse;
}
.list-point .point-num {
  font-family: "Yu Mincho", "游明朝", "Noto Serif JP", serif;
  letter-spacing: 0.2em;
  font-size: 40px;
  font-size: 4rem;
  letter-spacing: 0.04em;
  color: #940c02;
}
@media screen and (max-width: 768px) {
  .list-point .point-num {
    font-size: 50px;
    font-size: 6.5104166667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-point .point-num {
    font-size: 29.4117647059px;
  }
}
.list-point .point-ttl-txt {
  font-size: 25px;
  font-size: 2.5rem;
  color: #0f224a;
}
@media screen and (max-width: 768px) {
  .list-point .point-ttl-txt {
    font-size: 35px;
    font-size: 4.5572916667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-point .point-ttl-txt {
    font-size: 20.5882352941px;
  }
}
.list-point .ttl-bdr {
  display: flex;
  align-items: center;
  -moz-column-gap: 30px;
       column-gap: 30px;
}
.list-flow .flow-item {
  align-items: center;
  justify-content: space-between;
}
.list-flow .flow-ic {
  width: 100px;
  max-width: 100%;
}
.list-flow .flow-bx {
  width: calc(100% - 160px);
}
.list-flow .flow-ttl {
  font-family: "Yu Mincho", "游明朝", "Noto Serif JP", serif;
  letter-spacing: 0.2em;
  display: flex;
  align-items: center;
  -moz-column-gap: 25px;
       column-gap: 25px;
}
.list-flow .flow-num {
  font-size: 35px;
  font-size: 3.5rem;
  line-height: 1;
  letter-spacing: 0.04em;
  color: #940c02;
}
@media screen and (max-width: 768px) {
  .list-flow .flow-num {
    font-size: 45px;
    font-size: 5.859375vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-flow .flow-num {
    font-size: 26.4705882353px;
  }
}
.list-flow .flow-ttl-txt {
  font-size: 25px;
  font-size: 2.5rem;
  color: #0f224a;
}
@media screen and (max-width: 768px) {
  .list-flow .flow-ttl-txt {
    font-size: 35px;
    font-size: 4.5572916667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-flow .flow-ttl-txt {
    font-size: 20.5882352941px;
  }
}
.list-flow .flow-txt {
  margin-top: 20px;
}
.list-flow::before {
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  background: rgba(15, 34, 74, 0.4);
  position: absolute;
  top: 0;
  left: 50px;
  z-index: -1;
}
.list-career .career-item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.list-career dt {
  width: 10%;
}
.list-career dd {
  width: 89%;
  white-space: pre-wrap;
}
.list-staff {
  row-gap: 60px;
}
.list-staff .staff-bx {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  -moz-column-gap: 20px;
       column-gap: 20px;
}
.list-staff .staff-img {
  width: 230px;
  max-width: 100%;
  min-width: 230px;
  aspect-ratio: 230/270;
}
.list-staff .staff-inner {
  width: 100%;
}
.list-staff .staff-txt {
  font-size: 15px;
  font-size: 1.5rem;
  white-space: pre-wrap;
}
@media screen and (max-width: 768px) {
  .list-staff .staff-txt {
    font-size: 25px;
    font-size: 3.2552083333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-staff .staff-txt {
    font-size: 14.7058823529px;
  }
}
.list-staff .list-career dt {
  width: 15%;
}
.list-staff .list-career dd {
  width: 85%;
}
.list-faq .faq-item {
  display: grid;
  row-gap: 20px;
}
.list-faq dt, .list-faq dd {
  width: 100%;
  display: flex;
  align-items: flex-start;
  -moz-column-gap: 20px;
       column-gap: 20px;
}
.list-faq dt::before, .list-faq dd::before {
  content: "Q";
  width: 36px;
  min-width: 36px;
  aspect-ratio: 1/1;
  border-radius: 50rem;
  background: #0f224a;
  color: #fff;
  font-family: "Yu Mincho", "游明朝", "Noto Serif JP", serif;
  letter-spacing: 0.2em;
  font-size: 20px;
  font-size: 2rem;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 0 0 3px 3px;
}
@media screen and (max-width: 768px) {
  .list-faq dt::before, .list-faq dd::before {
    font-size: 30px;
    font-size: 3.90625vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-faq dt::before, .list-faq dd::before {
    font-size: 17.6470588235px;
  }
}
.list-faq dt {
  font-family: "Yu Mincho", "游明朝", "Noto Serif JP", serif;
  letter-spacing: 0.2em;
  font-size: 20px;
  font-size: 2rem;
  border-bottom: solid 1px #262626;
  padding-bottom: 15px;
}
@media screen and (max-width: 768px) {
  .list-faq dt {
    font-size: 30px;
    font-size: 3.90625vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-faq dt {
    font-size: 17.6470588235px;
  }
}
.list-faq dd {
  line-height: 1.875;
}
.list-faq dd .inner {
  white-space: pre-wrap;
}
.list-faq dd::before {
  content: "A";
  background: #940c02;
}
.list-recruit .recruit-item:nth-child(odd) {
  background: #fffdf5;
}

.com-tag-main .list-tag {
  font-size: 18px;
  font-size: 1.8rem;
  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;
  border: solid 1px #8c8c8c;
  padding: 10px 20px;
}
.com-tag-main .tag-link:hover {
  opacity: 0.8;
}
.com-tag-sub .list-tag {
  font-size: 17px;
  font-size: 1.7rem;
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .com-tag-sub .list-tag {
    font-size: 27px;
    font-size: 3.515625vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .com-tag-sub .list-tag {
    font-size: 15.8823529412px;
  }
}
.com-tag-sub .tag-item {
  line-height: 1;
  border-left: solid 1px #8c8c8c;
  padding: 0 10px;
}
.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;
  font-weight: 500;
}
.com-worktime-bx {
  border: solid 1px #53617e;
  padding: 15px 20px;
}

.ttl-main {
  font-family: "Yu Mincho", "游明朝", "Noto Serif JP", serif;
  letter-spacing: 0.2em;
}
.ttl-sub {
  font-family: "Yu Mincho", "游明朝", "Noto Serif JP", serif;
  letter-spacing: 0.2em;
  font-size: 20px;
  font-size: 2rem;
  border-left: solid #0f224a 5px;
  border-bottom: solid 1px #53617e;
  padding: 10px 20px;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .ttl-sub {
    font-size: 30px;
    font-size: 3.90625vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-sub {
    font-size: 17.6470588235px;
  }
}
.ttl-bdr_side {
  font-family: "Yu Gothic", "游ゴシック", YuGothic, "Noto Sans JP", sans-serif;
  border-left: solid 2px #940c02;
  line-height: 1.2;
  color: #940c02;
  padding-left: 12px;
}
.ttl-bdr_layer {
  font-family: "Yu Mincho", "游明朝", "Noto Serif JP", serif;
  letter-spacing: 0.2em;
  font-size: 27px;
  font-size: 2.7rem;
  display: flex;
  position: relative;
  z-index: 1;
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .ttl-bdr_layer {
    font-size: 37px;
    font-size: 4.8177083333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-bdr_layer {
    font-size: 21.7647058824px;
  }
}
.ttl-bdr_layer .inner {
  background: #fff;
  padding: 0 30px 0 0;
}
.ttl-bdr_layer::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #262626;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  z-index: -1;
}
.ttl-bdr {
  font-family: "Yu Mincho", "游明朝", "Noto Serif JP", serif;
  letter-spacing: 0.2em;
  border-bottom: solid 1px #262626;
  padding-bottom: 10px;
  margin-bottom: 20px;
}

.txt-plain {
  line-height: 2.1176470588;
}

#ctn-top article:first-child, #ctn-lower article:first-child {
  position: relative;
}
#ctn-top article:first-child::before, #ctn-lower article:first-child::before {
  content: "";
  display: block;
  width: 100%;
  aspect-ratio: 1920/1312;
  background-image: url("/img/common/bg-hd.png");
  background-size: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
}

#header .btn-sns {
  aspect-ratio: 1/1;
}

.hd-bar {
  padding: 0 0 0 90px;
}

.mv img, .sv img {
  display: block;
  width: 100%;
}

.mv-img {
  width: calc(100% - 180px);
  margin: 0 auto;
}
.mv-cc {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  row-gap: 20px;
  position: absolute;
  left: 9.9%;
  bottom: 0;
  transform: translateY(-85%);
  z-index: 1;
}
.mv-cc-main, .mv-cc-sub {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.mv-cc-main {
  font-size: 60px;
  font-size: 3.125vw;
  letter-spacing: 0.26em;
  font-weight: 300;
  row-gap: 15px;
}
@media screen and (max-width: 1120px) {
  .mv-cc-main {
    font-size: 35.2941176471px;
  }
}
@media screen and (min-width: 1920px) {
  .mv-cc-main {
    font-size: 60px;
  }
}
.mv-cc-main span {
  background: #0f224a;
  color: #fff;
  padding: 10px 25px 15px 25px;
}
.mv-cc-sub {
  font-size: 28px;
  font-size: 1.4583333333vw;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1120px) {
  .mv-cc-sub {
    font-size: 16.4705882353px;
  }
}
@media screen and (min-width: 1920px) {
  .mv-cc-sub {
    font-size: 28px;
  }
}
.mv-cc-sub span {
  background: #fff;
  color: #0f224a;
  padding: 10px 15px;
}
.mv-cc span {
  line-height: 1;
}

.sv {
  width: calc(100% - 180px);
  aspect-ratio: 1740/500;
}
.sv-ttl {
  font-size: 60px;
  font-size: 3.125vw;
  padding: 15px 40px;
}
@media screen and (max-width: 1120px) {
  .sv-ttl {
    font-size: 35.2941176471px;
  }
}
@media screen and (min-width: 1920px) {
  .sv-ttl {
    font-size: 60px;
  }
}
.sv-info {
  background: url("/img/info/sv.png") center center no-repeat;
  background-size: cover;
}
.sv-service {
  background: url("/img/service/sv.png") center center no-repeat;
  background-size: cover;
}
.sv-guide {
  background: url("/img/guide/sv.png") center center no-repeat;
  background-size: cover;
}
.sv-dentist {
  background: url("/img/dentist/sv.png") center center no-repeat;
  background-size: cover;
}
.sv-faq {
  background: url("/img/faq/sv.png") center center no-repeat;
  background-size: cover;
}
.sv-recruit {
  background: url("/img/recruit/sv.png") center center no-repeat;
  background-size: cover;
}
.sv-access {
  background: url("/img/access/sv.png") center center no-repeat;
  background-size: cover;
}
.sv-news {
  background: url("/img/news/sv.png") center center no-repeat;
  background-size: cover;
}
.sv-contact {
  background: url("/img/contact/sv.png") center center no-repeat;
  background-size: cover;
}
.sv-complete {
  background: url("/img/complete/sv.png") center center no-repeat;
  background-size: cover;
}
.sv-privacy {
  background: url("/img/privacy/sv.png") center center no-repeat;
  background-size: cover;
}
.sv-site {
  background: url("/img/sitemap/sv.png") center center no-repeat;
  background-size: cover;
}
.sv-e404 {
  background: url("/img/e404/sv.png") center center no-repeat;
  background-size: cover;
}

#hd-nav {
  border-bottom: solid 1px #cacaca;
}

.top-concept, .top-menu, .top-recruit {
  padding: 100px 0 0;
}

.top-concept .ttl-main {
  margin-bottom: 50px;
}
.top-concept .btn {
  margin-top: 50px;
}

.top-menu {
  padding: 100px 0 0;
}

.top-recruit,
.top-access {
  position: relative;
  z-index: 1;
}
.top-recruit .bx,
.top-access .bx {
  width: 1080px;
  max-width: 56.25%;
  padding: 130px 0 90px 0;
  border-radius: 0 20px 0 0;
  position: relative;
  z-index: 1;
}
.top-recruit .bx::before,
.top-access .bx::before {
  content: "RECRUIT";
  display: block;
  font-family: "Yu Mincho", "游明朝", "Noto Serif JP", serif;
  letter-spacing: 0.2em;
  font-size: 100px;
  font-size: 10rem;
  letter-spacing: 0.12em;
  line-height: 1;
  color: #253355;
  position: absolute;
  left: 50%;
  top: 70px;
  transform: translate(-50%, 0);
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .top-recruit .bx::before,
  .top-access .bx::before {
    font-size: 110px;
    font-size: 14.3229166667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .top-recruit .bx::before,
  .top-access .bx::before {
    font-size: 64.7058823529px;
  }
}
.top-recruit .ttl-main,
.top-access .ttl-main {
  margin-bottom: 45px;
}
.top-recruit .list li,
.top-access .list li {
  line-height: 1;
  border: solid 1px #fff;
  padding: 10px;
}
.top-recruit .list-ttl,
.top-access .list-ttl {
  margin: 15px 0 20px 0;
}
.top-recruit .btn,
.top-access .btn {
  margin-top: 40px;
}
.top-recruit::before,
.top-access::before {
  content: "";
  display: block;
  width: 840px;
  max-width: 43.75%;
  height: 535px;
  background-image: url("/img/top/recruit-img.png");
  background-size: cover;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: -1;
}

.top-access {
  margin-top: 120px;
  padding: 70px 0 0;
}
.top-access .bx {
  width: 1060px;
  max-width: 55.2083333333%;
  padding: 80px 100px;
  border-radius: 20px 0 0;
  margin: 0 0 0 auto;
}
.top-access .bx::before {
  content: "ACCESS";
  font-size: 70px;
  font-size: 7rem;
  color: rgba(15, 34, 74, 0.15);
  margin-bottom: 15px;
  position: static;
  transform: none;
}
@media screen and (max-width: 768px) {
  .top-access .bx::before {
    font-size: 80px;
    font-size: 10.4166666667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .top-access .bx::before {
    font-size: 47.0588235294px;
  }
}
.top-access .ttl-main {
  margin-bottom: 40px;
}
.top-access h3 {
  margin-bottom: 15px;
}
.top-access .com-gmap {
  margin-top: 30px;
}
.top-access::before {
  width: 980px;
  max-width: 51.0416666667%;
  height: 710px;
  background-image: url("/img/top/access-img.png");
  background-size: cover;
  right: inherit;
  bottom: inherit;
  top: 0;
  left: 0;
}

.top-news {
  padding: 150px 0;
}
.top-news .ttl-main::before {
  content: "NEWS";
  display: block;
  font-family: "Yu Mincho", "游明朝", "Noto Serif JP", serif;
  letter-spacing: 0.2em;
  font-size: 65px;
  font-size: 6.5rem;
  line-height: 1;
  color: #cacaca;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .top-news .ttl-main::before {
    font-size: 75px;
    font-size: 9.765625vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .top-news .ttl-main::before {
    font-size: 44.1176470588px;
  }
}
.top-news .list-news {
  border-top: solid 1px #cacaca;
  padding-top: 45px;
}
.top-news .btn {
  position: absolute;
  left: 0;
  top: 180px;
}

#ctn-lower article {
  padding: 120px 0;
}
#ctn-lower .ttl-main {
  font-size: 38px;
  font-size: 3.8rem;
  text-align: center;
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  #ctn-lower .ttl-main {
    font-size: 48px;
    font-size: 6.25vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  #ctn-lower .ttl-main {
    font-size: 28.2352941176px;
  }
}
#ctn-lower .ttl-main::after {
  content: "";
  display: block;
  width: 30px;
  height: 1px;
  background: #0f224a;
  margin: 20px auto 0 auto;
}

#main-contents .com-worktime {
  width: 640px;
  max-width: 100%;
  margin: 0 auto;
}
#main-contents .com-worktime-bx {
  padding: 0;
  border: none;
}
#main-contents .com-worktime .tbl-ptn1 {
  background: #fff;
  border: solid 1px #dfe3eb;
}
#main-contents .com-worktime .tbl-ptn1 th, #main-contents .com-worktime .tbl-ptn1 td {
  font-size: 18px;
  font-size: 1.8rem;
  text-align: center;
  padding: 12px 0;
}
@media screen and (max-width: 768px) {
  #main-contents .com-worktime .tbl-ptn1 th, #main-contents .com-worktime .tbl-ptn1 td {
    font-size: 28px;
    font-size: 3.6458333333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  #main-contents .com-worktime .tbl-ptn1 th, #main-contents .com-worktime .tbl-ptn1 td {
    font-size: 16.4705882353px;
  }
}
#main-contents .com-worktime .tbl-ptn1 th:not(:last-child), #main-contents .com-worktime .tbl-ptn1 td:not(:last-child) {
  border-right: solid 1px #dfe3eb;
}
#main-contents .com-worktime .tbl-ptn1 th,
#main-contents .com-worktime .tbl-ptn1 td:first-child {
  background: #0f224a;
  color: #fff;
}
#main-contents .com-worktime .tbl-ptn1 th .inner {
  display: inline-block;
}
#main-contents .com-worktime .tbl-ptn1 td {
  border-top: solid 1px #dfe3eb;
}
#main-contents .com-worktime .ft-12 {
  font-size: 18px;
  font-size: 1.8rem;
  text-align: left;
  margin-top: 15px;
}
@media screen and (max-width: 768px) {
  #main-contents .com-worktime .ft-12 {
    font-size: 28px;
    font-size: 3.6458333333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  #main-contents .com-worktime .ft-12 {
    font-size: 16.4705882353px;
  }
}
#main-contents .com-worktime .ft-14 {
  font-size: 16px;
  font-size: 1.6rem;
  margin-top: 10px !important;
}
@media screen and (max-width: 768px) {
  #main-contents .com-worktime .ft-14 {
    font-size: 26px;
    font-size: 3.3854166667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  #main-contents .com-worktime .ft-14 {
    font-size: 15.2941176471px;
  }
}

.lower-greeting .img {
  width: 370px;
  max-width: 100%;
  aspect-ratio: 370/400;
}

#footer {
  padding: 50px 0 30px 0;
  color: #fff;
}
#footer a {
  color: #fff;
}
#footer .com-logo {
  margin-bottom: 50px;
}
#footer .ft-bx {
  margin-top: 30px;
}
#footer .bnr-official {
  margin-top: 50px;
}

#ft-nav {
  border-top: solid 1px #53617e;
  margin-top: 30px;
  padding-top: 30px;
}

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