@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Outfit:wght@100..900&family=Poppins:wght@400;500;900&display=swap");
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre, a,
abbr, acronym, address, big, cite, code, del,
dfn, em, img, ins, kbd, q, s, samp, small,
strike, strong, sub, sup, tt, var, b, u, i,
center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, figure, figcaption,
footer, header, hgroup, menu, nav, output, ruby,
section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

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

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}
blockquote::before, blockquote::after, q::before, q::after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

img {
  vertical-align: middle;
  max-width: 100%;
  height: auto;
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

button {
  margin: 0;
  padding: 0;
  color: inherit;
  background: none;
  font-size: 100%;
  line-height: inherit;
  font-family: inherit;
  font-weight: inherit;
  text-transform: none;
  border: transparent;
  cursor: pointer;
}

/*--------------------------------------
  breakpoint
--------------------------------------*/
/*--------------------------------------
  font
--------------------------------------*/
/*--------------------------------------
  color
--------------------------------------*/
body.is-fixed {
  overflow: hidden;
  position: fixed;
  width: 100%;
}

html {
  color: #0F172A;
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", sans-serif;
  overflow-x: hidden;
}
@media print, screen and (min-width: 781px) {
  html {
    font-size: 16px;
  }
}
@media print, screen and (max-width: 780px) {
  html {
    font-size: 4.1025641026vw;
  }
}

body {
  position: relative;
}

a {
  color: #0F172A;
  text-decoration: none;
}

@media (width > 1240px) {
  .l-section-padding {
    width: 100%;
    padding-inline: min(120px, 7.5vw);
    max-width: none;
  }
}
@media (width < 1240px) {
  .l-section-padding {
    padding-inline: min(80px, 6.4516129032vw);
  }
}
@media print, screen and (max-width: 780px) {
  .l-section-padding {
    padding-inline: 6.1538461538vw;
  }
}

.l-section-width {
  max-width: 1360px;
  margin: 0 auto;
}

.l-section-width--front-page {
  max-width: 1680px;
  margin: 0 auto;
}

.l-section-color--white {
  background: #fff !important;
}

@media print, screen and (min-width: 781px) {
  .l-section {
    padding-top: 160px;
  }
}
@media print, screen and (max-width: 780px) {
  .l-section {
    padding-top: 20.5128205128vw;
  }
}

.l-section__head {
  display: grid;
}
@media print, screen and (min-width: 781px) {
  .l-section__head {
    padding-bottom: 44px;
  }
}
@media print, screen and (max-width: 780px) {
  .l-section__head {
    padding-bottom: 11.2820512821vw;
  }
}

@media print, screen and (min-width: 781px) {
  .l-section__head--margin {
    margin-bottom: 320px;
  }
}
@media print, screen and (max-width: 780px) {
  .l-section__head--margin {
    margin-bottom: 41.0256410256vw;
  }
}

.l-section__head--border-b {
  border-bottom: 1px solid #E2E8F0;
}
.l-section__ttl {
  display: grid;
}
@media print, screen and (min-width: 781px) {
  .l-section__ttl {
    gap: 40px;
    margin-bottom: 72px;
  }
}
@media print, screen and (max-width: 780px) {
  .l-section__ttl {
    gap: 6.1538461538vw;
    margin-bottom: 12.3076923077vw;
  }
}

.l-section__ttl--en {
  display: block;
  font-family: "Poppins", sans-serif;
  line-height: 1.1;
}
@media print, screen and (min-width: 781px) {
  .l-section__ttl--en {
    font-size: 96px;
  }
}
@media print, screen and (max-width: 780px) {
  .l-section__ttl--en {
    font-size: 12.3076923077vw;
  }
}

.l-section-overlay {
  background: rgba(51, 65, 85, 0.6);
}

.l-section-border {
  border-bottom: 1px solid #E2E8F0;
}
@media print, screen and (max-width: 780px) {
  .l-section-border {
    border-bottom: 0.2564102564vw solid #E2E8F0;
  }
}

.l-header {
  width: 100%;
  position: fixed;
  z-index: 8888;
  top: 0;
  left: 0;
}
.l-header__inner {
  position: relative;
  z-index: 1000;
  background: #fff;
}
@media print, screen and (min-width: 781px) {
  .l-header__inner {
    padding-inline: 0;
  }
}
@media print, screen and (max-width: 780px) {
  .l-header__inner {
    padding-inline: 0;
  }
}

.l-header__fixed {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
@media print, screen and (min-width: 781px) {
  .l-header__fixed {
    max-width: 1680px;
    position: relative;
    z-index: 1000;
    height: 96px;
    margin: 0 auto;
  }
}
@media (width < 1240px) {
  .l-header__fixed {
    padding-inline: min(80px, 6.4516129032vw);
  }
}
@media (width > 1240px) {
  .l-header__fixed {
    padding-inline: min(120px, 7.5vw);
    max-width: none;
  }
}
@media (width >= 1680px) {
  .l-header__fixed {
    padding-inline: 120px;
  }
}
@media (width >= 1800px) {
  .l-header__fixed {
    max-width: 1920px;
  }
}
@media print, screen and (max-width: 780px) {
  .l-header__fixed {
    padding: 4.1025641026vw 6.1538461538vw;
    height: 18.4615384615vw;
    width: 100%;
  }
}

.l-header_logo_anchor {
  display: block;
}
@media print, screen and (min-width: 781px) {
  .l-header_logo_anchor {
    width: 171px;
    height: 56px;
  }
}
@media print, screen and (max-width: 780px) {
  .l-header_logo_anchor {
    width: 31.5384615385vw;
    height: 10.2564102564vw;
  }
}

.l-header_logo_item {
  width: 100%;
  height: 100%;
}

.l-hamburger {
  position: relative;
  -webkit-transition: 0.3s ease-in;
  transition: 0.3s ease-in;
  display: none;
}
@media (width <= 1023px) {
  .l-hamburger {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 40px;
    height: 40px;
  }
}
@media print, screen and (max-width: 780px) {
  .l-hamburger {
    width: 10.2564102564vw;
    height: 10.2564102564vw;
  }
}

.l-hamburger-inner {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 3px;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: end;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-transition: 0.3s ease-in;
  transition: 0.3s ease-in;
}
@media print, screen and (max-width: 780px) {
  .l-hamburger-inner {
    gap: 0.7692307692vw;
  }
}

.l-hamburger-inner span {
  -webkit-transition: 0.2s ease-in;
  transition: 0.2s ease-in;
  -webkit-transform-origin: bottom right;
  transform-origin: bottom right;
  -webkit-animation: hamburger-line-show-in 0.3s ease-in forwards;
  animation: hamburger-line-show-in 0.3s ease-in forwards;
}

.l-hamburger-inner span:nth-of-type(1) {
  display: block;
  width: 26px;
  height: 2px;
  background: #000;
}
@media print, screen and (max-width: 780px) {
  .l-hamburger-inner span:nth-of-type(1) {
    width: 6.6666666667vw;
    height: 0.5128205128vw;
  }
}

.l-hamburger-inner span:nth-of-type(2) {
  width: 20px;
  height: 2px;
  display: block;
  background: #000;
}
@media print, screen and (max-width: 780px) {
  .l-hamburger-inner span:nth-of-type(2) {
    width: 5.1282051282vw;
    height: 0.5128205128vw;
  }
}

.l-hamburger-inner span:nth-of-type(3) {
  width: 14px;
  height: 2px;
  display: block;
  background: #000;
}
@media print, screen and (max-width: 780px) {
  .l-hamburger-inner span:nth-of-type(3) {
    width: 3.5897435897vw;
    height: 0.5128205128vw;
  }
}

.l-hamburger.is-open .l-hamburger-inner span {
  -webkit-animation: hamburger-line-show 0.2s ease-in forwards;
  animation: hamburger-line-show 0.2s ease-in forwards;
}

.l-hamburger-inner::before {
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 40px;
  height: 40px;
  background: url(/_/image/icon/icon_nav_close-btn.svg) center center/cover no-repeat;
  -webkit-transition: 0.2s ease-in;
  transition: 0.2s ease-in;
}
@media print, screen and (max-width: 780px) {
  .l-hamburger-inner::before {
    width: 10.2564102564vw;
    height: 10.2564102564vw;
  }
}

.l-hamburger.is-open .l-hamburger-inner::before {
  pointer-events: auto;
  opacity: 1;
  -webkit-transition: 0.2s 0.2s ease-in;
  transition: 0.2s 0.2s ease-in;
}

@-webkit-keyframes hamburger-line-show {
  0% {
    -webkit-transform-origin: bottom right;
    transform-origin: bottom right;
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }
  100% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    display: none;
  }
}

@keyframes hamburger-line-show {
  0% {
    -webkit-transform-origin: bottom right;
    transform-origin: bottom right;
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }
  100% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    display: none;
  }
}
@-webkit-keyframes hamburger-line-show-in {
  0% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    opacity: 0;
    -webkit-transform-origin: bottom left;
    transform-origin: bottom left;
  }
  50% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    opacity: 0;
    -webkit-transform-origin: bottom left;
    transform-origin: bottom left;
  }
  60% {
    -webkit-transform: scaleX(0.2);
    transform: scaleX(0.2);
    opacity: 0.1;
    -webkit-transform-origin: bottom left;
    transform-origin: bottom left;
  }
  100% {
    opacity: 1;
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: bottom left;
    transform-origin: bottom left;
  }
}
@keyframes hamburger-line-show-in {
  0% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    opacity: 0;
    -webkit-transform-origin: bottom left;
    transform-origin: bottom left;
  }
  50% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    opacity: 0;
    -webkit-transform-origin: bottom left;
    transform-origin: bottom left;
  }
  60% {
    -webkit-transform: scaleX(0.2);
    transform: scaleX(0.2);
    opacity: 0.1;
    -webkit-transform-origin: bottom left;
    transform-origin: bottom left;
  }
  100% {
    opacity: 1;
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: bottom left;
    transform-origin: bottom left;
  }
}
/*--------------------------------------
  Header Navigation
--------------------------------------*/
.l-dropdown {
  background: #fff;
  border-top: 1px solid #E2E8F0;
  -webkit-transition: opacity 0.1s ease-in;
  transition: opacity 0.1s ease-in;
}

.l-dropdown.is-open {
  opacity: 1;
  pointer-events: auto;
}

.l-dropdown--sp {
  overflow: hidden;
  max-height: 0;
  padding: 0;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: 0.3s ease-in-out, 0.2s opacity ease-in-out;
  transition: 0.3s ease-in-out, 0.2s opacity ease-in-out;
  border-top: none;
}
@media (width >= 1023px) {
  .l-dropdown--sp {
    display: none;
  }
}
@media (width <= 1023px) {
  .l-dropdown--sp.is-open {
    opacity: 1;
    max-height: 1500px;
    pointer-events: auto;
  }
}
.l-dropdown--pc .l-dropdown__inner {
  background: #fff;
  opacity: 0;
  pointer-events: none;
  -webkit-transform: translateY(-100%);
  transform: translateY(-100%);
  -webkit-transition: 0.2s opacity ease-in-out, 0.3s -webkit-transform ease-in-out;
  transition: 0.2s opacity ease-in-out, 0.3s -webkit-transform ease-in-out;
  transition: 0.3s transform ease-in-out, 0.2s opacity ease-in-out;
  transition: 0.3s transform ease-in-out, 0.2s opacity ease-in-out, 0.3s -webkit-transform ease-in-out;
  width: 100%;
}

@media (width >= 1024px) {
  .l-dropdown--pc.is-open .l-dropdown__inner {
    opacity: 1 !important;
    pointer-events: auto;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@media print, screen and (min-width: 781px) {
  .l-dropdown__inner {
    padding: 56px min(120px, 9.6696212732vw);
  }
}
@media (width <= 1023px) {
  .l-dropdown__inner {
    padding: 3.5897435897vw 6.1538461538vw 7.6923076923vw;
  }
}
@media print, screen and (max-width: 780px) {
  .l-dropdown__inner {
    border-bottom: 0.2564102564vw solid #CBD5E1;
  }
}

.l-dropdown--pc {
  overflow: hidden;
  position: relative;
  z-index: 1000;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  opacity: 0;
  pointer-events: none;
  position: absolute;
  z-index: 500;
  top: 96px;
  left: 0;
  width: 100%;
}
@media print, screen and (max-width: 780px) {
  .l-dropdown--pc {
    display: none;
  }
}
@media (width >= 1024px) {
  .l-dropdown--pc.is-open {
    opacity: 1 !important;
    pointer-events: auto;
  }
}
.l-dropdown__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 40px;
  max-width: 1360px;
  margin: 0 auto;
}
@media (width <= 1023px) {
  .l-dropdown__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 1.2820512821vw;
  }
}

@media print, screen and (min-width: 781px) {
  .l-dropdown__item {
    width: 240px;
  }
}
@media (width <= 1023px) {
  .l-dropdown__item {
    width: auto;
  }
}

.l-dropdown__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media print, screen and (min-width: 781px) {
  .l-dropdown__link {
    gap: 16px;
  }
}
@media (width <= 1023px) {
  .l-dropdown__link {
    width: 100%;
    padding-block: 2.5641025641vw;
  }
}
.l-dropdown__item-ttl {
  line-height: 1.2;
  letter-spacing: 4%;
  font-weight: 500;
}
@media print, screen and (min-width: 781px) {
  .l-dropdown__item-ttl {
    font-size: 16px;
  }
}
@media (width <= 1023px) {
  .l-dropdown__item-ttl {
    font-size: 4.6153846154vw;
  }
}
@media (width <= 1023px) {
  .l-header-gnav {
    overflow: hidden;
    position: absolute;
    top: 96px;
    left: 0;
    pointer-events: none;
    opacity: 0;
    width: 100%;
    background: #fff;
    z-index: 1000;
    -webkit-transition: 0.2s ease-in;
    transition: 0.2s ease-in;
  }
}
@media print, screen and (max-width: 780px) {
  .l-header-gnav {
    top: 18.4615384615vw;
  }
}

@media (width <= 1023px) {
  .l-header-gnav.is-open {
    opacity: 1;
    pointer-events: auto;
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
  }
}

@media (width <= 1023px) {
  .l-header-gnav__inner {
    border-top: 1px solid #E2E8F0;
  }
}
@media print, screen and (max-width: 780px) {
  .l-header-gnav__inner {
    border-top: 0.2564102564vw solid #E2E8F0;
  }
}

.l-header-gnav__nav {
  position: relative;
  z-index: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media print, screen and (min-width: 781px) {
  .l-header-gnav__nav {
    height: 51px;
    gap: min(20px, 1.0416666667vw);
  }
}
@media (width <= 1023px) {
  .l-header-gnav__nav {
    overflow: scroll;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 130svh;
    padding: 0 6.1538461538vw 20.5128205128vw;
    gap: 0;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
    pointer-events: none;
    -webkit-transition: 0.4s ease-in-out;
    transition: 0.4s ease-in-out;
    zoom: 0.7;
  }
}
@media print, screen and (max-width: 780px) {
  .l-header-gnav__nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 100svh;
    zoom: 1;
  }
}

@media (width <= 1023px) {
  .l-header-gnav.is-open .l-header-gnav__nav {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    pointer-events: auto;
  }
}

.l-header-gnav__item {
  font-weight: 500;
}
@media (width <= 1023px) {
  .l-header-gnav__item {
    font-size: 4.6153846154vw;
  }
}
@media (width <= 1023px) {
  .l-header-gnav__item--home {
    display: block;
  }
}

.l-header-gnav__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media print, screen and (min-width: 781px) {
  .l-header-gnav__link {
    height: 100%;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding-inline: min(20px, 1.0416666667vw);
  }
}
@media (width <= 1023px) {
  .l-header-gnav__link {
    height: auto;
    padding-block: 48px;
    padding-right: 8px;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    border-bottom: 1px solid #CBD5E1;
  }
}
@media print, screen and (max-width: 780px) {
  .l-header-gnav__link {
    padding-block: 6.1538461538vw;
    padding-right: 2.0512820513vw;
    border-bottom: 0.2564102564vw solid #CBD5E1;
  }
}

@media print, screen and (max-width: 780px) {
  .l-header-gnav__link:hover .c-under-txt-line {
    background: none;
  }
}

@media print, screen and (max-width: 780px) {
  .l-header-gnav__item:last-of-type .l-header-gnav__link {
    border-bottom: none;
  }
}

@media print, screen and (min-width: 781px) {
  .l-header-gnav__link-toggle-icon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 4px;
  }
}

.l-header-gnav__link-tollge-icon::after {
  content: "";
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 24px;
  height: 24px;
  -webkit-transition: 0.2s ease-in;
  transition: 0.2s ease-in;
}
@media (width >= 1024px) {
  .l-header-gnav__link-tollge-icon::after {
    background: url("/_/image/icon/icon_btn-arrow_down_gray-500.svg") center center/cover no-repeat;
    -webkit-transition: 0.1s ease-in;
    transition: 0.1s ease-in;
  }
}
@media (width <= 1023px) {
  .l-header-gnav__link-tollge-icon::after {
    zoom: 1.7;
    background: url("/_/image/icon/icon_btn-toggle.svg") center center/cover no-repeat;
  }
}
@media print, screen and (max-width: 780px) {
  .l-header-gnav__link-tollge-icon::after {
    zoom: 1;
    width: 6.1538461538vw;
    height: 6.1538461538vw;
  }
}

.js-dropdown-trigger.is-open {
  border-bottom: none;
}

@media (width >= 1024px) {
  .js-dropdown-trigger.is-open.l-header-gnav__link-tollge-icon::after {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }
}
@media (width <= 1023px) {
  .js-dropdown-trigger.is-open.l-header-gnav__link-tollge-icon::after {
    background: url("/_/image/icon/icon_btn-toggle_is-open.svg") center center/cover no-repeat;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }
}

@media (width >= 1024px) {
  .l-header-gnav__item--contact {
    margin-left: 18px;
    background: #1E293B;
    border-radius: 4px;
  }
}
@media (width >= 1024px) {
  .l-header-gnav__link--contact {
    color: #fff;
    padding: 16px 34px;
  }
}

.l-header-gnav__link--contact .c-under-txt-line {
  background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#fff));
  background-image: linear-gradient(#fff, #fff);
}

/*--------------------------------------
  Footer Navigation
--------------------------------------*/
.l-footer-gnav {
  margin-bottom: 35px;
}
@media (width <= 1240px) {
  .l-footer-gnav {
    margin-bottom: 80px;
  }
}
@media print, screen and (max-width: 780px) {
  .l-footer-gnav {
    margin-bottom: 10.2564102564vw;
  }
}

.l-footer-gnav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 44px;
}
@media (width <= 1240px) {
  .l-footer-gnav__list {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}
@media print, screen and (max-width: 780px) {
  .l-footer-gnav__list {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 2.5641025641vw;
  }
}

@media print, screen and (max-width: 780px) {
  .l-footer-gnav__item {
    width: 41.2820512821vw;
    height: 10vw;
  }
}

.l-footer-gnav__link {
  display: block;
  padding: 10px 5px;
  width: 100%;
  height: 100%;
}
@media print, screen and (max-width: 780px) {
  .l-footer-gnav__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

.l-footer {
  background: #fff;
}
@media print, screen and (min-width: 781px) {
  .l-footer {
    padding: 120px 40px 64px;
  }
}
@media (width < 1240px) {
  .l-footer {
    padding-inline: min(80px, 6.4516129032vw);
  }
}
@media (width > 1240px) {
  .l-footer {
    padding-inline: min(120px, 7.5vw);
    max-width: none;
  }
}
@media (width >= 1680px) {
  .l-footer {
    padding-inline: 120px;
  }
}
@media print, screen and (max-width: 780px) {
  .l-footer {
    padding: 14.358974359vw 6.1538461538vw 10.2564102564vw;
  }
}

.l-footer__inner {
  margin: 0 auto;
}
@media (width <= 1240px) {
  .l-footer__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
.l-footer__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
@media print, screen and (min-width: 781px) {
  .l-footer__container {
    gap: 80px;
    margin-bottom: 80px;
  }
}
@media (width <= 1240px) {
  .l-footer__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 40px;
  }
}
@media print, screen and (max-width: 780px) {
  .l-footer__container {
    gap: 0;
    margin-bottom: 4.1025641026vw;
  }
}

.l-footer__logo-anchor {
  display: block;
}
@media print, screen and (min-width: 781px) {
  .l-footer__logo-anchor {
    width: 267px;
    height: 88px;
  }
}
@media (width <= 1240px) {
  .l-footer__logo-anchor {
    margin: 0 auto;
    padding-bottom: 20px;
  }
}
@media print, screen and (max-width: 780px) {
  .l-footer__logo-anchor {
    width: 56.4102564103vw;
    height: 18.4615384615vw;
    padding-bottom: 4.1025641026vw;
  }
}

.l-footer__logo {
  display: block;
  width: 100%;
  height: 100%;
}

.l-footer__txt-wrap {
  background: #F3F7FB;
}
@media print, screen and (min-width: 781px) {
  .l-footer__txt-wrap {
    width: 480px;
    height: 140px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-radius: 6px;
    padding: 32px 40px;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
  }
}
@media (width <= 1240px) {
  .l-footer__txt-wrap {
    margin: 0 auto;
  }
}
@media print, screen and (max-width: 780px) {
  .l-footer__txt-wrap {
    padding: 6.1538461538vw;
    border-radius: 1.5384615385vw;
  }
}

.l-footer__txt-head {
  display: block;
  font-weight: 500;
  line-height: 1.5;
}
@media print, screen and (min-width: 781px) {
  .l-footer__txt-head {
    font-size: 16px;
    margin-bottom: 8px;
  }
}
@media print, screen and (max-width: 780px) {
  .l-footer__txt-head {
    font-size: 4.1025641026vw;
    margin-bottom: 2.0512820513vw;
  }
}

.l-footer__txt-body {
  display: block;
  line-height: 1.6;
}
@media print, screen and (min-width: 781px) {
  .l-footer__txt-body {
    font-size: 14px;
  }
}
@media print, screen and (max-width: 780px) {
  .l-footer__txt-body {
    font-size: 3.5897435897vw;
  }
}

.l-footer__meta__txt {
  line-height: 1.6;
}
@media print, screen and (min-width: 781px) {
  .l-footer__meta__txt {
    text-align: right;
    padding-bottom: 24px;
    border-bottom: 1px solid #E2E8F0;
    margin-bottom: 20px;
    font-size: 12px;
  }
}
@media print, screen and (max-width: 780px) {
  .l-footer__meta__txt {
    font-size: 3.0769230769vw;
    padding-bottom: 6.9230769231vw;
    border-bottom: 0.2564102564vw solid #E2E8F0;
    margin-bottom: 8.2051282051vw;
    text-indent: -1em;
    padding-left: 1em;
  }
}

.l-footer__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media print, screen and (min-width: 781px) {
  .l-footer__list {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 48px;
  }
}
@media print, screen and (max-width: 780px) {
  .l-footer__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 1.5384615385vw;
  }
}

.l-footer__link {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media print, screen and (min-width: 781px) {
  .l-footer__link {
    padding: 10px 0;
  }
}
@media print, screen and (max-width: 780px) {
  .l-footer__link {
    padding: 1.2820512821vw 5.1282051282vw 1.2820512821vw 0;
  }
}

.l-footer__meta-unit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
@media print, screen and (min-width: 781px) {
  .l-footer__meta-unit {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}
@media print, screen and (max-width: 780px) {
  .l-footer__meta-unit {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 8.9743589744vw;
  }
}

.l-footer__copy {
  font-family: "Outfit", sans-serif;
  line-height: 1.5;
}
@media print, screen and (min-width: 781px) {
  .l-footer__copy {
    font-size: 12px;
  }
}
@media print, screen and (max-width: 780px) {
  .l-footer__copy {
    font-size: 3.0769230769vw;
  }
}

/*--------------------------------------

  Text - Heading -

--------------------------------------*/
.c-display {
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 4%;
}
@media print, screen and (min-width: 781px) {
  .c-display {
    font-size: 48px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-display {
    font-size: 8.2051282051vw;
  }
}

.c-h1 {
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 4%;
}
@media print, screen and (min-width: 781px) {
  .c-h1 {
    font-size: 40px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-h1 {
    font-size: 7.1794871795vw;
  }
}

.c-h2 {
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 4%;
}
@media print, screen and (min-width: 781px) {
  .c-h2 {
    font-size: 32px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-h2 {
    font-size: 6.1538461538vw;
  }
}

.c-h3 {
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 4%;
}
@media print, screen and (min-width: 781px) {
  .c-h3 {
    font-size: 24px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-h3 {
    font-size: 5.1282051282vw;
  }
}

.c-h4 {
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 4%;
}
@media print, screen and (min-width: 781px) {
  .c-h4 {
    font-size: 20px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-h4 {
    font-size: 4.6153846154vw;
  }
}

.c-h5 {
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 4%;
}
@media print, screen and (min-width: 781px) {
  .c-h5 {
    font-size: 18px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-h5 {
    font-size: 4.1025641026vw;
  }
}

.c-display--en-lg {
  font-weight: 500;
  font-family: "Poppins", sans-serif;
}
@media print, screen and (min-width: 781px) {
  .c-display--en-lg {
    font-size: 80px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-display--en-lg {
    font-size: 12.3076923077vw;
  }
}

.c-display--en-md {
  font-weight: 500;
  font-family: "Poppins", sans-serif;
}
@media print, screen and (min-width: 781px) {
  .c-display--en-md {
    font-size: 40px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-display--en-md {
    font-size: 5.1282051282vw;
  }
}

.c-display--en-sm {
  font-weight: 500;
  font-family: "Poppins", sans-serif;
}
@media print, screen and (min-width: 781px) {
  .c-display--en-sm {
    font-size: 18px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-display--en-sm {
    font-size: 4.1025641026vw;
  }
}

/*--------------------------------------

Text - Body -

--------------------------------------*/
.c-body--lg {
  line-height: 1.8;
  font-weight: 400;
}
@media print, screen and (min-width: 781px) {
  .c-body--lg {
    font-size: 18px !important;
  }
}
@media print, screen and (max-width: 780px) {
  .c-body--lg {
    font-size: 4.6153846154vw;
  }
}

@media print, screen and (max-width: 780px) {
  .c-body--lg-sp {
    line-height: 1.8;
    font-weight: 400;
    font-size: 4.6153846154vw !important;
  }
}

.c-body--md {
  line-height: 1.8;
  font-weight: 400;
}
@media print, screen and (min-width: 781px) {
  .c-body--md {
    font-size: 16px !important;
  }
}
@media print, screen and (max-width: 780px) {
  .c-body--md {
    font-size: 4.1025641026vw;
  }
}

@media print, screen and (max-width: 780px) {
  .c-body--md-sp {
    line-height: 1.8;
    font-weight: 400;
    font-size: 4.1025641026vw !important;
  }
}

.c-body--sm {
  line-height: 1.6;
  font-weight: 400;
}
@media print, screen and (min-width: 781px) {
  .c-body--sm {
    font-size: 14px !important;
  }
}
@media print, screen and (max-width: 780px) {
  .c-body--sm {
    font-size: 3.5897435897vw;
  }
}

@media print, screen and (max-width: 780px) {
  .c-body--sm-sp {
    line-height: 1.6 !important;
    font-weight: 400 !important;
    font-size: 3.5897435897vw !important;
  }
}

/*--------------------------------------

Text - label -

--------------------------------------*/
.c-label {
  line-height: 1.2;
  letter-spacing: 4%;
  font-weight: 500;
}
@media print, screen and (min-width: 781px) {
  .c-label {
    font-size: 12px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-label {
    font-size: 3.0769230769vw;
  }
}

.c-label--en {
  font-family: "Outfit", sans-serif;
  letter-spacing: 4%;
  font-weight: 400;
}
@media print, screen and (min-width: 781px) {
  .c-label--en {
    font-size: 14px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-label--en {
    font-size: 3.5897435897vw;
  }
}

/*--------------------------------------

Text - ul -

--------------------------------------*/
.c-btn-txt--lg {
  line-height: 1.2;
  letter-spacing: 4%;
  font-weight: 500;
}
@media print, screen and (min-width: 781px) {
  .c-btn-txt--lg {
    font-size: 18px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-btn-txt--lg {
    font-size: 4.6153846154vw;
  }
}

.c-btn-txt--md {
  line-height: 1.2;
  letter-spacing: 4%;
  font-weight: 500;
}
@media print, screen and (min-width: 781px) {
  .c-btn-txt--md {
    font-size: 16px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-btn-txt--md {
    font-size: 4.1025641026vw;
  }
}

.c-btn-txt--sm {
  line-height: 1.2;
  letter-spacing: 4%;
  font-weight: 500;
}
@media print, screen and (min-width: 781px) {
  .c-btn-txt--sm {
    font-size: 13px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-btn-txt--sm {
    font-size: 3.3333333333vw;
  }
}

/*--------------------------------------

Text - caption -

--------------------------------------*/
.c-caption {
  line-height: 1.6;
  text-indent: -1em;
  padding-left: 1em;
}
@media print, screen and (min-width: 781px) {
  .c-caption {
    font-size: 12px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-caption {
    font-size: 3.0769230769vw;
  }
}

/*--------------------------------------

  btn

--------------------------------------*/
.c-primary-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  background: #64748B;
  color: #fff;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 4%;
}
@media print, screen and (min-width: 781px) {
  .c-primary-btn {
    padding: 16px 20px 16px 24px;
    width: 264px;
    height: 68px;
    gap: 16px;
    border-radius: 6px;
    font-size: 18px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-primary-btn {
    padding: 4.1025641026vw 5.1282051282vw 4.1025641026vw 6.1538461538vw;
    width: 67.6923076923vw;
    height: 17.4358974359vw;
    gap: 4.1025641026vw;
    border-radius: 1.5384615385vw;
    font-size: 4.6153846154vw;
  }
}
.c-primary-btn.c-primary-btn--fit {
  width: auto;
}

.c-btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
@media print, screen and (min-width: 781px) {
  .c-btns {
    gap: 32px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-btns {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 6.1538461538vw;
  }
}

.c-primary-btn .c-link-arrow {
  background: #fff;
}

.c-primary-btn:hover .c-primary-btn__txt-inner {
  background-position: bottom left;
}
@media print, screen and (min-width: 781px) {
  .c-primary-btn:hover .c-primary-btn__txt-inner {
    background-size: 100% 1px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-primary-btn:hover .c-primary-btn__txt-inner {
    background-size: 100% 0.2564102564vw;
  }
}

.c-primary-btn__txt {
  display: block;
}
@media print, screen and (min-width: 781px) {
  .c-primary-btn__txt {
    min-width: 168px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-primary-btn__txt {
    min-width: 43.0769230769vw;
  }
}

.c-primary-btn__txt-inner {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1.2;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#fff));
  background-image: linear-gradient(#fff, #fff);
  background-repeat: no-repeat;
  background-position: bottom right;
  -webkit-transition: background-size 0.2s ease-in;
  transition: background-size 0.2s ease-in;
}
@media print, screen and (min-width: 781px) {
  .c-primary-btn__txt-inner {
    padding-bottom: 1px;
    background-size: 0 1px;
    -webkit-transform: translateY(1px);
    transform: translateY(1px);
  }
}
@media print, screen and (max-width: 780px) {
  .c-primary-btn__txt-inner {
    padding-bottom: 0.2564102564vw;
    background-size: 0 0.2564102564vw;
    -webkit-transform: translateY(0.2564102564vw);
    transform: translateY(0.2564102564vw);
  }
}

.c-secondary-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media print, screen and (min-width: 781px) {
  .c-secondary-btn {
    gap: 16px;
    padding: 16px 10px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-secondary-btn {
    gap: 4.1025641026vw;
    padding: 4.1025641026vw 2.5641025641vw;
  }
}

.c-secondary-btn__icon-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media print, screen and (min-width: 781px) {
  .c-secondary-btn__icon-wrap {
    gap: 8px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-secondary-btn__icon-wrap {
    gap: 2.0512820513vw;
  }
}

.c-secondary-btn--blank .c-secondary-btn__icon-wrap::after {
  content: "";
  display: inline-block;
  background: url(/_/image/icon/icon_link_gray-500.svg) center center/cover no-repeat;
}
@media print, screen and (min-width: 781px) {
  .c-secondary-btn--blank .c-secondary-btn__icon-wrap::after {
    width: 24px;
    height: 24px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-secondary-btn--blank .c-secondary-btn__icon-wrap::after {
    width: 6.1538461538vw;
    height: 6.1538461538vw;
  }
}

.c-secondary-btn--pdf .c-secondary-btn__icon-wrap::after {
  content: "";
  display: inline-block;
  background: url(/_/image/icon/icon_pdf.svg) center center/cover no-repeat;
}
@media print, screen and (min-width: 781px) {
  .c-secondary-btn--pdf .c-secondary-btn__icon-wrap::after {
    width: 24px;
    height: 24px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-secondary-btn--pdf .c-secondary-btn__icon-wrap::after {
    width: 6.1538461538vw;
    height: 6.1538461538vw;
  }
}

.c-secondary-btn--pdf-gray-500 .c-secondary-btn__icon-wrap::after {
  content: "";
  display: inline-block;
  background: url(/_/image/icon/icon_pdf_gray-500.svg) center center/cover no-repeat;
}
@media print, screen and (min-width: 781px) {
  .c-secondary-btn--pdf-gray-500 .c-secondary-btn__icon-wrap::after {
    width: 24px;
    height: 24px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-secondary-btn--pdf-gray-500 .c-secondary-btn__icon-wrap::after {
    width: 6.1538461538vw;
    height: 6.1538461538vw;
  }
}

.c-secondary-btn--back .c-link-arrow {
  rotate: 180deg;
}

.c-download-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media print, screen and (min-width: 781px) {
  .c-download-btn {
    gap: 4px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-download-btn {
    gap: 1.0256410256vw;
  }
}

.c-download-btn span {
  text-decoration-line: underline;
}

.c-download-btn::after {
  content: "";
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  background: url(/_/image/icon/icon_download.svg) center center/cover no-repeat;
}
@media print, screen and (min-width: 781px) {
  .c-download-btn::after {
    width: 24px;
    height: 24px;
    gap: 4px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-download-btn::after {
    width: 6.1538461538vw;
    height: 6.1538461538vw;
    gap: 1.0256410256vw;
  }
}

/*--------------------------------------

  link text border

--------------------------------------*/
/* 共通 */
.c-link-blank {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  background: #E2E8F0;
  overflow: hidden;
  -webkit-transition: 0.2s ease-in;
  transition: 0.2s ease-in;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}
@media print, screen and (min-width: 781px) {
  .c-link-blank {
    --arrow-move: 36px;
    width: 36px;
    height: 36px;
    border-radius: 4px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-link-blank {
    --arrow-move: sp(36);
    width: 9.2307692308vw;
    height: 9.2307692308vw;
    border-radius: 1.0256410256vw;
  }
}

/* 共通 */
.c-link-blank::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  background-image: url("/_/image/icon/icon_link_gray-500.svg");
  width: 18px;
  height: 18px;
}
@media print, screen and (max-width: 780px) {
  .c-link-blank::after {
    width: 4.6153846154vw;
    height: 4.6153846154vw;
  }
}

.c-link-blank--white {
  background: #fff;
}

/*--------------------------------------

  btn arrow icon

--------------------------------------*/
/* 共通 */
.c-link-arrow {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  background: #E2E8F0;
  overflow: hidden;
  -webkit-transition: 0.2s ease-in;
  transition: 0.2s ease-in;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}
@media print, screen and (min-width: 781px) {
  .c-link-arrow {
    --arrow-move: 36px;
    width: 36px;
    height: 36px;
    border-radius: 4px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-link-arrow {
    --arrow-move: sp(36);
    width: 9.2307692308vw;
    height: 9.2307692308vw;
    border-radius: 1.0256410256vw;
  }
}

/* 共通 */
.c-link-arrow::before,
.c-link-arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
@media print, screen and (max-width: 780px) {
  .c-link-arrow::before,
  .c-link-arrow::after {
    width: 9.2307692308vw;
    height: 9.2307692308vw;
  }
}

@media (600px <= width <= 1023px) {
  .c-link-arrow::before {
    translate: 4.6153846154vw 0;
  }
}
/* 背景 white 矢印 gray-500 */
.c-link-arrow--white {
  background: #fff;
}

.c-link-arrow--white::before {
  background-image: url("/_/image/icon/icon_btn-arrow_right_gray-500.svg");
  -webkit-transform: translate(calc(-50% - 36px), -50%);
  transform: translate(calc(-50% - 36px), -50%);
}
@media print, screen and (max-width: 780px) {
  .c-link-arrow--white::before {
    -webkit-transform: translate(calc(-50% - 9.2307692308vw), -50%);
    transform: translate(calc(-50% - 9.2307692308vw), -50%);
  }
}

.c-link-arrow--white::after {
  background-image: url("/_/image/icon/icon_btn-arrow_right_gray-500.svg");
  -webkit-transform: translate(calc(-50% - 36px), -50%);
  transform: translate(calc(-50% - 36px), -50%);
}
@media print, screen and (max-width: 780px) {
  .c-link-arrow--white::after {
    -webkit-transform: translate(calc(-50% + 9.2307692308vw), -50%);
    transform: translate(calc(-50% + 9.2307692308vw), -50%);
  }
}

/* 背景 gray-200 矢印 gray-500 */
.c-link-arrow--gray-500 {
  background: #E2E8F0;
}

.c-link-arrow--gray-500::before {
  background-image: url("/_/image/icon/icon_btn-arrow_right_white.svg");
  -webkit-transform: translate(calc(-50% - 36px), -50%);
  transform: translate(calc(-50% - 36px), -50%);
}
@media print, screen and (max-width: 780px) {
  .c-link-arrow--gray-500::before {
    -webkit-transform: translate(calc(-50% + var(--arrow-move)), -50%);
    transform: translate(calc(-50% + var(--arrow-move)), -50%);
  }
}

.c-link-arrow--gray-500::after {
  background-image: url("/_/image/icon/icon_btn-arrow_right_gray-500.svg");
  -webkit-transform: translate(calc(-50% - 36px), -50%);
  transform: translate(calc(-50% - 36px), -50%);
}
@media print, screen and (max-width: 780px) {
  .c-link-arrow--gray-500::after {
    -webkit-transform: translate(calc(-50% + var(--arrow-move)), -50%);
    transform: translate(calc(-50% + var(--arrow-move)), -50%);
  }
}

/* 背景 gray-200 矢印 gray-900 */
.c-link-arrow--gray-900 {
  background: #E2E8F0;
}

.c-link-arrow--gray-900::before {
  background-image: url("/_/image/icon/icon_btn-arrow_right_white.svg");
  -webkit-transform: translate(calc(-50% - 36px), -50%);
  transform: translate(calc(-50% - 36px), -50%);
}
@media print, screen and (max-width: 780px) {
  .c-link-arrow--gray-900::before {
    -webkit-transform: translate(calc(-50% + var(--arrow-move)), -50%);
    transform: translate(calc(-50% + var(--arrow-move)), -50%);
  }
}

.c-link-arrow--gray-900::after {
  background-image: url("/_/image/icon/icon_btn-arrow_right_gray-900.svg");
  -webkit-transform: translate(calc(-50% - 36px), -50%);
  transform: translate(calc(-50% - 36px), -50%);
}
@media print, screen and (max-width: 780px) {
  .c-link-arrow--gray-900::after {
    -webkit-transform: translate(calc(-50% + var(--arrow-move)), -50%);
    transform: translate(calc(-50% + var(--arrow-move)), -50%);
  }
}

.c-top-btn {
  position: fixed;
  bottom: 80px;
  right: 0;
  z-index: 1000;
  bottom: 80px;
  right: 40px;
}
@media print, screen and (max-width: 780px) {
  .c-top-btn {
    bottom: 10.2564102564vw;
    right: 5.1282051282vw;
  }
}

/* 背景 gray-200 矢印 上矢印 */
.c-link-arrow--top {
  background: #E2E8F0;
  width: 56px;
  height: 56px;
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
}

.c-link-arrow--top::before,
.c-link-arrow--top::after {
  content: "";
  width: 24px;
  height: 24px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.c-link-arrow--top::before {
  background-image: url("/_/image/icon/icon_arrow_right.svg");
}

.c-link-arrow--top::after {
  background-image: url("/_/image/icon/icon_arrow_right.svg");
  -webkit-transform: translate(calc(-50% - 36px), -50%);
  transform: translate(calc(-50% - 36px), -50%);
}
@media print, screen and (max-width: 780px) {
  .c-link-arrow--top::after {
    -webkit-transform: translate(calc(-50% + var(--arrow-move)), -50%);
    transform: translate(calc(-50% + var(--arrow-move)), -50%);
  }
}

#c-top-btn {
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

#c-top-btn.is-show {
  opacity: 1;
  pointer-events: auto;
}

/* hover animation */
a:hover .c-link-arrow--white,
button:hover .c-link-arrow--white {
  background: #fff;
}

a:hover .c-link-arrow--gray-500,
button:hover .c-link-arrow--gray-500 {
  background: #1E293B;
}

a:hover .c-link-arrow--gray-900,
button:hover .c-link-arrow--gray-900 {
  background: #1E293B;
}

a:hover .c-link-arrow::after,
button:hover .c-link-arrow::after {
  -webkit-animation: arrow-out 0.2s ease-in forwards;
  animation: arrow-out 0.2s ease-in forwards;
}

a:hover .c-link-arrow::before,
button:hover .c-link-arrow::before {
  -webkit-animation: arrow-in 0.2s ease-in forwards;
  animation: arrow-in 0.2s ease-in forwards;
  translate: 0 0;
}

a:not(:hover) .c-link-arrow::after,
button:not(:hover) .c-link-arrow::after {
  -webkit-animation: arrow-in 0.2s ease-in forwards;
  animation: arrow-in 0.2s ease-in forwards;
}

a:not(:hover) .c-link-arrow::before,
button:not(:hover) .c-link-arrow::before {
  -webkit-animation: arrow-out 0.2s ease-in forwards;
  animation: arrow-out 0.2s ease-in forwards;
}

@-webkit-keyframes arrow-in {
  from {
    -webkit-transform: translate(calc(-50% - 36px), -50%);
    transform: translate(calc(-50% - 36px), -50%);
  }
  to {
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  @media print, screen and (max-width: 780px) {
    from {
      -webkit-transform: translate(calc(-50% - var(--arrow-move)), -50%);
      transform: translate(calc(-50% - var(--arrow-move)), -50%);
    }
    to {
      -webkit-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
    }
  }
}

@keyframes arrow-in {
  from {
    -webkit-transform: translate(calc(-50% - 36px), -50%);
    transform: translate(calc(-50% - 36px), -50%);
  }
  to {
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  @media print, screen and (max-width: 780px) {
    from {
      -webkit-transform: translate(calc(-50% - var(--arrow-move)), -50%);
      transform: translate(calc(-50% - var(--arrow-move)), -50%);
    }
    to {
      -webkit-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
    }
  }
}
@-webkit-keyframes arrow-out {
  from {
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  to {
    -webkit-transform: translate(calc(-50% + 36px), -50%);
    transform: translate(calc(-50% + 36px), -50%);
  }
  @media print, screen and (max-width: 780px) {
    from {
      -webkit-transform: translate(calc(-50% - var(--arrow-move)), -50%);
      transform: translate(calc(-50% - var(--arrow-move)), -50%);
    }
    to {
      -webkit-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
    }
  }
}
@keyframes arrow-out {
  from {
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  to {
    -webkit-transform: translate(calc(-50% + 36px), -50%);
    transform: translate(calc(-50% + 36px), -50%);
  }
  @media print, screen and (max-width: 780px) {
    from {
      -webkit-transform: translate(calc(-50% - var(--arrow-move)), -50%);
      transform: translate(calc(-50% - var(--arrow-move)), -50%);
    }
    to {
      -webkit-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
    }
  }
}
/*--------------------------------------

  hover under line - box -

--------------------------------------*/
.c-under-line {
  position: relative;
  display: inline-block;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#0F172A), to(#0F172A));
  background-image: linear-gradient(#0F172A, #0F172A);
  background-repeat: no-repeat;
  background-position: bottom right;
  -webkit-transition: background-size 0.2s ease-in;
  transition: background-size 0.2s ease-in;
}
@media print, screen and (min-width: 781px) {
  .c-under-line {
    border-bottom: 1px solid #E2E8F0;
    background-size: 0 1px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-under-line {
    border-bottom: 0.2564102564vw solid #E2E8F0;
    background-size: 0 0.2564102564vw;
  }
}

/* hover animation */
a.c-under-line:hover {
  background-position: bottom left;
}
@media print, screen and (min-width: 781px) {
  a.c-under-line:hover {
    background-size: 100% 1px;
  }
}
@media print, screen and (max-width: 780px) {
  a.c-under-line:hover {
    background-size: 100% 0.2564102564vw;
  }
}

/*--------------------------------------

  hover under line - text -

--------------------------------------*/
.c-under-txt-line {
  position: relative;
  display: inline-block;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#0F172A), to(#0F172A));
  background-image: linear-gradient(#0F172A, #0F172A);
  background-repeat: no-repeat;
  background-position: bottom right;
  -webkit-transition: background-size 0.2s ease-in;
  transition: background-size 0.2s ease-in;
}
@media print, screen and (min-width: 781px) {
  .c-under-txt-line {
    background-size: 0 1px;
    padding-bottom: 3px;
    -webkit-transform: translateY(1px);
    transform: translateY(1px);
  }
}
@media print, screen and (max-width: 780px) {
  .c-under-txt-line {
    background-size: 0 0.2564102564vw;
    padding-bottom: 0.5128205128vw;
    -webkit-transform: translateY(0.2564102564vw);
    transform: translateY(0.2564102564vw);
  }
}

/* hover animation */
a:hover .c-under-txt-line,
button:hover .c-under-txt-line {
  background-position: bottom left;
}
@media print, screen and (min-width: 781px) {
  a:hover .c-under-txt-line,
  button:hover .c-under-txt-line {
    background-size: 100% 1px;
  }
}
@media print, screen and (max-width: 780px) {
  a:hover .c-under-txt-line,
  button:hover .c-under-txt-line {
    background-size: 100% 0.2564102564vw;
  }
}

.l-header-gnav__item .c-under-txt-line {
  padding-bottom: 4px;
  -webkit-transform: translateY(1px);
  transform: translateY(1px);
}

.l-footer__link .c-under-txt-line {
  padding-bottom: 2px;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

/*--------------------------------------

  services card

--------------------------------------*/
.c-services__item {
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

.c-front-services-card {
  border-radius: 6px;
}
@media print, screen and (max-width: 780px) {
  .c-front-services-card {
    border-radius: 1.5384615385vw;
  }
}

.c-front-services-card__link {
  display: block;
  border-radius: 6px;
  background: #F3F7FB;
}
@media print, screen and (max-width: 780px) {
  .c-front-services-card__link {
    border-radius: 1.5384615385vw;
  }
}

.c-front-services-card__head {
  position: relative;
  font-family: "Poppins", sans-serif;
  line-height: 1.3;
  font-weight: 500;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
@media print, screen and (min-width: 781px) {
  .c-front-services-card__head {
    padding: 24px 32px;
    font-size: 22px;
    border-bottom: 1px solid #E2E8F0;
    gap: 24px;
    min-height: 106px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-front-services-card__head {
    height: 25.1282051282vw;
    font-size: 5.641025641vw;
    padding: 6.1538461538vw 6.1538461538vw 4.1025641026vw;
    border-bottom: 0.2564102564vw solid #E2E8F0;
    gap: 6.1538461538vw;
  }
}

.c-front-services-card__head::before {
  position: absolute;
  top: 50%;
  left: 0;
  content: "";
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  background: #F5A600;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
@media print, screen and (min-width: 781px) {
  .c-front-services-card__head::before {
    width: 4px;
    height: 40px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-front-services-card__head::before {
    width: 1.0256410256vw;
    height: 12.3076923077vw;
  }
}

.c-front-services-card__body {
  display: block;
  line-height: 1.8;
}
@media print, screen and (min-width: 781px) {
  .c-front-services-card__body {
    padding: 24px 32px;
    min-height: 114px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-front-services-card__body {
    padding: 4.1025641026vw 6.1538461538vw 6.1538461538vw;
    font-size: 4.1025641026vw;
    min-height: 25.1282051282vw;
  }
}

.c-front-services-card__text {
  line-height: 1.8;
}
@media (width <= 1023px) {
  .c-front-services-card__text {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }
}
/*--------------------------------------

  news cards

--------------------------------------*/
@media print, screen and (max-width: 780px) {
  .p-front-services__list .splide__slide__row {
    margin-bottom: 4.1025641026vw !important;
  }
}

@media print, screen and (min-width: 781px) {
  .c-news-card__list {
    border-top: 1px solid #E2E8F0;
  }
}
@media print, screen and (max-width: 780px) {
  .c-news-card__list {
    border-top: 0.2564102564vw solid #E2E8F0;
  }
}

.c-news-card {
  width: 100%;
}
.c-news-card__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}
@media print, screen and (min-width: 781px) {
  .c-news-card__link {
    gap: 56px;
    padding-block: 32px 48px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-news-card__link {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding-block: 6.1538461538vw 10.2564102564vw;
    gap: 4.1025641026vw;
  }
}

.c-news-card__date {
  color: #64748B;
  font-family: "Outfit", sans-serif;
  letter-spacing: 4%;
  font-weight: 400;
}
@media print, screen and (min-width: 781px) {
  .c-news-card__date {
    font-size: 14px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-news-card__date {
    font-size: 3.5897435897vw;
  }
}

.c-news-card__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}
@media print, screen and (min-width: 781px) {
  .c-news-card__body {
    gap: 32px;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}
@media print, screen and (max-width: 780px) {
  .c-news-card__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 2.0512820513vw;
  }
}

.c-news-card__body-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
@media print, screen and (min-width: 781px) {
  .c-news-card__body-inner {
    gap: 16px;
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
  }
}
@media print, screen and (max-width: 780px) {
  .c-news-card__body-inner {
    padding-right: 2.0512820513vw;
    gap: 4.1025641026vw;
  }
}

.c-news-card__ttl {
  line-height: 1.8;
}
@media print, screen and (min-width: 781px) {
  .c-news-card__ttl {
    font-size: 18px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-news-card__ttl {
    font-size: 4.6153846154vw;
  }
}

.c-news-card__category {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: #F5A600;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media print, screen and (min-width: 781px) {
  .c-news-card__category {
    border-radius: 2px;
    border: 1px solid #F5A600;
    font-size: 12px;
    padding-inline: 12px;
    height: 22px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-news-card__category {
    border-radius: 0.5128205128vw;
    border: 0.2564102564vw solid #F5A600;
    font-size: 3.0769230769vw;
    padding-inline: 3.0769230769vw;
    height: 5.641025641vw;
  }
}

@media print, screen and (max-width: 780px) {
  .c-news-card__body .c-link-arrow {
    margin-inline: auto 2.0512820513vw;
  }
}

/*--------------------------------------

  video

--------------------------------------*/
.c-bg-movie {
  overflow: hidden;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.c-bg-movie__video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

@media print, screen and (max-width: 780px) {
  .c-bg-movie__video--pc {
    display: none;
  }
}

@media print, screen and (min-width: 781px) {
  .c-bg-movie__video--sp {
    display: none;
  }
}
@media print, screen and (max-width: 780px) {
  .c-bg-movie__video--sp {
    display: block;
  }
}

/*--------------------------------------

  contact banner

--------------------------------------*/
.c-contact {
  padding-block: 160px;
}

.c-contact__ttl {
  text-align: center;
}
@media print, screen and (min-width: 781px) {
  .c-contact__ttl {
    margin-bottom: 56px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-contact__ttl {
    margin-bottom: 10.2564102564vw;
  }
}

.c-contact__ttl--en {
  font-family: "Poppins", sans-serif;
  line-height: 1.1;
}
@media print, screen and (min-width: 781px) {
  .c-contact__ttl--en {
    font-size: 72px;
    margin-bottom: 24px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-contact__ttl--en {
    font-size: 12.3076923077vw;
    margin-bottom: 6.1538461538vw;
  }
}

.c-contact-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 1360px;
  margin: 0 auto;
}
@media print, screen and (min-width: 781px) {
  .c-contact-links {
    gap: 40px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
@media only screen and (min-width: 1600px) {
  .c-contact-links {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
  }
}
@media print, screen and (max-width: 780px) {
  .c-contact-links {
    gap: 4.1025641026vw;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.c-contact-links__link {
  background: #fff;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 100%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media print, screen and (min-width: 781px) {
  .c-contact-links__link {
    border-radius: 6px;
    padding: 16px;
    padding-right: 32px;
    max-width: 720px;
    margin: 0 auto;
  }
}
@media print, screen and (max-width: 780px) {
  .c-contact-links__link {
    border-radius: 1.5384615385vw;
    padding: 3.0769230769vw;
    padding-right: 6.1538461538vw;
  }
}

.c-contact-links__link:hover .c-contact-links__link-icon::before {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

.c-contact-links__link-icon {
  overflow: hidden;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}
@media print, screen and (min-width: 781px) {
  .c-contact-links__link-icon {
    width: 88px;
    height: 88px;
    border-radius: 4px;
    margin-right: 40px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-contact-links__link-icon {
    width: 18.4615384615vw;
    height: 18.4615384615vw;
    border-radius: 0.7692307692vw;
    margin-right: 6.1538461538vw;
  }
}

.c-contact-links__link-icon::before {
  content: "";
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  background: url("/_/image/icon/icon_comtact_services.png") center center/cover no-repeat;
  width: 100%;
  height: 100%;
  -webkit-transition: 0.2s ease-in;
  transition: 0.2s ease-in;
}

.c-contact-links__link-ttl {
  width: 100%;
}

.c-contact-links__link--services .c-contact-links__link-icon::before {
  background-image: url("/_/image/icon/icon_contact_services.png");
}

.c-contact-links__link--company .c-contact-links__link-icon::before {
  background-image: url("/_/image/icon/icon_contact_company.png");
}

.c-contact-links__link--recruit .c-contact-links__link-icon::before {
  background-image: url("/_/image/icon/icon_contact_recruit.png");
}

/*--------------------------------------

  contact form

--------------------------------------*/
.c-form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
@media print, screen and (min-width: 781px) {
  .c-form {
    padding-bottom: 160px;
  }
}
@media only screen and (min-width: 1600px) {
  .c-form {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    gap: min(120px, 7.5vw);
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}
@media print, screen and (max-width: 780px) {
  .c-form {
    padding-bottom: 20.5128205128vw;
  }
}

@media print, screen and (min-width: 781px) {
  .c-form--left {
    margin-bottom: 80px;
  }
}
@media only screen and (min-width: 1600px) {
  .c-form--left {
    width: min(560px, 35vw);
    width: 560px;
    margin-bottom: 0;
  }
}
@media print, screen and (max-width: 780px) {
  .c-form--left {
    margin-bottom: 20.5128205128vw;
  }
}

@media only screen and (min-width: 1600px) {
  .c-form--right {
    width: 680px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-form--right {
    padding-top: 14.358974359vw;
    border-top: 0.2564102564vw solid #E2E8F0;
  }
}

@media print, screen and (min-width: 781px) {
  .c-form__ttl {
    margin-bottom: 56px;
  }
}
@media only screen and (min-width: 1600px) {
  .c-form__ttl {
    max-width: 560px;
    font-size: min(40px, 2.5vw);
  }
}
@media print, screen and (max-width: 780px) {
  .c-form__ttl {
    margin-bottom: 10.2564102564vw;
  }
}

@media print, screen and (min-width: 781px) {
  .c-form__txt {
    margin-bottom: 24px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-form__txt {
    margin-bottom: 6.1538461538vw;
  }
}

@media print, screen and (min-width: 781px) {
  .c-form__txt:last-of-type {
    margin-bottom: 40px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-form__txt:last-of-type {
    margin-bottom: 10.2564102564vw;
  }
}

@media print, screen and (max-width: 780px) {
  .c-form__txt.c-body--lg {
    font-size: 4.1025641026vw;
  }
}

.contact-form__note-list {
  display: grid;
}
@media print, screen and (min-width: 781px) {
  .contact-form__note-list {
    gap: 8px;
  }
}
@media print, screen and (max-width: 780px) {
  .contact-form__note-list {
    gap: 2.0512820513vw;
  }
}

.contact-form__note-list__item {
  display: grid;
  grid-template-columns: auto 1fr;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: start;
}
@media print, screen and (min-width: 781px) {
  .contact-form__note-list__item {
    -webkit-column-gap: 4px;
    -moz-column-gap: 4px;
    column-gap: 4px;
  }
}
@media print, screen and (max-width: 780px) {
  .contact-form__note-list__item {
    -webkit-column-gap: 1.0256410256vw;
    -moz-column-gap: 1.0256410256vw;
    column-gap: 1.0256410256vw;
  }
}

.contact-form__note-list__mark {
  line-height: 1.6;
}

.contact-form__note-list__body {
  min-width: 0;
}

.contact-form__label--required {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: #dc3545;
  font-weight: 500;
  line-height: 1;
}
@media print, screen and (min-width: 781px) {
  .contact-form__label--required {
    min-width: 49px;
    padding: 4px 12px 5px;
    margin-right: 4px;
    border: 1px solid #dc3545;
    border-radius: 32px;
    font-size: 12px;
  }
}
@media print, screen and (max-width: 780px) {
  .contact-form__label--required {
    min-width: 12.5641025641vw;
    padding: 1.0256410256vw 3.0769230769vw 1.2820512821vw;
    margin-right: 1.0256410256vw;
    border: 0.2564102564vw solid #dc3545;
    border-radius: 8.2051282051vw;
    font-size: 3.0769230769vw;
  }
}

.c-form__sub-ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media print, screen and (min-width: 781px) {
  .c-form__sub-ttl {
    gap: 21px;
    margin-bottom: 32px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-form__sub-ttl {
    gap: 5.3846153846vw;
    margin-bottom: 8.2051282051vw;
  }
}

@media print, screen and (min-width: 781px) {
  .c-form__sub-ttl--02 {
    margin-top: 96px;
    padding-top: 96px;
    border-top: 1px solid #CBD5E1;
  }
}
@media print, screen and (max-width: 780px) {
  .c-form__sub-ttl--02 {
    margin-top: 20.5128205128vw;
    padding-top: 14.358974359vw;
    border-top: 0.2564102564vw solid #CBD5E1;
  }
}

.c-form__sub-ttl::before {
  content: "";
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  background: #F5A600;
}
@media print, screen and (min-width: 781px) {
  .c-form__sub-ttl::before {
    width: 3px;
    height: 45px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-form__sub-ttl::before {
    width: 0.7692307692vw;
    height: 11.5384615385vw;
  }
}

.c-form__back-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media print, screen and (min-width: 781px) {
  .c-form__back-btn {
    gap: 16px;
    padding: 16px 10px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-form__back-btn {
    gap: 4.1025641026vw;
    padding: 4.1025641026vw 2.5641025641vw;
  }
}

.c-form__back-btn .c-link-arrow {
  rotate: 180deg;
}

.c-form__wrap {
  background: #F3F7FB;
}
@media print, screen and (min-width: 781px) {
  .c-form__wrap {
    border-radius: 8px;
    padding: 56px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-form__wrap {
    border-radius: 2.0512820513vw;
    padding: 8.2051282051vw 6.1538461538vw;
  }
}

@media print, screen and (min-width: 781px) {
  .c-form__box {
    margin-bottom: 40px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-form__box {
    margin-bottom: 8.2051282051vw;
  }
}

@media print, screen and (min-width: 781px) {
  .c-form__label {
    margin-bottom: 24px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-form__label {
    margin-bottom: 4.1025641026vw;
  }
}

.c-form__label label {
  display: grid;
}
@media print, screen and (min-width: 781px) {
  .c-form__label label {
    gap: 8px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-form__label label {
    gap: 2.0512820513vw;
  }
}

.c-form__label_row-growp {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media print, screen and (min-width: 781px) {
  .c-form__label_row-growp {
    gap: 8px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-form__label_row-growp {
    gap: 2.0512820513vw;
  }
}

.c-form__input {
  position: relative;
}

.error,
.wpcf7-not-valid-tip {
  display: block;
  line-height: 1.6;
  color: #dc3545;
  width: 100%;
}
@media print, screen and (min-width: 781px) {
  .error,
  .wpcf7-not-valid-tip {
    font-size: 16px;
    margin-top: 16px;
  }
}
@media print, screen and (max-width: 780px) {
  .error,
  .wpcf7-not-valid-tip {
    font-size: 3.5897435897vw;
    margin-top: 4.1025641026vw;
  }
}

.error--checkbox {
  text-align: center;
}
@media print, screen and (min-width: 781px) {
  .error--checkbox {
    margin-top: -10px;
    margin-bottom: 24px;
  }
}
@media print, screen and (max-width: 780px) {
  .error--checkbox {
    margin-top: -2.5641025641vw;
    margin-bottom: 6.1538461538vw;
  }
}

.c-form__input input,
.c-form__select select,
.c-form__input textarea {
  border: none;
  line-height: 1.8;
  width: 100%;
}
@media print, screen and (min-width: 781px) {
  .c-form__input input,
  .c-form__select select,
  .c-form__input textarea {
    padding: 24px;
    font-size: 16px;
    border-radius: 8px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-form__input input,
  .c-form__select select,
  .c-form__input textarea {
    padding: 5.1282051282vw;
    font-size: 4.1025641026vw;
    border-radius: 2.0512820513vw;
  }
  .c-form__input input::-webkit-input-placeholder, .c-form__select select::-webkit-input-placeholder, .c-form__input textarea::-webkit-input-placeholder {
    font-size: 3.5897435897vw;
  }
  .c-form__input input::-moz-placeholder, .c-form__select select::-moz-placeholder, .c-form__input textarea::-moz-placeholder {
    font-size: 3.5897435897vw;
  }
  .c-form__input input:-ms-input-placeholder, .c-form__select select:-ms-input-placeholder, .c-form__input textarea:-ms-input-placeholder {
    font-size: 3.5897435897vw;
  }
  .c-form__input input::-ms-input-placeholder, .c-form__select select::-ms-input-placeholder, .c-form__input textarea::-ms-input-placeholder {
    font-size: 3.5897435897vw;
  }
  .c-form__input input::placeholder,
  .c-form__select select::placeholder,
  .c-form__input textarea::placeholder {
    font-size: 3.5897435897vw;
  }
}
@media (width <= 390px) {
  .c-form__input input,
  .c-form__select select,
  .c-form__input textarea {
    font-size: 16px;
  }
}
.c-form__input input::-webkit-input-placeholder, .c-form__select select::-webkit-input-placeholder, .c-form__input textarea::-webkit-input-placeholder {
  color: #94A3B8;
}
.c-form__input input::-moz-placeholder, .c-form__select select::-moz-placeholder, .c-form__input textarea::-moz-placeholder {
  color: #94A3B8;
}
.c-form__input input:-ms-input-placeholder, .c-form__select select:-ms-input-placeholder, .c-form__input textarea:-ms-input-placeholder {
  color: #94A3B8;
}
.c-form__input input::-ms-input-placeholder, .c-form__select select::-ms-input-placeholder, .c-form__input textarea::-ms-input-placeholder {
  color: #94A3B8;
}
.c-form__input input::placeholder,
.c-form__select select::placeholder,
.c-form__input textarea::placeholder {
  color: #94A3B8;
}
@media print, screen and (min-width: 781px) {
  .c-form__input input:focus,
  .c-form__select select:focus,
  .c-form__input textarea:focus {
    outline: 1px solid #64748B;
  }
}
@media print, screen and (max-width: 780px) {
  .c-form__input input:focus,
  .c-form__select select:focus,
  .c-form__input textarea:focus {
    outline: 0.2564102564vw solid #64748B;
  }
}
.c-form__input input.error,
.c-form__select select.error,
.c-form__input textarea.error {
  border: 1px solid #dc3545;
  color: #000;
}
.c-form__input input.error:focus,
.c-form__select select.error:focus,
.c-form__input textarea.error:focus {
  outline: none;
}

.c-form__select {
  position: relative;
}

.c-form__select select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  background: #fff;
}
@media print, screen and (max-width: 780px) {
  .c-form__select select {
    color: #0F172A;
  }
}

@media print, screen and (max-width: 780px) {
  .c-form__select select.is-placeholder {
    font-size: 3.5897435897vw;
    color: #94A3B8;
  }
}

@media print, screen and (max-width: 780px) {
  .c-form__select select:not(.is-placeholder) {
    color: #0F172A;
    font-size: 4.1025641026vw;
  }
}
@media (width <= 390px) {
  .c-form__select select:not(.is-placeholder) {
    font-size: 16px;
  }
}

.c-form__select::after {
  content: "";
  position: absolute;
  display: block;
  right: 16px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background: url(/_/image/icon/icon_btn-arrow_down_gray-900.svg) center center/cover no-repeat;
  pointer-events: none;
}
@media print, screen and (min-width: 781px) {
  .c-form__select::after {
    width: 24px;
    height: 24px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-form__select::after {
    width: 6.1538461538vw;
    height: 6.1538461538vw;
  }
}

.c-form__select option {
  color: #0F172A;
}

@media print, screen and (min-width: 781px) {
  .c-form__input textarea {
    min-height: 200px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-form__input textarea {
    min-height: 51.2820512821vw;
  }
}

@media print, screen and (min-width: 781px) {
  .c-form__policy {
    margin-top: 96px;
    padding-top: 96px;
    border-top: 1px solid #CBD5E1;
  }
}
@media print, screen and (max-width: 780px) {
  .c-form__policy {
    margin-top: 20.5128205128vw;
    padding-top: 14.358974359vw;
    border-top: 0.2564102564vw solid #CBD5E1;
  }
}

@media print, screen and (min-width: 781px) {
  .c-form__policy-ttl {
    margin-bottom: 24px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-form__policy-ttl {
    margin-bottom: 6.1538461538vw;
  }
}

@media print, screen and (min-width: 781px) {
  .c-form__policy-txt {
    margin-bottom: 56px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-form__policy-txt {
    margin-bottom: 14.358974359vw;
  }
}

@media print, screen and (max-width: 780px) {
  .c-form__policy-txt.c-body--lg {
    font-size: 4.1025641026vw !important;
  }
}

.c-form__policy-link {
  font-weight: bold;
  border-bottom: 1px solid #0F172A;
}

.c-form__checkbox,
.wpcf7-form-control-wrap[data-name=acceptance-333] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  cursor: pointer;
  position: relative;
}
@media print, screen and (min-width: 781px) {
  .c-form__checkbox,
  .wpcf7-form-control-wrap[data-name=acceptance-333] {
    margin-bottom: 24px;
    gap: 8px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-form__checkbox,
  .wpcf7-form-control-wrap[data-name=acceptance-333] {
    margin-bottom: 6.1538461538vw;
    gap: 2.0512820513vw;
  }
}

.wpcf7-form-control-wrap label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media print, screen and (min-width: 781px) {
  .wpcf7-form-control-wrap label {
    gap: 8px;
  }
}
@media print, screen and (max-width: 780px) {
  .wpcf7-form-control-wrap label {
    gap: 2.0512820513vw;
  }
}
@media print, screen and (min-width: 781px) {
  .wpcf7-form-control-wrap input[type=checkbox] {
    width: 18px;
    height: 18px;
  }
}
@media print, screen and (max-width: 780px) {
  .wpcf7-form-control-wrap input[type=checkbox] {
    width: 4.6153846154vw;
    height: 4.6153846154vw;
  }
}

.wpcf7-list-item {
  margin: 0 !important;
}

/* inputは見えなくする */
.c-form__checkbox {
  position: absolute;
  opacity: 0;
  margin: 0;
  cursor: pointer;
}
@media print, screen and (min-width: 781px) {
  .c-form__checkbox {
    width: 24px;
    height: 24px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-form__checkbox {
    width: 4.358974359vw;
    height: 4.358974359vw;
  }
}

/* 箱 */
.c-form__checkbox-box {
  position: relative;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  -webkit-transition: 0.2s ease-in;
  transition: 0.2s ease-in;
}
@media print, screen and (min-width: 781px) {
  .c-form__checkbox-box {
    width: 24px;
    height: 24px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-form__checkbox-box {
    width: 4.358974359vw;
    height: 4.358974359vw;
  }
}

/* OFF */
.c-form__checkbox-box::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("/_/image/icon/icon_check_off.svg") center center/cover no-repeat;
  -webkit-transition: 0.1s ease-in;
  transition: 0.1s ease-in;
}

/* ON */
.c-form__checkbox-box::after {
  content: "";
  position: absolute;
  inset: 0;
  background: url("/_/image/icon/icon_check_on.svg") center center/cover no-repeat;
  opacity: 0;
  -webkit-transition: 0.1s ease-in;
  transition: 0.1s ease-in;
}

/* checked */
.c-form__checkbox:checked + .c-form__checkbox-box::after {
  opacity: 1;
}

.c-form__submit {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}

.c-form__submit-flexbox .c-form__submit {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media print, screen and (min-width: 781px) {
  .c-form__submit-flexbox .c-form__submit {
    margin: 0;
  }
}
@media print, screen and (max-width: 780px) {
  .c-form__submit-flexbox .c-form__submit {
    margin: 0 auto;
  }
}

.c-primary-btn.is-disabled {
  opacity: 0.3;
  pointer-events: none;
  -webkit-transition: 0.1s ease-in;
  transition: 0.1s ease-in;
}

.c-primary-btn.is-active {
  opacity: 1;
  pointer-events: all;
  -webkit-transition: 0.1s ease-in;
  transition: 0.1s ease-in;
}

/* disabled */
.c-form__submit .c-primary-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.c-form__submit-flexbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
@media print, screen and (min-width: 781px) {
  .c-form__submit-flexbox {
    gap: 30px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-form__submit-flexbox {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    gap: 6.1538461538vw;
  }
}

.c-form--confirm .c-form__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media print, screen and (min-width: 781px) {
  .c-form--confirm .c-form__box {
    gap: 24px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-form--confirm .c-form__box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 3.0769230769vw;
  }
}
.c-form--confirm .c-form__box:last-of-type {
  margin-bottom: 0;
}
.c-form--confirm .c-form__label {
  -webkit-box-flex: 1;
  -ms-flex: auto 0 0px;
  flex: auto 0 0;
}
@media print, screen and (min-width: 781px) {
  .c-form--confirm .c-form__label {
    margin-bottom: 0;
    width: 240px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-form--confirm .c-form__label {
    margin-bottom: 0;
  }
}
.c-form--confirm .c-form__label .c-form__input {
  display: inline-block;
}
.c-form--confirm .c-form__label .c-form__input span {
  display: inline-block;
  line-height: 1.8;
}
@media print, screen and (min-width: 781px) {
  .c-form--confirm .c-form__policy .c-form__txt {
    text-align: center;
  }
}
@media only screen and (min-width: 1600px) {
  .c-form--confirm .c-form__policy .c-form__txt {
    text-align: left;
  }
}
.c-form--confirm .c-form__input span {
  line-height: 1.8;
}

.c-form__box.is-hidden {
  display: none;
}

.wpcf7 form.sent .wpcf7-response-output {
  display: none;
}

/*--------------------------------------

  breadcrumb

--------------------------------------*/
.c-breadcrumb {
  line-height: 1.2;
  font-weight: 500;
}
@media print, screen and (min-width: 781px) {
  .c-breadcrumb {
    font-size: 13px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-breadcrumb {
    font-size: 3.0769230769vw;
  }
}

.c-breadcrumb__list {
  line-height: 1.2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: end;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 8px;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.c-breadcrumb__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.c-breadcrumb__item--line::after {
  content: "";
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 16px;
  height: 1px;
  background: #0F172A;
  -webkit-transform: rotate(130deg);
  transform: rotate(130deg);
}
@media print, screen and (max-width: 780px) {
  .c-breadcrumb__item--line::after {
    width: 4.1025641026vw;
    height: 0.2564102564vw;
  }
}

.c-breadcrumb__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media print, screen and (min-width: 781px) {
  .c-breadcrumb__link {
    padding: 8px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-breadcrumb__link {
    padding: 2.0512820513vw;
  }
}

.c-breadcrumb__current {
  color: #64748B;
}

/*--------------------------------------

  step

--------------------------------------*/
.c-step__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media print, screen and (min-width: 781px) {
  .c-step__list {
    gap: 169px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-step__list {
    gap: 18.4615384615vw;
    margin-top: 2.0512820513vw;
    margin-bottom: 5.641025641vw;
  }
}

.c-step__item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 12px;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 500;
}
@media print, screen and (max-width: 780px) {
  .c-step__item {
    font-size: 3.0769230769vw;
  }
}

.c-step__item::before {
  content: "";
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  background: #CBD5E1;
  border-radius: 100%;
}
@media print, screen and (min-width: 781px) {
  .c-step__item::before {
    width: 20px;
    height: 20px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-step__item::before {
    width: 4.1025641026vw;
    height: 4.1025641026vw;
  }
}

.c-step__item--line::after {
  position: absolute;
  content: "";
  background: #64748B;
}
@media print, screen and (min-width: 781px) {
  .c-step__item--line::after {
    top: 10px;
    right: -164px;
    width: 160px;
    height: 1px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-step__item--line::after {
    top: 2.0512820513vw;
    right: calc(-14.358974359vw + -2.0512820513vw);
    width: 14.358974359vw;
    height: 0.2564102564vw;
  }
}

.c-step__item.is-current::before {
  background: url(/_/image/icon/icon_c-step_active.svg) center center/cover no-repeat;
}
@media print, screen and (min-width: 781px) {
  .c-step__item.is-current::before {
    width: 20px;
    height: 20px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-step__item.is-current::before {
    width: 4.1025641026vw;
    height: 4.1025641026vw;
  }
}

.c-step__item.is-checked::before {
  background: url(/_/image/icon/icon_c-step_checked.svg) center center/cover no-repeat;
}
@media print, screen and (min-width: 781px) {
  .c-step__item.is-checked::before {
    width: 20px;
    height: 20px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-step__item.is-checked::before {
    width: 4.1025641026vw;
    height: 4.1025641026vw;
  }
}

/*--------------------------------------

  dialog

--------------------------------------*/
.c-dialog {
  position: fixed;
  inset: 0;
  background: rgb(15, 23, 42);
  opacity: 0;
  pointer-events: none;
}

.c-dialog img {
  border-radius: 6px;
}
@media print, screen and (max-width: 780px) {
  .c-dialog img {
    border-radius: 1.5384615385vw;
  }
}

.c-dialog.is-open {
  opacity: 0.3;
  pointer-events: auto;
}

.c-dialog dialog {
  padding: 0;
  border: none;
  background: none;
}
@media (width >= 1024px) {
  .c-dialog dialog {
    width: min(1080px, 67.5vw);
  }
}
@media print, screen and (max-width: 780px) {
  .c-dialog dialog {
    max-width: 91.7948717949vw;
  }
}

@media (width >= 1024px) {
  .p-service-detail--oneview .c-dialog dialog,
  .p-service-detail--fincad .c-dialog dialog {
    width: min(800px, 50vw);
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail--oneview .c-dialog dialog,
  .p-service-detail--fincad .c-dialog dialog {
    max-width: 91.7948717949vw;
  }
}

.c-dialog dialog::-ms-backdrop {
  background: rgba(15, 23, 42, 0.4);
}

.c-dialog dialog::backdrop {
  background: rgba(15, 23, 42, 0.4);
}

.c-dialog__inner {
  position: relative;
}

.c-dialog__close {
  display: block;
  margin-left: auto;
}

/*--------------------------------------

  c-page-nav

--------------------------------------*/
.c-page-nav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media print, screen and (min-width: 781px) {
  .c-page-nav__list {
    gap: 32px;
  }
}
@media (width <= 1023px) {
  .c-page-nav__list {
    gap: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
@media print, screen and (max-width: 780px) {
  .c-page-nav__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

@media print, screen and (min-width: 781px) {
  .c-page-nav__item {
    min-width: 200px;
  }
}
.c-page-nav__link {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  align-items: center;
  width: 100%;
  height: 100%;
  -webkit-transition: 0.2s ease-in;
  transition: 0.2s ease-in;
  background-image: -webkit-gradient(linear, left top, left bottom, from(#0F172A), to(#0F172A));
  background-image: linear-gradient(#0F172A, #0F172A);
  background-repeat: no-repeat;
  background-position: bottom right;
  -webkit-transition: background-size 0.2s ease-in;
  transition: background-size 0.2s ease-in;
}
@media print, screen and (min-width: 781px) {
  .c-page-nav__link {
    padding-block: 16px;
    gap: 8px;
    border-bottom: 1px solid #E2E8F0;
    background-size: 0 1px;
  }
}
@media (width <= 1023px) {
  .c-page-nav__link {
    padding-block: 24px 16px;
    min-height: 80px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-page-nav__link {
    min-height: 18.9743589744vw;
    gap: 2.0512820513vw;
    padding-block: 6.1538461538vw 4.1025641026vw;
    border-bottom: 0.2564102564vw solid #E2E8F0;
    background-size: 0 0.2564102564vw;
  }
}

@media print, screen and (max-width: 780px) {
  .c-page-nav__link.c-btn-txt--md {
    font-size: 3.5897435897vw;
  }
}

.c-page-nav__link:hover {
  background-position: bottom left;
}
@media print, screen and (min-width: 781px) {
  .c-page-nav__link:hover {
    background-size: 100% 1px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-page-nav__link:hover {
    background-size: 100% 0.2564102564vw;
  }
}

.c-page-nav__link::before {
  content: "";
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  background: url(/_/image/icon/icon_btn-arrow_down_primary-500.svg) center center/cover no-repeat;
}
@media print, screen and (min-width: 781px) {
  .c-page-nav__link::before {
    width: 24px;
    height: 24px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-page-nav__link::before {
    width: 6.1538461538vw;
    height: 6.1538461538vw;
  }
}

.c-page-nav__line {
  position: relative;
  display: inline-block;
}
@media print, screen and (min-width: 781px) {
  .c-page-nav__line {
    padding-bottom: 2px;
    -webkit-transform: translateY(1px);
    transform: translateY(1px);
  }
}
@media print, screen and (max-width: 780px) {
  .c-page-nav__line {
    padding-bottom: 0.5128205128vw;
    -webkit-transform: translateY(0.2564102564vw);
    transform: translateY(0.2564102564vw);
  }
}
.c-page-nav__line::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  background: #0F172A;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: right;
  transform-origin: right;
  -webkit-transition: -webkit-transform 0.2s ease-in;
  transition: -webkit-transform 0.2s ease-in;
  transition: transform 0.2s ease-in;
  transition: transform 0.2s ease-in, -webkit-transform 0.2s ease-in;
}
@media print, screen and (min-width: 781px) {
  .c-page-nav__line::after {
    height: 1px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-page-nav__line::after {
    height: 0.2564102564vw;
  }
}

/* hover animation */
a:hover .c-under-txt-line::after,
button:hover .c-under-txt-line::after {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  -webkit-transform-origin: left;
  transform-origin: left;
}

.c-content {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media print, screen and (min-width: 781px) {
  .c-content {
    gap: min(80px, 5vw);
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-block: 0 160px;
  }
}
@media (width <= 1024px) {
  .c-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 80px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-content {
    gap: 20.5128205128vw;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding-block: 0 16.4102564103vw 14.358974359vw;
  }
}

@media print, screen and (min-width: 781px) {
  .c-content + .c-content {
    padding-top: 120px;
    border-top: 1px solid #E2E8F0;
  }
}
@media print, screen and (max-width: 780px) {
  .c-content + .c-content {
    margin-top: 14.358974359vw;
    padding-top: 14.358974359vw;
    border-top: 0.2564102564vw solid #E2E8F0;
  }
}

@media print, screen and (min-width: 781px) {
  .c-content--left {
    width: min(280px, 17.5vw);
  }
}
@media (width <= 1023px) {
  .c-content--left {
    width: 100%;
  }
}
.c-content-head-ttl {
  font-family: "Outfit", sans-serif;
  line-height: 1.5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media print, screen and (min-width: 781px) {
  .c-content-head-ttl {
    font-size: 16px;
    gap: 8px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-content-head-ttl {
    font-size: 4.1025641026vw;
    gap: 2.0512820513vw;
  }
}

.c-content-head-ttl::before {
  content: "";
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  background: url(/_/image/icon/icon_service-datail_content-ttl.svg) center center/cover no-repeat;
}
@media print, screen and (min-width: 781px) {
  .c-content-head-ttl::before {
    width: 6px;
    height: 12px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-content-head-ttl::before {
    width: 1.5384615385vw;
    height: 3.0769230769vw;
  }
}

@media print, screen and (min-width: 781px) {
  .c-content--right {
    width: min(1000px, 62.5vw);
  }
}
@media (width <= 1023px) {
  .c-content--right {
    width: 100%;
  }
}
@media print, screen and (min-width: 781px) {
  .c-content--right:has(.c-content-txt) .c-content-ttl {
    margin-bottom: 56px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-content--right:has(.c-content-txt) .c-content-ttl {
    margin-bottom: 10.2564102564vw;
  }
}

@media print, screen and (min-width: 781px) {
  .c-content--right:has(.c-secondary-btn) .c-content-txt {
    margin-bottom: 40px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-content--right:has(.c-secondary-btn) .c-content-txt {
    margin-bottom: 10.2564102564vw;
  }
}

@media print, screen and (min-width: 781px) {
  .c-content-txt {
    margin-bottom: 120px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-content-txt {
    margin-bottom: 10.2564102564vw;
  }
}

@media print, screen and (min-width: 781px) {
  .c-content--right .c-h1 {
    margin-bottom: 56px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-content--right .c-h1 {
    margin-bottom: 20.5128205128vw;
  }
}

.c-list {
  list-style-type: disc;
  line-height: 1.8;
}
@media print, screen and (min-width: 781px) {
  .c-list {
    font-size: 18px;
  }
}
.c-list__item {
  margin-left: 1.25rem;
}
.c-list--number {
  list-style-type: decimal;
  line-height: 1.8;
  display: grid;
  gap: 0.5em;
}
@media print, screen and (min-width: 781px) {
  .c-list--number {
    font-size: 18px;
  }
}
.c-table {
  width: 100%;
  line-height: 1.8;
}
@media print, screen and (min-width: 781px) {
  .c-table {
    font-size: 18px;
  }
}
@media print, screen and (max-width: 780px) {
  .c-table {
    display: block;
    border-bottom: 1px solid #E2E8F0;
  }
}

.c-table__row {
  border-top: 1px solid #E2E8F0;
}
@media print, screen and (min-width: 781px) {
  .c-table__row {
    border-bottom: 1px solid #E2E8F0;
  }
}
@media print, screen and (max-width: 780px) {
  .c-table__row {
    display: block;
  }
}

.c-table__th {
  text-align: left;
}
@media print, screen and (min-width: 781px) {
  .c-table__th {
    padding: 32px 32px 32px 0;
    width: 35%;
  }
}
@media print, screen and (max-width: 780px) {
  .c-table__th {
    display: block;
    padding-top: 8.2051282051vw;
    padding-bottom: 4.1025641026vw;
  }
}

@media print, screen and (min-width: 781px) {
  .c-table__td {
    padding: 32px 0;
  }
}
@media print, screen and (max-width: 780px) {
  .c-table__td {
    display: block;
    padding-bottom: 8.2051282051vw;
  }
}

@media print, screen and (min-width: 781px) {
  .c-content .c-h2 {
    margin-bottom: 32px;
    padding-left: 21px;
    border-left: 3px solid #F5A600;
  }
}
@media print, screen and (max-width: 780px) {
  .c-content .c-h2 {
    margin-bottom: 8.2051282051vw;
    padding-left: 5.3846153846vw;
    border-left: 0.7692307692vw solid #F5A600;
  }
}

/* ローディング */
.p-front-loading {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  opacity: 1;
  visibility: visible;
  -webkit-filter: blur(0);
  filter: blur(0);
}

.p-front-loading.is-hide {
  -webkit-transition: opacity 0.5s 2.5s ease, visibility 0.5s 2.5s ease, -webkit-filter 0.3s 2.7s;
  transition: opacity 0.5s 2.5s ease, visibility 0.5s 2.5s ease, -webkit-filter 0.3s 2.7s;
  transition: opacity 0.5s 2.5s ease, visibility 0.5s 2.5s ease, filter 0.3s 2.7s;
  transition: opacity 0.5s 2.5s ease, visibility 0.5s 2.5s ease, filter 0.3s 2.7s, -webkit-filter 0.3s 2.7s;
  opacity: 0;
  visibility: hidden;
  -webkit-filter: blur(12px);
  filter: blur(12px);
}

.p-front-loading__img {
  display: block;
  width: 320px;
}
@media print, screen and (max-width: 780px) {
  .p-front-loading__img {
    width: 50%;
  }
}

/* 最初は画像を隠す */
.is-front .p-front-fv__img {
  opacity: 0;
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
  -webkit-filter: blur(6px);
  filter: blur(6px);
}

/* 画像表示 */
.is-front .p-front-fv__img.is-show {
  -webkit-transition: opacity 0.8s ease, -webkit-transform 1.2s ease, -webkit-filter 1.2s ease;
  transition: opacity 0.8s ease, -webkit-transform 1.2s ease, -webkit-filter 1.2s ease;
  transition: opacity 0.8s ease, transform 1.2s ease, filter 1.2s ease;
  transition: opacity 0.8s ease, transform 1.2s ease, filter 1.2s ease, -webkit-transform 1.2s ease, -webkit-filter 1.2s ease;
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-filter: blur(0);
  filter: blur(0);
}

/* 最初はコンテンツを隠す */
.is-front .js-loading-main {
  opacity: 0;
  -webkit-transform: translateY(8px);
  transform: translateY(8px);
  -webkit-transition: opacity 0.2s, visibility 0.2s, -webkit-transform 0.2s 0.1s ease-in-out, -webkit-filter 0.3s 0.1s;
  transition: opacity 0.2s, visibility 0.2s, -webkit-transform 0.2s 0.1s ease-in-out, -webkit-filter 0.3s 0.1s;
  transition: opacity 0.2s, transform 0.2s 0.1s ease-in-out, visibility 0.2s, filter 0.3s 0.1s;
  transition: opacity 0.2s, transform 0.2s 0.1s ease-in-out, visibility 0.2s, filter 0.3s 0.1s, -webkit-transform 0.2s 0.1s ease-in-out, -webkit-filter 0.3s 0.1s;
  will-change: opacity;
}

/* コンテンツ表示 */
.is-front .js-loading-main.is-show {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1);
}

/* 最初はヘッダーを隠す */
.is-front .l-header {
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(-16px);
  transform: translateY(-16px);
  -webkit-transition: opacity 0.2s, visibility 0.2s, -webkit-transform 0.2s 0.1s ease-in-out, -webkit-filter 0.3s 0.1s;
  transition: opacity 0.2s, visibility 0.2s, -webkit-transform 0.2s 0.1s ease-in-out, -webkit-filter 0.3s 0.1s;
  transition: opacity 0.2s, transform 0.2s 0.1s ease-in-out, visibility 0.2s, filter 0.3s 0.1s;
  transition: opacity 0.2s, transform 0.2s 0.1s ease-in-out, visibility 0.2s, filter 0.3s 0.1s, -webkit-transform 0.2s 0.1s ease-in-out, -webkit-filter 0.3s 0.1s;
  will-change: opacity, transform;
}

/* ヘッダー表示 */
.is-front .l-header.is-show {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

/* 最初はFVテキストを隠す */
.is-front .p-front-fv__txt {
  opacity: 0;
  will-change: opacity transform;
}

/* テキスト表示 */
.is-front .p-front-fv__txt.is-show {
  opacity: 1;
  -webkit-transition: opacity 0.6s ease-in-out, -webkit-filter 0.3s 0.1s;
  transition: opacity 0.6s ease-in-out, -webkit-filter 0.3s 0.1s;
  transition: opacity 0.6s ease-in-out, filter 0.3s 0.1s;
  transition: opacity 0.6s ease-in-out, filter 0.3s 0.1s, -webkit-filter 0.3s 0.1s;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

.js-fadein {
  opacity: 0;
  -webkit-transform: translateY(40px);
  transform: translateY(40px);
  -webkit-transition: opacity 0.4s 0.1s ease-in, -webkit-transform 0.6s 0.1s cubic-bezier(0.22, 1, 0.36, 1);
  transition: opacity 0.4s 0.1s ease-in, -webkit-transform 0.6s 0.1s cubic-bezier(0.22, 1, 0.36, 1);
  transition: opacity 0.4s 0.1s ease-in, transform 0.6s 0.1s cubic-bezier(0.22, 1, 0.36, 1);
  transition: opacity 0.4s 0.1s ease-in, transform 0.6s 0.1s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 0.6s 0.1s cubic-bezier(0.22, 1, 0.36, 1);
}
@media print, screen and (max-width: 780px) {
  .js-fadein {
    -webkit-transform: translateY(10.2564102564vw);
    transform: translateY(10.2564102564vw);
  }
}

.js-fadein.is-show {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

.l-section-color--white {
  background: #fff;
}

@media print, screen and (min-width: 781px) {
  .p-front-fv {
    height: 640px;
    height: min(640px, 51.6129032258vw);
    padding-top: 217px;
    padding-top: min(217px, 17.5vw);
  }
}
@media print, screen and (max-width: 780px) {
  .p-front-fv {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    padding-top: 28.7179487179vw;
  }
}

@media print, screen and (max-width: 780px) {
  .p-front-fv.l-section-padding {
    padding-bottom: 12.3076923077vw;
  }
}

.p-front-fv__img {
  display: block;
  -o-object-fit: cover;
  object-fit: cover;
}
@media print, screen and (min-width: 781px) {
  .p-front-fv__img {
    margin: 0 auto min(121px, 9.7580645161vw);
    width: 922px;
    height: 174px;
    width: min(922px, 74.3548387097vw);
    height: min(174px, 14.0322580645vw);
  }
}
@media print, screen and (max-width: 780px) {
  .p-front-fv__img {
    margin: 0 auto 20.2564102564vw;
    width: 53.8461538462vw;
    height: 76.1538461538vw;
  }
}

.p-front-fv__txt {
  font-weight: 500;
  line-height: 1.8;
  text-indent: -0.4em;
}
@media print, screen and (min-width: 781px) {
  .p-front-fv__txt {
    font-size: 20px;
    font-size: min(20px, 1.953125vw);
  }
}
@media print, screen and (max-width: 780px) {
  .p-front-fv__txt {
    padding: 0;
    font-size: 3.8461538462vw;
  }
}

@media print, screen and (min-width: 781px) {
  .p-front-fv-news {
    padding-block: 44px 76px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-front-fv-news {
    padding-block: 10.2564102564vw 20.5128205128vw;
  }
}

.p-front-fv-news__link {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
@media print, screen and (min-width: 781px) {
  .p-front-fv-news__link {
    padding-block: 4px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-bottom: 24px;
  }
}
@media only screen and (min-width: 781px) {
  .p-front-fv-news__link {
    gap: 24px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-front-fv-news__link {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.p-front-fv-news__link-txt-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media print, screen and (min-width: 781px) {
  .p-front-fv-news__link-txt-wrap {
    gap: 24px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}
@media print, screen and (max-width: 780px) {
  .p-front-fv-news__link-txt-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.p-front-fv-news__label {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
}
@media print, screen and (min-width: 781px) {
  .p-front-fv-news__label {
    font-size: 18px;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }
}
@media print, screen and (max-width: 780px) {
  .p-front-fv-news__label {
    font-size: 4.6153846154vw;
    margin-bottom: 24px;
  }
}

.p-front-fv-news__date {
  color: #64748B;
}
@media print, screen and (min-width: 781px) {
  .p-front-fv-news__date {
    padding-left: 16px;
    border-left: 1px solid #0F172A;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }
}
@media print, screen and (max-width: 780px) {
  .p-front-fv-news__date {
    margin-bottom: 2.0512820513vw;
  }
}

@media print, screen and (max-width: 780px) {
  .p-front-fv-news__ttl {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    margin-bottom: 6.1538461538vw;
  }
}

@media print, screen and (max-width: 780px) {
  .p-front-fv-news__link .c-link-arrow {
    position: absolute;
    top: 0;
    right: 0;
  }
}

@media print, screen and (min-width: 781px) {
  .p-front-section {
    margin-bottom: 160px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-front-section {
    margin-bottom: 30.7692307692vw;
  }
}

.p-front-section__ttl--en {
  font-family: "Poppins", sans-serif;
  font-weight: 400;
  line-height: 1.1;
}
@media print, screen and (min-width: 781px) {
  .p-front-section__ttl--en {
    font-size: 72px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-front-section__ttl--en {
    font-size: 12.3076923077vw;
    margin-bottom: 6.1538461538vw;
  }
}

.p-front-section__ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media print, screen and (min-width: 781px) {
  .p-front-section__ttl {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 40px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-front-section__ttl {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

@media print, screen and (min-width: 781px) {
  .p-front-section__ttl--jp {
    -webkit-transform: translateY(5px);
    transform: translateY(5px);
  }
}

.p-front-section__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media print, screen and (min-width: 781px) {
  .p-front-section__head {
    gap: 56px;
  }
}
.p-front-services .splide__pagination {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 16px;
}
@media print, screen and (min-width: 781px) {
  .p-front-services .splide__pagination {
    margin-top: 56px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-front-services .splide__pagination {
    margin-top: 10.2564102564vw;
  }
}
.p-front-services .splide__pagination li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.p-front-services .splide__pagination__page {
  position: relative;
  margin: 0;
  background: #CBD5E1;
  border-radius: 100px;
  opacity: 1;
  -webkit-transition: width 0.3s ease, background-color 0.3s ease, -webkit-transform 0.3s ease;
  transition: width 0.3s ease, background-color 0.3s ease, -webkit-transform 0.3s ease;
  transition: width 0.3s ease, background-color 0.3s ease, transform 0.3s ease;
  transition: width 0.3s ease, background-color 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
  cursor: pointer;
  -webkit-transform-origin: center center;
  transform-origin: center center;
}
@media print, screen and (min-width: 781px) {
  .p-front-services .splide__pagination__page {
    width: 8px;
    height: 8px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-front-services .splide__pagination__page {
    width: 2.0512820513vw;
    height: 2.0512820513vw;
  }
}
.p-front-services .splide__pagination__page:hover {
  background: #64748B;
}
.p-front-services .splide__pagination__page.is-active:hover {
  background: #0F172A;
}
.p-front-services .splide__pagination__page.is-active {
  background: #0F172A;
  -webkit-transform: none;
  transform: none;
}
@media print, screen and (min-width: 781px) {
  .p-front-services .splide__pagination__page.is-active {
    border: solid 2px #fff;
    width: 80px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-front-services .splide__pagination__page.is-active {
    border: solid 0.5128205128vw #fff;
    width: 20.5128205128vw;
  }
}

.splide__pagination__page::before {
  content: "";
  position: absolute;
  inset: -20px;
}

.p-front-services .c-primary-btn.u-only-sp {
  margin: 12.8205128205vw auto 0;
}

.p-front-services__head {
  margin-bottom: 56px;
}
@media print, screen and (max-width: 780px) {
  .p-front-services__head {
    margin-bottom: 12.3076923077vw;
  }
}

.p-front-news-body {
  width: 100%;
}

@media only screen and (min-width: 1600px) {
  .p-front-news__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 160px;
  }
}

@media print, screen and (min-width: 781px) {
  .p-front-news__head {
    padding-bottom: 80px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}
@media only screen and (min-width: 1600px) {
  .p-front-news__head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: start;
    border-bottom: none;
  }
}

@media only screen and (min-width: 1600px) {
  .p-front-news__ttl {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: start;
    gap: 24px;
  }
}
@media only screen and (mim-width: 1600px) {
  .p-front-news__ttl {
    padding-bottom: 80px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-front-news__ttl {
    padding-bottom: 12.3076923077vw;
  }
}

@media print, screen and (max-width: 780px) {
  .p-front-news .c-primary-btn.u-only-sp {
    margin: 12.3076923077vw auto 0;
  }
}

.p-front-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
@media print, screen and (min-width: 781px) {
  .p-front-links {
    gap: 40px;
    padding-bottom: 160px;
  }
}
@media only screen and (min-width: 1600px) {
  .p-front-links {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    margin: 0 auto;
  }
}
@media print, screen and (max-width: 780px) {
  .p-front-links {
    gap: 14.358974359vw;
    padding-bottom: 30.7692307692vw;
  }
}

.p-front-links__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
@media print, screen and (min-width: 781px) {
  .p-front-links__inner {
    gap: 40px;
  }
}
@media only screen and (min-width: 1600px) {
  .p-front-links__inner {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    max-width: 1360px;
    margin: 0 auto;
  }
}
@media print, screen and (max-width: 780px) {
  .p-front-links__inner {
    gap: 14.358974359vw;
  }
}

@media print, screen and (min-width: 781px) {
  .p-front-section .c-primary-btn {
    width: 240px;
    gap: 0;
  }
}
@media print, screen and (max-width: 780px) {
  .p-front-section .c-primary-btn {
    width: 61.5384615385vw;
    gap: 0;
  }
}

.p-front-links__item {
  background: #F3F7FB;
  margin: 0 auto;
}
@media print, screen and (min-width: 781px) {
  .p-front-links__item {
    border-radius: 8px;
    width: 720px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-front-links__item {
    border-radius: 2.0512820513vw;
    width: 100%;
  }
}

.p-front-links__link {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media print, screen and (min-width: 781px) {
  .p-front-links__link {
    padding: 16px;
    padding-right: 32px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}
@media print, screen and (max-width: 780px) {
  .p-front-links__link {
    padding: 18.4615384615vw 6.1538461538vw 8.2051282051vw;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: end;
  }
}

.p-front-links__link:hover .p-front-links__img::before {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

.p-front-links__img {
  overflow: hidden;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}
@media print, screen and (min-width: 781px) {
  .p-front-links__img {
    width: 196px;
    height: 130px;
    border-radius: 4px;
    margin-right: 40px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-front-links__img {
    position: absolute;
    top: -6.1538461538vw;
    right: 6.1538461538vw;
    width: 30.7692307692vw;
    height: 20.5128205128vw;
    border-radius: 1.0256410256vw;
  }
}

.p-front-links__img::before {
  content: "";
  width: 100%;
  height: 100%;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: 0.2s ease-in;
  transition: 0.2s ease-in;
}

.p-front-links__link--company .p-front-links__img::before {
  background: url("/_/image/p-front/links_img-01.jpg") center center/cover no-repeat;
}

.p-front-links__link--recruit .p-front-links__img::before {
  background: url("/_/image/p-front/links_img-02.jpg") center center/cover no-repeat;
}

.p-front-links__ttl {
  display: block;
  width: 100%;
}
.p-front-links__ttl {
  display: block;
}

.p-front-links__ttl--en {
  display: block;
  font-family: "Poppins", sans-serif;
  line-height: 1.3;
}
@media print, screen and (min-width: 781px) {
  .p-front-links__ttl--en {
    font-size: 32px;
    font-weight: 400;
    margin-bottom: 16px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-front-links__ttl--en {
    margin-bottom: 1.0256410256vw;
    font-weight: 500;
    font-size: 5.641025641vw;
  }
}

@media print, screen and (min-width: 781px) {
  .p-news__head {
    margin-bottom: 160px;
    border-bottom: 1px solid #E2E8F0;
  }
}
@media print, screen and (max-width: 780px) {
  .p-news__head {
    border-bottom: 0.2564102564vw solid #E2E8F0;
  }
}

.p-news-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
@media print, screen and (min-width: 781px) {
  .p-news-body {
    gap: 4.76%;
  }
}
@media print, screen and (max-width: 780px) {
  .p-news-body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 11.7948717949vw;
  }
}

.p-news-card__nav {
  -webkit-box-flex: 1;
  -ms-flex: auto 0 0px;
  flex: auto 0 0;
}
@media print, screen and (min-width: 781px) {
  .p-news-card__nav {
    width: 240px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-news-card__nav-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 6.1538461538vw;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    overflow-x: scroll;
    padding-top: 17.4358974359vw;
  }
}

.p-news-card__nav-item {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  cursor: pointer;
  color: #64748B;
  -webkit-transition: 0.2s ease-in;
  transition: 0.2s ease-in;
}
@media print, screen and (min-width: 781px) {
  .p-news-card__nav-item {
    gap: 16px;
    padding: 12px 24px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-news-card__nav-item {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 1.0256410256vw;
    padding: 0 0 2.5641025641vw;
  }
}

.p-news-card__nav-item::before {
  opacity: 0;
  content: "";
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  background: #F5A600;
  border-radius: 100%;
  -webkit-transition: 0.2s ease-in;
  transition: 0.2s ease-in;
}
@media print, screen and (min-width: 781px) {
  .p-news-card__nav-item::before {
    position: absolute;
    top: 50%;
    left: 0;
    width: 8px;
    height: 8px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }
}
@media print, screen and (max-width: 780px) {
  .p-news-card__nav-item::before {
    position: static;
    display: block;
    -webkit-box-flex: 1;
    -ms-flex: auto 0 0px;
    flex: auto 0 0;
    width: 2.0512820513vw;
    height: 2.0512820513vw;
  }
}

.p-news-card__nav-item.is-current a {
  color: #0F172A;
}

.p-news-card__nav-item:not(.is-current) a {
  -webkit-transition: 0.15s ease-in;
  transition: 0.15s ease-in;
  color: #64748B;
}

.p-news-card__nav-item.is-current::before {
  opacity: 1;
}

.p-news-card__nav-item a:hover {
  color: #0F172A;
}

.p-news-card__nav-item.is-current a:hover span {
  background-size: 0% 1px;
}

@media print, screen and (min-width: 781px) {
  .p-news-body--right {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }
}

@media print, screen and (min-width: 781px) {
  .p-news-body--right .c-news-card__date {
    font-size: 16px;
  }
}

@media print, screen and (min-width: 781px) {
  .navigation.pagination {
    padding-top: 80px;
  }
}
@media print, screen and (max-width: 780px) {
  .navigation.pagination {
    padding-top: 14.358974359vw;
  }
}

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

.page-numbers {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.prev.page-numbers,
.next.page-numbers {
  overflow: hidden;
  border-radius: 100%;
  background: #E2E8F0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-transition: 0.2s ease-in;
  transition: 0.2s ease-in;
}
@media print, screen and (min-width: 781px) {
  .prev.page-numbers,
  .next.page-numbers {
    width: 48px;
    height: 48px;
  }
}
@media print, screen and (max-width: 780px) {
  .prev.page-numbers,
  .next.page-numbers {
    width: 9.2307692308vw;
    height: 9.2307692308vw;
  }
}

.prev.page-numbers:hover,
.next.page-numbers:hover {
  background: #0F172A;
}

.page-numbers {
  font-family: "Outfit", sans-serif;
  line-height: 1.5;
}
@media print, screen and (min-width: 781px) {
  .page-numbers {
    width: 48px;
    height: 48px;
    font-size: 16px;
  }
}
@media print, screen and (max-width: 780px) {
  .page-numbers {
    width: 9.2307692308vw;
    height: 9.2307692308vw;
    font-size: 4.1025641026vw;
  }
}

.page-numbers.current {
  color: #94A3B8;
}

.prev.page-numbers .c-link-arrow {
  rotate: 180deg;
}

.next.page-numbers,
.prev.page-numbers {
  -webkit-transition: 0.2s ease-in;
  transition: 0.2s ease-in;
}

.page-numbers.dots {
  color: transparent;
  background-image: url("/_/image/icon/icon_dots_gray-500.svg");
  background-repeat: no-repeat;
  background-position: center;
  width: 24px;
  height: 24px;
  display: inline-block;
}

.p-news-pagination__link--prev:hover,
.p-news-pagination__link--next:hover {
  background: #0F172A;
}

@media print, screen and (min-width: 781px) {
  .p-news-detail__head {
    border-bottom: 1px solid #CBD5E1;
  }
}
@media print, screen and (max-width: 780px) {
  .p-news-detail__head {
    border-bottom: 0.2564102564vw solid #CBD5E1;
  }
}

.p-news-detail__head .c-secondary-btn {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-inline: 0;
  margin-bottom: 70px;
}

.p-news-detail__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media print, screen and (min-width: 781px) {
  .p-news-detail__meta {
    margin-bottom: 32px;
    gap: 24px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-news-detail__meta {
    margin-bottom: 8.2051282051vw;
    gap: 6.1538461538vw;
  }
}

.p-news-detail__date {
  font-family: "Outfit", sans-serif;
  line-height: 1.5;
}
@media print, screen and (min-width: 781px) {
  .p-news-detail__date {
    font-size: 16px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-news-detail__date {
    font-size: 4.1025641026vw;
  }
}

.p-news-detail__category {
  color: #64748B;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 4%;
}
@media print, screen and (min-width: 781px) {
  .p-news-detail__category {
    font-size: 12px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-news-detail__category {
    font-size: 3.0769230769vw;
  }
}

@media print, screen and (min-width: 781px) {
  .p-news-detail__ttl {
    margin-bottom: 64px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-news-detail__ttl {
    margin-bottom: 14.358974359vw;
  }
}
.p-news-detail__ttl br {
  display: none;
}
@media (min-width: 768px) {
  .p-news-detail__ttl br {
    display: inline;
  }
}

.p-news-detail .c-breadcrumb__list {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media print, screen and (max-width: 780px) {
  .p-news-detail .c-breadcrumb__list {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: start;
  }
}

.p-news-detail__body {
  background: #fff;
}
@media print, screen and (min-width: 781px) {
  .p-news-detail__body {
    padding: 160px 40px 256px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-news-detail__body {
    padding: 20.5128205128vw 6.1538461538vw 30.7692307692vw;
  }
}

.p-news-detail__body-inner {
  margin: 0 auto;
}
@media print, screen and (min-width: 781px) {
  .p-news-detail__body-inner {
    max-width: 1160px;
  }
}

.p-news-detail__body h2 {
  font-weight: 500;
  line-height: 1.3;
}
@media print, screen and (min-width: 781px) {
  .p-news-detail__body h2 {
    font-size: 40px;
    margin-bottom: 48px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-news-detail__body h2 {
    font-size: 7.1794871795vw;
    margin-bottom: 8.2051282051vw;
  }
}
.p-news-detail__body h3 {
  font-weight: 500;
  line-height: 1.4;
  border-left: 3px solid #F5A600;
}
@media print, screen and (min-width: 781px) {
  .p-news-detail__body h3 {
    font-size: 32px;
    margin-bottom: 32px;
    padding-left: 24px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-news-detail__body h3 {
    font-size: 5.1282051282vw;
    margin-bottom: 6.1538461538vw;
    padding-left: 6.1538461538vw;
    border-left: 0.7692307692vw solid #F5A600;
  }
}
.p-news-detail__body h4 {
  font-weight: 500;
  line-height: 1.5;
}
@media print, screen and (min-width: 781px) {
  .p-news-detail__body h4 {
    font-size: 24px;
    margin-bottom: 24px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-news-detail__body h4 {
    font-size: 4.6153846154vw;
    margin-bottom: 4.1025641026vw;
  }
}
@media print, screen and (min-width: 781px) {
  .p-news-detail__body .p-news-detail__body-inner * + h2 {
    margin-top: 80px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-news-detail__body .p-news-detail__body-inner * + h2 {
    margin-top: 20.5128205128vw;
  }
}
@media print, screen and (min-width: 781px) {
  .p-news-detail__body .p-news-detail__body-inner * + h3 {
    margin-top: 80px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-news-detail__body .p-news-detail__body-inner * + h3 {
    margin-top: 20.5128205128vw;
  }
}
@media print, screen and (min-width: 781px) {
  .p-news-detail__body .p-news-detail__body-inner * + h4 {
    margin-top: 80px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-news-detail__body .p-news-detail__body-inner * + h4 {
    margin-top: 20.5128205128vw;
  }
}
.p-news-detail__body a {
  font-weight: 500;
  text-decoration: underline;
}
.p-news-detail__body p {
  line-height: 1.8;
}
@media print, screen and (min-width: 781px) {
  .p-news-detail__body p {
    font-size: 18px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-news-detail__body p {
    font-size: 4.1025641026vw;
  }
}
.p-news-detail__body img {
  display: block;
}
@media print, screen and (min-width: 781px) {
  .p-news-detail__body img {
    border-radius: 8px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-news-detail__body img {
    border-radius: 2.0512820513vw;
  }
}
.p-news-detail__body figcaption {
  line-height: 1.6;
  font-weight: 400;
}
@media print, screen and (min-width: 781px) {
  .p-news-detail__body figcaption {
    font-size: 14px;
    margin-top: 24px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-news-detail__body figcaption {
    font-size: 3.5897435897vw;
    margin-top: 6.1538461538vw;
  }
}
.p-news-detail__body figure.wp-block-table {
  overflow-x: auto;
}
.p-news-detail__body .wp-block-table table {
  min-width: 1160px;
  width: 100%;
  table-layout: fixed;
  overflow: hidden;
}
@media print, screen and (min-width: 781px) {
  .p-news-detail__body .wp-block-table table {
    border-radius: 8px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-news-detail__body .wp-block-table table {
    border-radius: 2.0512820513vw;
  }
}
.p-news-detail__body .wp-block-table thead {
  background: #64748B;
  border: 1px solid #fff;
}
.p-news-detail__body .wp-block-table th,
.p-news-detail__body .wp-block-table td {
  border: 1px solid #fff;
  word-break: break-word;
  font-weight: 400;
}
@media print, screen and (min-width: 781px) {
  .p-news-detail__body .wp-block-table th,
  .p-news-detail__body .wp-block-table td {
    line-height: 1.8;
    font-size: 16px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-news-detail__body .wp-block-table th,
  .p-news-detail__body .wp-block-table td {
    line-height: 1.6;
    font-size: 3.5897435897vw;
  }
}
.p-news-detail__body .wp-block-table th {
  color: #fff;
  padding: 16px 32px;
}
.p-news-detail__body .wp-block-table td {
  background: #F3F7FB;
  padding: 32px;
}
.p-news-detail__body .wp-block-columns {
  display: grid;
}
@media print, screen and (min-width: 781px) {
  .p-news-detail__body .wp-block-columns {
    gap: min(80px, 5vw);
    grid-template-columns: 1fr 1fr;
  }
}
@media print, screen and (max-width: 780px) {
  .p-news-detail__body .wp-block-columns {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 10.2564102564vw;
  }
}
@media print, screen and (min-width: 781px) {
  .p-news-detail__body .wp-block-columns {
    margin-top: 80px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-news-detail__body .wp-block-columns {
    margin-top: 20.5128205128vw;
  }
}
.p-news-detail__body .wp-block-column h2,
.p-news-detail__body .wp-block-column h3,
.p-news-detail__body .wp-block-column h4 {
  margin-top: 0;
}
@media print, screen and (min-width: 781px) {
  .p-news-detail__body ul {
    margin-block: 40px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-news-detail__body ul {
    margin-block: 10.2564102564vw;
  }
}
.p-news-detail__body .wp-block-column ul {
  margin-block: 0;
}
.p-news-detail__body ol {
  list-style: decimal;
  padding-left: 1.5em;
}
.p-news-detail__body li {
  line-height: 1.8;
  font-weight: 400;
}
@media print, screen and (min-width: 781px) {
  .p-news-detail__body li {
    font-size: 18px;
    margin-bottom: 8px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-news-detail__body li {
    font-size: 4.1025641026vw;
    margin-bottom: 2.0512820513vw;
  }
}
.p-news-detail__body li:last-of-type {
  margin-bottom: 0;
}
.p-news-detail__body ol li {
  padding-left: 0.25em;
}
.p-news-detail__body ul li {
  list-style: inherit;
  padding-left: 1.5em;
  position: relative;
}
.p-news-detail__body ul li::before {
  content: "";
  position: absolute;
  display: block;
  left: 0.5em;
  top: 0.9em;
  background: #000;
  border-radius: 50%;
}
@media print, screen and (min-width: 781px) {
  .p-news-detail__body ul li::before {
    width: 4px;
    height: 4px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-news-detail__body ul li::before {
    width: 1.0256410256vw;
    height: 1.0256410256vw;
  }
}
.p-news-detail__body .c-secondary-btn {
  text-decoration: none;
}
.p-news-detail__body .wp-block-image .alignright {
  float: initial;
  margin-left: auto;
}
.p-news-detail__body .wp-block-image .alignleft {
  float: initial;
  margin-right: auto;
}

.p-recruit__movie__slider {
  position: relative;
  overflow: hidden;
}
@media print, screen and (min-width: 781px) {
  .p-recruit__movie__slider {
    margin-bottom: 160px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-recruit__movie__slider {
    margin-bottom: 40px;
  }
}
.p-recruit__movie__slider::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background-color: white;
  width: 100%;
}
@media print, screen and (min-width: 781px) {
  .p-recruit__movie__slider::before {
    height: 60%;
  }
}
@media print, screen and (max-width: 780px) {
  .p-recruit__movie__slider::before {
    height: 20%;
  }
}

.p-recruit__movie__slider__track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  -webkit-animation: slider-scroll 50s linear infinite;
  animation: slider-scroll 50s linear infinite;
}
@media print, screen and (max-width: 780px) {
  .p-recruit__movie__slider__track {
    gap: 12px;
    -webkit-animation-duration: 25s;
    animation-duration: 25s;
  }
}

.p-recruit__movie__slider__item {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  opacity: 0;
  -webkit-transform: scale(0);
  transform: scale(0);
  -webkit-transition: opacity 0.6s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition: opacity 0.6s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition: opacity 0.6s cubic-bezier(0.22, 1, 0.36, 1), transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition: opacity 0.6s cubic-bezier(0.22, 1, 0.36, 1), transform 0.6s cubic-bezier(0.22, 1, 0.36, 1), -webkit-transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}
.p-recruit__movie__slider__item.is-show {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1);
}
.p-recruit__movie__slider__item img {
  display: block;
  height: 400px;
  width: auto;
  border-radius: 8px;
}
@media print, screen and (max-width: 780px) {
  .p-recruit__movie__slider__item img {
    height: 200px;
  }
}

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

@keyframes slider-scroll {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(var(--scroll-distance, -50%));
    transform: translateX(var(--scroll-distance, -50%));
  }
}
.p-recruit__movie__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media print, screen and (min-width: 781px) {
  .p-recruit__movie__content {
    gap: 120px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-recruit__movie__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.p-recruit__movie__content__title {
  font-weight: 500;
  line-height: 1.5;
}
@media print, screen and (min-width: 781px) {
  .p-recruit__movie__content__title {
    font-size: 24px;
    width: 35%;
  }
}
@media print, screen and (max-width: 780px) {
  .p-recruit__movie__content__title {
    font-size: 5.1282051282vw;
    margin-bottom: 10.2564102564vw;
  }
}

.p-recruit__movie__content__body {
  line-height: 1.8;
}
@media print, screen and (min-width: 781px) {
  .p-recruit__movie__content__body {
    font-size: 18px;
  }
}
.p-recruit__movie__content__body p + p {
  margin-top: 1rem;
}

.p-recruit__contact {
  background-color: #F3F7FB;
}
@media print, screen and (min-width: 781px) {
  .p-recruit__contact {
    border-radius: 6px;
    padding: 120px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-recruit__contact {
    padding: 10.2564102564vw 8.2051282051vw;
  }
}

.p-recruit__contact_body {
  line-height: 1.5;
}
@media print, screen and (min-width: 781px) {
  .p-recruit__contact_body {
    font-size: 20px;
    text-align: center;
  }
}
@media print, screen and (min-width: 781px) {
  .p-services__txt.c-body--lg {
    margin-bottom: 160px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-services__txt.c-body--lg {
    font-size: 4.1025641026vw;
    margin-bottom: 20.5128205128vw;
  }
}

.p-services__list {
  display: grid;
}
@media print, screen and (min-width: 781px) {
  .p-services__list {
    grid-template-columns: 1fr 1fr;
    gap: min(40px, 2.5vw);
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
  }
}
@media (width <= 1023px) {
  .p-services__list {
    grid-template-columns: 1fr;
  }
}
@media print, screen and (max-width: 780px) {
  .p-services__list {
    gap: 4.1025641026vw;
  }
}

@media (width >= 1023px) {
  .p-services__list .c-front-services-card__body {
    min-height: 163px;
  }
}

@media print, screen and (min-width: 781px) {
  .p-services__body {
    padding-bottom: 160px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-services__body {
    padding-bottom: 30.7692307692vw;
  }
}

@media print, screen and (max-width: 780px) {
  .p-service-detail .l-section__head {
    margin-bottom: 0;
  }
}

@media print, screen and (min-width: 781px) {
  .p-service-detail__ttl {
    gap: 24px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail__ttl {
    gap: 6.1538461538vw;
  }
}

.p-service-detail__ttl--main {
  line-height: 1.3;
  font-weight: 500;
  letter-spacing: 4%;
}
@media print, screen and (min-width: 781px) {
  .p-service-detail__ttl--main {
    font-size: 48px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail__ttl--main {
    font-size: 8.2051282051vw;
  }
}

@media print, screen and (min-width: 781px) {
  .p-service-detail__intro {
    padding-block: 160px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail__intro {
    padding-block: 20.5128205128vw;
  }
}

.p-service-detail-intro .c-primary-btn {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media print, screen and (min-width: 781px) {
  .p-service-detail-intro .c-primary-btn {
    min-width: 284px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail-intro .c-primary-btn {
    min-width: 72.8205128205vw;
  }
}

.p-service-detail-intro {
  color: #fff;
}
@media print, screen and (min-width: 781px) {
  .p-service-detail-intro {
    padding: 160px 120px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail-intro {
    padding-block: 20.5128205128vw;
  }
}

@media print, screen and (min-width: 781px) {
  .p-service-detail-intro__row-group {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: min(80px, 5vw);
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail-intro__row-group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    gap: 14.358974359vw;
  }
}

.p-service-detail-intro__row-group--btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
@media print, screen and (min-width: 781px) {
  .p-service-detail-intro__row-group--btn {
    gap: 40px;
    margin-top: 80px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail-intro__row-group--btn {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 8.2051282051vw;
    margin-top: 14.358974359vw;
  }
}

.dialog-btn__txt {
  display: block;
}
@media print, screen and (min-width: 781px) {
  .dialog-btn__txt {
    margin-top: 56px;
  }
}
@media print, screen and (max-width: 780px) {
  .dialog-btn__txt {
    margin-top: 8.2051282051vw;
  }
}

@media print, screen and (min-width: 781px) {
  .dialog-btn__img {
    border-radius: 6px;
  }
}
@media print, screen and (max-width: 780px) {
  .dialog-btn__img {
    border-radius: 1.5384615385vw;
  }
}

@media print, screen and (min-width: 781px) {
  .p-service-detail-intro__pic-wrap {
    margin-bottom: 120px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail-intro__pic-wrap {
    overflow: scroll;
    margin-bottom: 16.4102564103vw;
  }
}

@media print, screen and (max-width: 780px) {
  .p-service-detail-intro__img {
    display: block;
    width: 266.6666666667vw;
    max-width: none;
  }
}

@media print, screen and (min-width: 781px) {
  .p-service-detail-intro__read-txt {
    text-align: center;
    margin-block: 120px 56px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail-intro__read-txt {
    text-align: left;
    margin-block: 20.5128205128vw 10.2564102564vw;
  }
}

.p-service-detail-intro__point-list {
  display: grid;
}
@media print, screen and (min-width: 781px) {
  .p-service-detail-intro__point-list {
    gap: 32px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail-intro__point-list {
    gap: 8.2051282051vw;
  }
}

.p-service-detail-intro__point-item {
  background: #fff;
  color: #0F172A;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media print, screen and (min-width: 781px) {
  .p-service-detail-intro__point-item {
    padding: min(80px, 5vw) min(64px, 4vw);
    border-radius: 8px;
    gap: 56px;
  }
}
@media (width <= 1600px) {
  .p-service-detail-intro__point-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 32px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail-intro__point-item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 8.2051282051vw;
    border-radius: 2.0512820513vw;
    gap: 8.2051282051vw;
  }
}

.p-service-detail-intro__point-item-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media print, screen and (min-width: 781px) {
  .p-service-detail-intro__point-item-head {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: min(440px, 30vw);
    gap: 48px;
    -webkit-box-flex: 1;
    -ms-flex: auto 0 0px;
    flex: auto 0 0;
  }
}
@media (width <= 1600px) {
  .p-service-detail-intro__point-item-head {
    width: 100%;
    gap: 24px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail-intro__point-item-head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100%;
    gap: 4.1025641026vw;
  }
}

.p-service-detail-intro__point-item-number {
  font-family: "Outfit", sans-serif;
  color: #F5A600;
  line-height: 1.8;
}
@media print, screen and (min-width: 781px) {
  .p-service-detail-intro__point-item-number {
    font-size: 20px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail-intro__point-item-number {
    font-size: 5.1282051282vw;
    text-align: end;
  }
}

.p-service-detail-intro__point-item-body {
  width: 100%;
}

@media print, screen and (max-width: 780px) {
  .p-service-detail-intro__point-item-txt {
    font-size: 4.1025641026vw;
  }
}

.p-service-detail--frs .c-primary-btn {
  margin: 0 auto;
}
@media print, screen and (min-width: 781px) {
  .p-service-detail--frs .c-primary-btn {
    margin-top: 80px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail--frs .c-primary-btn {
    margin-top: 14.358974359vw;
  }
}

@media print, screen and (min-width: 781px) {
  .p-service-detail--prs .p-service-detail-intro__row-group--left .c-primary-btn {
    margin-top: 80px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail--prs .p-service-detail-intro__row-group--left .c-primary-btn {
    margin: 14.358974359vw auto 0;
  }
}

@media print, screen and (min-width: 781px) {
  .p-service-detail-intro__logo {
    margin-bottom: 56px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail-intro__logo {
    margin-bottom: 8.2051282051vw;
  }
}

.p-service-detail__content-item-inner:has(.p-service-detail-table) {
  overflow: hidden;
  overflow-x: auto;
}

.p-service-detail__content-item-inner .c-body--lg {
  margin-block: 56px 24px;
}
@media print, screen and (max-width: 780px) {
  .p-service-detail__content-item-inner .c-body--lg {
    margin-block: 14.358974359vw 24px;
  }
}

@media print, screen and (max-width: 780px) {
  .p-service-detail-table--scroll-01 {
    margin-top: 10.2564102564vw !important;
  }
}
.p-service-detail-table--scroll-01 .c-list {
  padding: 0 !important;
}

.p-service-detail-table--scroll {
  width: 100%;
  table-layout: fixed;
  overflow: hidden;
}
@media print, screen and (min-width: 781px) {
  .p-service-detail-table--scroll {
    min-width: 1000px;
    border-radius: 8px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail-table--scroll {
    min-width: 185.1282051282vw;
    border-radius: 2.0512820513vw;
  }
}
.p-service-detail-table--scroll thead {
  background: #64748B;
}
.p-service-detail-table--scroll th,
.p-service-detail-table--scroll td {
  border: 1px solid #fff;
  word-break: break-word;
  font-weight: 400;
}
@media print, screen and (min-width: 781px) {
  .p-service-detail-table--scroll th,
  .p-service-detail-table--scroll td {
    line-height: 1.8;
    font-size: 16px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail-table--scroll th,
  .p-service-detail-table--scroll td {
    line-height: 1.6;
    font-size: 3.5897435897vw;
  }
}
.p-service-detail-table--scroll thead th {
  background: #64748B;
  color: #fff;
  padding: 16px 32px;
}
.p-service-detail-table--scroll th {
  padding: 16px 32px;
  background: #F3F7FB;
}
.p-service-detail-table--scroll th.th--dark {
  background: #E2E8F0;
}
.p-service-detail-table--scroll td {
  background: #F3F7FB;
  padding: 32px;
}

.p-service-detail__content {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media print, screen and (min-width: 781px) {
  .p-service-detail__content {
    gap: min(80px, 5vw);
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-block: 80px 160px;
    border-bottom: 1px solid #E2E8F0;
  }
}
@media (width <= 1023px) {
  .p-service-detail__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 80px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail__content {
    gap: 20.5128205128vw;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding-block: 14.358974359vw 16.4102564103vw;
    border-bottom: 0.2564102564vw solid #E2E8F0;
  }
}

@media print, screen and (min-width: 781px) {
  .p-service-detail__content:first-of-type {
    padding-top: 80px;
    margin-top: 120px;
    border-top: 1px solid #E2E8F0;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail__content:first-of-type {
    padding-top: 14.358974359vw;
    margin-top: 20.5128205128vw;
    border-top: 0.2564102564vw solid #E2E8F0;
  }
}

.p-service-detail__content:last-of-type {
  border-bottom: none;
}
@media print, screen and (max-width: 780px) {
  .p-service-detail__content:last-of-type {
    padding-top: 30.7692307692vw;
  }
}

@media print, screen and (min-width: 781px) {
  .p-service-detail__content--left {
    width: min(280px, 17.5vw);
  }
}
@media (width <= 1023px) {
  .p-service-detail__content--left {
    width: 100%;
  }
}
.p-service-detail__content-head-ttl {
  font-family: "Outfit", sans-serif;
  line-height: 1.5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media print, screen and (min-width: 781px) {
  .p-service-detail__content-head-ttl {
    font-size: 16px;
    gap: 8px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail__content-head-ttl {
    font-size: 4.1025641026vw;
    gap: 2.0512820513vw;
  }
}

.p-service-detail__content-head-ttl::before {
  content: "";
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  background: url(/_/image/icon/icon_service-datail_content-ttl.svg) center center/cover no-repeat;
}
@media print, screen and (min-width: 781px) {
  .p-service-detail__content-head-ttl::before {
    width: 6px;
    height: 12px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail__content-head-ttl::before {
    width: 1.5384615385vw;
    height: 3.0769230769vw;
  }
}

@media print, screen and (min-width: 781px) {
  .p-service-detail__content--right {
    width: min(1000px, 62.5vw);
  }
}
@media (width <= 1023px) {
  .p-service-detail__content--right {
    width: 100%;
  }
}
@media print, screen and (min-width: 781px) {
  .p-service-detail__content--right:has(.p-service-detail__content-txt) .p-service-detail__content-ttl {
    margin-bottom: 56px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail__content--right:has(.p-service-detail__content-txt) .p-service-detail__content-ttl {
    margin-bottom: 10.2564102564vw;
  }
}

@media print, screen and (min-width: 781px) {
  .p-service-detail__content--right:has(.c-secondary-btn) .p-service-detail__content-txt {
    margin-bottom: 40px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail__content--right:has(.c-secondary-btn) .p-service-detail__content-txt {
    margin-bottom: 10.2564102564vw;
  }
}

@media print, screen and (min-width: 781px) {
  .p-service-detail--dx .p-service-detail__content--right .dialog-btn {
    margin-bottom: 80px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail--dx .p-service-detail__content--right .dialog-btn {
    margin-bottom: 20.5128205128vw;
  }
}

@media print, screen and (min-width: 781px) {
  .p-service-detail__content-txt {
    margin-bottom: 120px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail__content-txt {
    margin-bottom: 10.2564102564vw;
  }
}

.p-service-detail__content-txt .c-caption {
  font-size: 14px;
}
@media print, screen and (max-width: 780px) {
  .p-service-detail__content-txt .c-caption {
    font-size: 3.5897435897vw;
  }
}

@media print, screen and (min-width: 781px) {
  .p-service-detail--frs #pagelink04 .c-secondary-btn {
    margin-bottom: 120px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail--frs #pagelink04 .c-secondary-btn {
    margin-bottom: 20.5128205128vw;
  }
}

@media print, screen and (min-width: 781px) {
  .p-service-detail__content-item {
    padding-bottom: 96px;
    margin-bottom: 96px;
    border-bottom: 1px solid #CBD5E1;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail__content-item {
    padding-bottom: 16.4102564103vw;
    margin-bottom: 16.4102564103vw;
    border-bottom: 0.2564102564vw solid #CBD5E1;
  }
}

.p-service-detail__content-item:last-of-type {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: none;
}

@media print, screen and (min-width: 781px) {
  .p-service-detail__content-item .c-caption {
    margin-top: 8px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail__content-item .c-caption {
    margin-top: 2.0512820513vw;
  }
}

@media print, screen and (min-width: 781px) {
  .p-service-detail__content-img {
    margin-bottom: 56px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail__content-img {
    margin-bottom: 10.2564102564vw;
  }
}

@media print, screen and (min-width: 781px) {
  .p-service-detail__content--right .c-h1 {
    margin-bottom: 120px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail__content--right .c-h1 {
    margin-bottom: 20.5128205128vw;
  }
}

@media print, screen and (min-width: 781px) {
  .p-service-detail__content--right .c-h2 {
    margin-bottom: 32px;
    padding-left: 21px;
    border-left: 3px solid #F5A600;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail__content--right .c-h2 {
    margin-bottom: 8.2051282051vw;
    padding-left: 5.3846153846vw;
    border-left: 0.7692307692vw solid #F5A600;
  }
}

@media print, screen and (min-width: 781px) {
  .p-service-detail__content--right .c-h3 {
    margin-block: 48px 24px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail__content--right .c-h3 {
    margin-block: 8.2051282051vw 4.1025641026vw;
  }
}

@media print, screen and (max-width: 780px) {
  .p-service-detail__content--right .c-body--lg {
    font-size: 4.1025641026vw;
  }
}

.p-service-detail__content-point-list {
  display: grid;
}
@media print, screen and (min-width: 781px) {
  .p-service-detail__content-point-list {
    margin-top: 32px;
    gap: 8px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail__content-point-list {
    margin-top: 8.2051282051vw;
    gap: 2.0512820513vw;
  }
}

.p-service-detail__content-point-item {
  line-height: 1.8;
}

.p-service-detail__content-point-item .u-link--pdf {
  display: inline;
}
.p-service-detail__content-point-item .u-link--pdf::after {
  -webkit-transform: translateY(22%);
  transform: translateY(22%);
}

.p-service-detail__content--right .c-secondary-btn {
  padding-left: 0;
}
@media print, screen and (min-width: 781px) {
  .p-service-detail__content--right .c-secondary-btn {
    margin-top: 24px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail__content--right .c-secondary-btn {
    margin-top: 6.1538461538vw;
  }
}

.p-service-detail__case-list {
  display: grid;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media print, screen and (min-width: 781px) {
  .p-service-detail__case-list {
    gap: min(56px, 2.9166666667vw);
    grid-template-columns: 1fr 1fr;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail__case-list {
    grid-template-columns: 1fr;
    gap: 14.358974359vw;
  }
}

@media print, screen and (min-width: 781px) {
  .p-service-detail__case-item {
    width: min(472px, 29.5vw);
  }
}
@media (width <= 1023px) {
  .p-service-detail__case-item {
    width: 100%;
  }
}
.p-service-detail__case-item-head {
  overflow: hidden;
}
@media print, screen and (min-width: 781px) {
  .p-service-detail__case-item-head {
    border: 1px solid #E2E8F0;
    border-radius: 6px;
    margin-bottom: 24px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail__case-item-head {
    border: 0.2564102564vw solid #E2E8F0;
    border-radius: 1.5384615385vw;
    margin-bottom: 6.1538461538vw;
  }
}

@media print, screen and (min-width: 781px) {
  .p-service-detail__case-item-ttl {
    margin-bottom: 24px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail__case-item-ttl {
    margin-bottom: 6.1538461538vw;
  }
}

@media print, screen and (min-width: 781px) {
  .p-service-detail__case-item-txt {
    margin-bottom: 16px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail__case-item-txt {
    margin-bottom: 4.1025641026vw;
  }
}

@media print, screen and (min-width: 781px) {
  .p-service-detail__note {
    padding-top: 120px;
    text-align: end;
  }
}
@media (width <= 1023px) {
  .p-service-detail__note {
    text-align: left;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail__note {
    padding-top: 30.7692307692vw;
  }
}

.p-service-detail__content-point-list-wrap {
  display: grid;
  gap: 48px;
}

.p-service-detail__content-point-list {
  text-indent: -1.25em;
  padding-left: 1.25em;
}

@media print, screen and (min-width: 781px) {
  .p-service-detail__content-point-list-wrap .p-service-detail__content-point-list {
    margin-top: 24px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail__content-point-list-wrap .p-service-detail__content-point-list {
    margin-top: 4.1025641026vw;
  }
}

@media print, screen and (max-width: 780px) {
  .p-service-detail-intro__txt.c-body--lg {
    font-size: 4.1025641026vw;
  }
}

@media print, screen and (min-width: 781px) {
  .p-service-detail--iims .p-service-detail-intro__txt,
  .p-service-detail--oneview .p-service-detail-intro__txt,
  .p-service-detail--cva .p-service-detail-intro__txt {
    margin-bottom: 56px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail--iims .p-service-detail-intro__txt,
  .p-service-detail--oneview .p-service-detail-intro__txt,
  .p-service-detail--cva .p-service-detail-intro__txt {
    margin-bottom: 14.358974359vw;
  }
}

@media print, screen and (max-width: 780px) {
  .p-service-detail--iims .c-primary-btn,
  .p-service-detail--oneview .c-primary-btn,
  .p-service-detail--cva .c-primary-btn {
    margin: 0 auto;
  }
}

@media print, screen and (max-width: 780px) {
  .p-service-detail--iims .c-primary-btn {
    margin: 0 auto;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail--iims .p-service-detail-intro__logo {
    width: 55.641025641vw;
  }
}

@media print, screen and (min-width: 781px) {
  .p-service-detail--oneview .p-service-detail-intro__logo {
    width: 417px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail--oneview .p-service-detail-intro__logo {
    width: 42.8205128205vw;
  }
}
.p-service-detail--oneview .p-service-detail__content--right .c-h2 {
  margin-bottom: 56px;
}
@media print, screen and (max-width: 780px) {
  .p-service-detail--oneview .p-service-detail__content--right .c-h2 {
    margin-bottom: 14.358974359vw;
  }
}
@media print, screen and (min-width: 781px) {
  .p-service-detail--oneview .c-dialog dialog {
    max-width: min(900px, 56.25vw);
  }
}

@media print, screen and (min-width: 781px) {
  .p-service-detail--dx .p-service-detail-intro__txt {
    text-align: center;
    margin-bottom: 80px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail--dx .p-service-detail-intro__txt {
    -moz-text-align-last: left;
    text-align-last: left;
    margin-bottom: 14.358974359vw;
  }
}
.p-service-detail--dx .p-service-detail-intro .c-primary-btn {
  margin: 0 auto;
}

@media print, screen and (min-width: 781px) {
  .p-service-detail--fincad-support .p-service-detail__ttl {
    margin-bottom: 80px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail--fincad-support .p-service-detail__ttl {
    margin-bottom: 14.358974359vw;
  }
}
@media print, screen and (min-width: 781px) {
  .p-service-detail--fincad-support .c-page-nav__list {
    margin-bottom: 80px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail--fincad-support .c-page-nav__list {
    margin-bottom: 14.358974359vw;
  }
}
.p-service-detail--fincad-support .l-section:has(.p-service-detail__body) {
  padding-top: 0;
}
.p-service-detail--fincad-support .p-service-detail__main {
  position: relative;
}
.p-service-detail--fincad-support #pagelink01 {
  position: relative;
  padding-top: 352px;
}
@media print, screen and (max-width: 780px) {
  .p-service-detail--fincad-support #pagelink01 {
    padding-top: 64.1025641026vw;
  }
}
.p-service-detail--fincad-support #pagelink01.p-service-detail__content:first-of-type {
  margin-top: 0;
}
.p-service-detail--fincad-support #pagelink01 .p-service-detail__content-ttl {
  margin-bottom: 56px;
}
@media print, screen and (max-width: 780px) {
  .p-service-detail--fincad-support #pagelink01 .p-service-detail__content-ttl {
    margin-bottom: 10.2564102564vw;
  }
}
.p-service-detail--fincad-support #pagelink01 .p-service-detail__content-txt--01 {
  position: absolute;
  top: 160px;
  left: 0;
}
@media print, screen and (max-width: 780px) {
  .p-service-detail--fincad-support #pagelink01 .p-service-detail__content-txt--01 {
    top: 20.5128205128vw;
    font-size: 4.1025641026vw;
  }
}
.p-service-detail--fincad-support #pagelink04 .c-secondary-btn {
  margin-bottom: 80px;
}
@media print, screen and (max-width: 780px) {
  .p-service-detail--fincad-support #pagelink04 .c-secondary-btn {
    margin-bottom: 10.2564102564vw;
  }
}

.p-service-detail--fincad .p-service-detail-intro__logo {
  width: 527px;
}
@media print, screen and (max-width: 780px) {
  .p-service-detail--fincad .p-service-detail-intro__logo {
    width: 54.1025641026vw;
  }
}

.p-service-detail-intro__col-group {
  text-align: center;
}
@media print, screen and (max-width: 780px) {
  .p-service-detail-intro__col-group {
    -moz-text-align-last: left;
    text-align-last: left;
  }
}
.p-service-detail-intro__col-group .c-primary-btn {
  margin: 80px auto 0;
}
@media print, screen and (max-width: 780px) {
  .p-service-detail-intro__col-group .c-primary-btn {
    margin: 14.358974359vw auto 0;
  }
}

.p-service-detail-intro__col-logo {
  display: block;
}
@media print, screen and (min-width: 781px) {
  .p-service-detail-intro__col-logo {
    margin: 0 auto 80px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail-intro__col-logo {
    margin: 0 auto 8.2051282051vw;
  }
}

.p-service-detail-table {
  width: 100%;
  overflow: hidden;
  border-radius: 8px;
  margin-bottom: 40px;
}
@media print, screen and (max-width: 780px) {
  .p-service-detail-table {
    margin-bottom: 10.2564102564vw;
    border-radius: 2.0512820513vw;
  }
}
.p-service-detail-table th,
.p-service-detail-table td {
  padding: 32px;
  vertical-align: middle;
}
@media print, screen and (max-width: 780px) {
  .p-service-detail-table th,
  .p-service-detail-table td {
    padding: 6.1538461538vw;
  }
}
.p-service-detail-table thead th {
  text-align: center;
}
.p-service-detail-table .u-left {
  text-align: left;
}
.p-service-detail-table .u-center {
  text-align: center;
}
@media print, screen and (max-width: 780px) {
  .p-service-detail-table th,
  .p-service-detail-table td {
    padding: 4.1025641026vw;
    font-size: 3.5897435897vw;
  }
}

.p-service-detail-table:first-of-type {
  margin-top: 56px;
}
@media print, screen and (max-width: 780px) {
  .p-service-detail-table:first-of-type {
    margin-top: 0;
  }
}

.p-service-detail-table:last-of-type {
  margin-bottom: 0;
}

.p-service-detail-table__head--3col {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}

.p-service-detail-table__head--3col .p-service-detail-table__ttl {
  border-right: 1px solid #fff;
}

.p-service-detail-table__ttl {
  padding: 16px;
  background: #64748B;
  color: #fff;
}
@media print, screen and (max-width: 780px) {
  .p-service-detail-table__ttl {
    padding: 4.1025641026vw;
    font-size: 3.5897435897vw;
  }
}

.p-service-detail-table__body {
  background: #F3F7FB;
  display: grid;
  width: 100%;
}
@media print, screen and (min-width: 781px) {
  .p-service-detail-table__body--3col {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

@media print, screen and (min-width: 781px) {
  .p-service-detail-table__body--2col {
    grid-template-columns: 1fr 1fr;
  }
}

.p-service-detail .c-list {
  line-height: 1.8;
  border-right: 1px solid #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
@media print, screen and (min-width: 781px) {
  .p-service-detail .c-list {
    font-size: 16px;
    padding: 32px;
    gap: 4px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail .c-list {
    font-size: 3.5897435897vw;
    line-height: 1.6;
    padding: 4.1025641026vw;
    border-bottom: 0.2564102564vw solid #fff;
    border-right: none;
    gap: 2.0512820513vw;
  }
}

.p-service-detail .c-list__item {
  position: relative;
  list-style: none;
  gap: 10px;
  margin-left: 0;
  padding-left: 1.25em;
}

.p-service-detail .c-list__item::before {
  content: "";
  position: absolute;
  display: block;
  left: 0.25em;
  background: #000;
  border-radius: 100%;
  -webkit-transform: translate(125%, 50%);
  transform: translate(125%, 50%);
  top: 0.75em;
}
@media print, screen and (min-width: 781px) {
  .p-service-detail .c-list__item::before {
    width: 4px;
    height: 4px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail .c-list__item::before {
    width: 1.0256410256vw;
    height: 1.0256410256vw;
    top: 0.5em;
    -webkit-transform: translate(125%, 75%);
    transform: translate(125%, 75%);
  }
}

.p-service-detail-table__body .c-list__item {
  position: relative;
  list-style: none;
  gap: 10px;
  margin-left: 0;
  padding-left: 1.25em;
}

.p-service-detail-table__body .c-list__item::before {
  content: "";
  position: absolute;
  display: block;
  left: 0.25em;
  background: #000;
  border-radius: 100%;
  -webkit-transform: translate(75%, 50%);
  transform: translate(75%, 50%);
}
@media print, screen and (min-width: 781px) {
  .p-service-detail-table__body .c-list__item::before {
    top: calc(0.5em + 2px);
    width: 4px;
    height: 4px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail-table__body .c-list__item::before {
    top: 0.5em;
    width: 1.0256410256vw;
    height: 1.0256410256vw;
  }
}

.p-service-detail-table__body .c-list:last-of-type {
  border-bottom: none;
}

@media print, screen and (max-width: 780px) {
  .p-service-detail__content-point-list-row .c-body--lg {
    font-size: 4.1025641026vw;
  }
}

.p-service-detail__content-point-list-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
@media print, screen and (min-width: 781px) {
  .p-service-detail__content-point-list-row {
    gap: 56px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail__content-point-list-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    gap: 8.2051282051vw;
  }
}

@media print, screen and (min-width: 781px) {
  .p-service-detail__content-point-list-row-img {
    margin-bottom: 24px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail__content-point-list-row-img {
    margin-bottom: 6.1538461538vw;
  }
}

.p-service-detail__content-point-list-row .c-caption {
  text-align: center;
}

@media (width <= 1023px) {
  .p-service-detail__case-item-ttl.c-body--sm-sp {
    text-align: center;
  }
}

@media print, screen and (min-width: 781px) {
  .p-service-detail-intro__case-txt {
    margin-top: 40px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-detail-intro__case-txt {
    margin-top: 8.2051282051vw;
  }
}

.p-service-detail-intro__case-txt p {
  margin-bottom: 24px;
}
@media print, screen and (max-width: 780px) {
  .p-service-detail-intro__case-txt p {
    margin-bottom: 6.1538461538vw;
    font-size: 4.1025641026vw;
  }
}

.p-service-detail-intro__case-txt-body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.1);
  padding: 24px;
}
@media print, screen and (max-width: 780px) {
  .p-service-detail-intro__case-txt-body {
    border-radius: 1.5384615385vw;
    padding: 6.1538461538vw;
  }
}

.p-service-detail-intro__case-txt-body .c-list {
  border-right: none;
  border-bottom: none;
}

.p-service-detail-intro__case-txt-body .c-list__item {
  padding-left: 0;
}

.p-service-detail-intro__case-txt-body .c-list__item::before {
  left: -1.25em;
  top: 0.7em;
  background: #fff;
}

.p-service-detail--fincad-download .l-section__head .c-page-nav__list {
  margin-block: 80px;
}
@media print, screen and (max-width: 780px) {
  .p-service-detail--fincad-download .l-section__head .c-page-nav__list {
    margin-block: 14.358974359vw;
  }
}
.p-service-detail--fincad-download .l-section:has(.p-service-detail__body) {
  padding-top: 0;
}
.p-service-detail--fincad-download #pagelink01.p-service-detail__content:first-of-type {
  margin-top: 0;
}
@media print, screen and (min-width: 781px) {
  .p-service-detail--fincad-download #pagelink01.p-service-detail__content:first-of-type {
    padding-top: 160px;
  }
}

.p-service-download-table-wrap {
  overflow: auto;
}

.p-service-download-table {
  width: 100%;
  min-width: 1000px;
}
@media print, screen and (min-width: 781px) {
  .p-service-download-table {
    font-size: 16px;
    line-height: 1.8;
    margin-top: 56px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-download-table {
    font-size: 3.5897435897vw;
    line-height: 1.6;
    margin-top: 10.2564102564vw;
  }
}
.p-service-download-table thead {
  background: #F3F7FB;
  color: #64748B;
}
@media print, screen and (min-width: 781px) {
  .p-service-download-table thead {
    border-block: 1px solid #E2E8F0;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-download-table thead {
    border-block: 0.2564102564vw solid #E2E8F0;
  }
}
.p-service-download-table tr th {
  vertical-align: middle;
}
@media print, screen and (min-width: 781px) {
  .p-service-download-table tr th {
    padding: 32px;
  }
}
@media print, screen and (max-width: 780px) {
  .p-service-download-table tr th {
    padding: 6.1538461538vw;
  }
}
.p-service-download-table td,
.p-service-download-table td a {
  vertical-align: middle;
}
.p-service-download-table tbody tr {
  border-bottom: 1px solid #E2E8F0;
}
@media print, screen and (max-width: 780px) {
  .p-service-download-table tbody tr {
    border-bottom: 0.2564102564vw solid #E2E8F0;
  }
}

@media print, screen and (max-width: 780px) {
  .u-only-pc {
    display: none !important;
  }
}

@media print, screen and (min-width: 781px) {
  .u-only-sp {
    display: none !important;
  }
}

.u-left {
  text-align: left;
}

.u-center {
  text-align: center;
}

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

.u-link {
  font-weight: 500;
  text-decoration: underline;
}

.u-link--pdf {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 4px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media print, screen and (max-width: 780px) {
  .u-link--pdf {
    gap: 1.0256410256vw;
  }
}
.u-link--pdf::after {
  content: "";
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 24px;
  height: 24px;
  background: url(/_/image/icon/icon_pdf.svg) center center/cover no-repeat;
  margin-right: 4px;
}
@media print, screen and (max-width: 780px) {
  .u-link--pdf::after {
    width: 6.1538461538vw;
    height: 6.1538461538vw;
    margin-right: 1.0256410256vw;
  }
}

.u-link--blank {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 4px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media print, screen and (max-width: 780px) {
  .u-link--blank {
    gap: 1.0256410256vw;
  }
}
.u-link--blank::after {
  content: "";
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 24px;
  height: 24px;
  background: url(/_/image/icon/icon_link_gray-500.svg) center center/cover no-repeat;
  margin-right: 4px;
}
@media print, screen and (max-width: 780px) {
  .u-link--blank::after {
    width: 6.1538461538vw;
    height: 6.1538461538vw;
    margin-right: 1.0256410256vw;
  }
}/*# sourceMappingURL=maps/main.css.map */
