/*! destyle.css v3.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
*, :after, :before {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0
}

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent
}

body {
  margin: 0
}

main {
  display: block
}

address, blockquote, dl, figure, form, iframe, p, pre, table {
  margin: 0
}

h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0
}

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

dt {
  font-weight: 700
}

dd {
  margin-left: 0
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit
}

pre {
  font-family: monospace, monospace;
  font-size: inherit
}

address {
  font-style: inherit
}

a {
  background-color: transparent;
  text-decoration: none;
  color: inherit
}

abbr[title] {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted
}

b, strong {
  font-weight: bolder
}

code, kbd, samp {
  font-family: monospace, monospace;
  font-size: inherit
}

small {
  font-size: 80%
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline
}

sub {
  bottom: -.25em
}

sup {
  top: -.5em
}

embed, iframe, img, object, svg {
  vertical-align: bottom
}

button, input, optgroup, select, textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit
}

[type=checkbox] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
  appearance: checkbox
}

[type=radio] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
  appearance: radio
}

[type=button], [type=reset], [type=submit], button {
  cursor: pointer
}

[type=button]:disabled, [type=reset]:disabled, [type=submit]:disabled, button:disabled {
  cursor: default
}

:-moz-focusring {
  outline: auto
}

select:disabled {
  opacity: inherit
}

fieldset, option {
  padding: 0
}

fieldset {
  margin: 0;
  min-width: 0
}

legend {
  padding: 0
}

progress {
  vertical-align: baseline
}

textarea {
  overflow: auto
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto
}

[type=search] {
  outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit
}

th[for] {
  cursor: pointer
}

details {
  display: block
}

summary {
  display: list-item
}

[contenteditable]:focus {
  outline: auto
}

table {
  border-color: inherit;
  border-collapse: collapse
}

caption {
  text-align: left
}

td, th {
  vertical-align: top;
  padding: 0
}

th {
  text-align: left;
  font-weight: 700
}

address, button, caption, dd, dt, figcaption, form, h1, h2, h3, h4, h5, h6, input, th, li, ol, p, select, span, sub, sup, td, textarea, th, thead, ul {
  line-break: strict
}

picture {
  display: block
}

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

*, :after, :before {
  background-repeat: no-repeat
}

:root {
  --colorBg: #fff;
  --colorText: #333
}

body {
  font-size: 1rem;
  background-color: var(--colorBg);
  color: var(--colorText);
  font-family: Noto Sans JP, sans-serif;
  font-weight: 500
}

body.ua-macos {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale
}

body.ua-chrome img, body.ua-chrome source {
  image-rendering: -webkit-optimize-contrast;
  padding-bottom: 40px
}

.pin-spacer {
  pointer-events: none
}

.js-showin {
  color: transparent;
  display: inline-block;
  overflow: hidden;
  position: relative;
  transition: color 0ms .45s
}

.js-showin img {
  transform: translate(-100%)
}

.js-showin:after {
  background-color: #333;
  bottom: 0;
  content: "";
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  transform: translate(-101%)
}

.js-showin.is-show {
  color: #333
}

.js-showin.is-show img {
  animation: b 1s cubic-bezier(.8, 0, .17, 1);
  animation-fill-mode: forwards
}

.js-showin.is-show:after {
  animation: a 1s cubic-bezier(.8, 0, .17, 1)
}

@keyframes a {
  0% {
    transform: translate(-101%)
  }

  40%, 60% {
    transform: translate(0)
  }

  to {
    transform: translate(101%)
  }
}

@keyframes b {
  0% {
    transform: translate(-101%)
  }

  40%, 60% {
    transform: translate(0)
  }

  to {
    transform: translate(0)
  }
}

.l-drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 30;
  height: 100vh
}

.l-drawer, .l-drawer__inner {
  width: 100%;
  min-height: 100vh;
  min-height: calc(var(--vh, 1vh)*100)
}

.l-drawer__inner {
  justify-content: center;
  align-items: center;
  position: relative;
  background-color: #f7f6f4;
  overflow: hidden
}

.l-drawer__inner, .l-drawer__items {
  display: flex;
  flex-direction: column
}

.l-drawer__items {
  align-items: flex-end;
  width: 58.6666666667vw;
  font-size: 4.8vw;
  font-family: Jost, sans-serif;
  letter-spacing: .05em
}

.l-drawer__item {
  display: flex;
  flex-direction: column;
  width: 90%;
  border-bottom: 1px solid #ddd;
  padding-left: .5em;
  padding: .7em 0
}

.l-drawer__item:first-of-type {
  width: 100%;
  flex-direction: row;
  align-items: center;
  color: #7daece;
  border-bottom-color: #7daece
}

.l-drawer__item:first-of-type:before {
  content: "";
  display: inline-block;
  width: .45em;
  height: .45em;
  background-color: #7daece;
  border-radius: 50%;
  margin-right: .7em
}

.l-drawer__link {
  display: block
}

.l-drawer__ja {
  display: flex;
  align-items: center;
  margin-top: .6em;
  font-size: 3.7333333333vw;
  font-family: Noto Sans JP, sans-serif
}

.l-drawer__ja:before {
  content: "";
  display: inline-block;
  margin-right: .4em;
  width: .8em;
  height: 1px;
  background-color: #333
}

.l-drawer__hamburger {
  position: absolute;
  top: 5.0666666667vw;
  right: 3.4666666667vw
}

.l-drawer[aria-hidden=false] {
  visibility: visible;
  opacity: 1;
  pointer-events: all
}

.l-drawer[aria-hidden=true] {
  visibility: hidden;
  opacity: 0;
  pointer-events: none
}

.l-footer {
  background-color: #333;
  color: #bababa
}

.l-footer__inner {
  padding: 8vw 5.3333333333vw 13.3333333333vw;
  font-size: 3.4666666667vw;
  font-family: Jost, sans-serif;
  font-weight: 400;
  letter-spacing: 0
}

.l-footer__lead {
  display: flex;
  align-items: flex-end;
  justify-content: space-between
}

.l-footer__logo {
  display: block;
  width: 32vw
}

.l-footer__scrollToTop {
  position: relative;
  width: 8vw;
  height: 18.6666666667vw
}

.l-footer__scrollToTop span {
  display: none
}

.l-footer__nav {
  margin-top: 9.3333333333vw
}

.l-footer__items {
  flex-direction: column;
  gap: 1.05em
}

.l-footer__info, .l-footer__items {
  display: flex;
  letter-spacing: .05em
}

.l-footer__info {
  align-items: center;
  justify-content: space-between;
  margin: 5.3333333333vw 0 0 0;
  padding-top: 6.4vw;
  border-top: 1px solid #bababa
}

.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 20;
  pointer-events: none
}

.l-header__inner {
  position: relative;
  text-align: right
}

.l-header__inner .c-gNav {
  display: none;
  margin-top: 1em;
  font-size: .875rem
}

.l-header__inner .c-gNav__logo {
  margin-right: 10px;
  margin-top: -2px
}

.l-header__inner .c-gNav__item {
  padding-left: 15px;
  border-left: 1px solid #333;
  letter-spacing: .05em
}

.l-header__inner .c-gNav__item+.c-gNav__item {
  margin-top: .6em
}

.l-header__inner .c-gNav__link {
  display: block
}

.l-header__inner .c-gNav__link--ja {
  display: none;
  opacity: 0
}

.l-header__inner .c-gNav__logoImg {
  display: none
}

.l-header__hamburger {
  position: absolute;
  top: 5.0666666667vw;
  right: 3.4666666667vw;
  pointer-events: all
}

.l-loading {
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  height: 100vh;
  background-color: #333;
  pointer-events: none
}

.l-loading.is-first {
  display: flex;
  animation: c .5s linear 2.5s forwards
}

@keyframes c {
  to {
    opacity: 0;
    visibility: hidden
  }
}

.l-loading__logo {
  margin-top: -2.2488755622vh;
  width: 66.6666666667vw
}

.l-wrapper {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  min-height: 100vh
}

.l-main {
  flex: 1
}

.l-main__inner {
  width: 89.3333333333vw;
  margin: 0 auto
}

.c-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100%;
  height: 100%;
  background-color: #f7f6f4;
  font-size: 4vw;
  font-weight: 500;
  letter-spacing: .08em;
  line-height: 1
}

.c-btn--arrow:after, .c-btn--arrow:before, .c-btn--arrowBlue:after, .c-btn--arrowBlue:before {
  content: "";
  position: absolute;
  top: 50%;
  right: -5.3333333333vw
}

.c-btn--arrow:before, .c-btn--arrowBlue:before {
  width: 18.6666666667vw;
  border-bottom: 1px solid #333
}

.c-btn--arrow:after, .c-btn--arrowBlue:after {
  width: 7px;
  border-top: 1px solid #333;
  transform: rotate(30deg);
  transform-origin: right bottom
}

.c-btn--arrowBlue {
  background-color: #7daece;
  color: #fff
}

.c-btn--arrowBlue:before {
  border-bottom-color: #fff;
  transition: all .3s ease-out
}

.c-btn--arrowBlue:after {
  content: none;
  transition: all .3s ease-out
}

.c-btn--arrowBottom:after, .c-btn--arrowBottom:before {
  content: "";
  display: inline-block;
  position: absolute;
  bottom: -1.7em;
  left: 50%;
  width: 1px;
  background-color: #333
}

.c-btn--arrowBottom:before {
  height: 2em
}

.c-btn--arrowBottom:after {
  transform: rotate(30deg);
  transform-origin: left bottom;
  height: .5em
}

.c-btn--blueContainer {
  position: relative;
  width: 69.3333333333vw
}

.c-btn--blueContainer a:after, .c-btn--blueContainer a:before {
  right: -8vw
}

.c-gNav, .c-gNav__link--ja {
  display: none
}

.c-hamburger {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  width: 9.3333333333vw;
  height: 3.2vw;
  margin: 4vw 2vw
}

.c-hamburger__line {
  position: absolute;
  display: block;
  width: 100%;
  height: .2666666667vw;
  background-color: #333;
  left: 0
}

.c-hamburger__line:first-of-type {
  top: 0
}

.c-hamburger__line:last-of-type {
  bottom: 0
}

.c-hamburger--close .c-hamburger__line {
  transform-origin: center center;
  transform: translateY(-50%) rotate(45deg);
  top: 50%;
  bottom: auto
}

.c-hamburger--close .c-hamburger__line:last-of-type {
  transform: translateY(-50%) rotate(-45deg)
}

.c-modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 40;
  width: 100%;
  height: 100vh;
  opacity: 0;
  visibility: hidden
}

.c-modal.is-open {
  opacity: 1;
  visibility: visible
}

.c-modal__overlay {
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  background: rgba(51, 51, 51, .7)
}

.c-modal__body {
  position: relative;
  z-index: 10;
  background-color: #fff;
  width: 89.3333333333vw;
  height: calc(100vh - 21.3333333333vw);
  padding: 12vw 0;
  overflow: auto
}

.c-modal__header {
  padding: 0 5.3333333333vw
}

.c-modal__title {
  font-size: 4.2666666667vw;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 2
}

.c-modal__desc {
  font-size: 3.4666666667vw;
  font-weight: 400;
  letter-spacing: .05em
}

.c-modal__desc:first-of-type {
  margin-top: 1.5em
}

.c-modal__desc+.c-modal__desc {
  margin-top: .5em
}

.c-modal__imageContainer {
  margin-top: 8vw;
  text-align: center;
  padding: 0 5.3333333333vw
}

.c-modal__image {
  display: inline-block
}

.c-modal__image+.c-modal__image {
  margin-top: 4vw
}

.c-modal__close {
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  top: 12vw;
  right: 6.6666666667vw;
  z-index: 20;
  width: 5.3333333333vw;
  height: 5.3333333333vw;
  padding: .5em;
  box-sizing: content-box;
  cursor: pointer
}

.c-modal__close:after, .c-modal__close:before {
  display: block;
  position: absolute;
  content: "";
  width: 5.3333333333vw;
  height: 1px;
  background-color: #333;
  transform-origin: center center
}

.c-modal__close:before {
  transform: rotate(45deg)
}

.c-modal__close:after {
  transform: rotate(-45deg)
}

.modal-enter-active, .modal-leave-active {
  transition: opacity .1s ease-out
}

.c-pages__inner {
  margin: 21.3333333333vw 0 33.3333333333vw;
  padding: 0 5.3333333333vw
}

.c-pages__title {
  font-size: 6.4vw;
  letter-spacing: .05em
}

.c-pages__title--en {
  display: block;
  font-size: 4.2666666667vw;
  letter-spacing: .03em;
  font-family: Jost, sans-serif;
  margin-bottom: .3em
}

.c-pages__lead {
  font-size: 4.2666666667vw;
  font-weight: 400;
  line-height: 2;
  letter-spacing: .05em
}

.p-contact-main__inner.c-pages__inner {
  margin-bottom: 26.6666666667vw
}

.p-contact-main__title--en {
  letter-spacing: .05em
}

.p-contact-main__lead {
  width: 76vw;
  margin: 13.3333333333vw 0 0 auto
}

.p-contact-main__form {
  margin-top: 13.3333333333vw
}

.p-contact-form__item+.p-contact-form__item {
  margin-top: 8vw
}

.p-contact-form th {
  display: block;
  font-size: 3.7333333333vw;
  font-weight: 700;
  letter-spacing: .03em
}

.p-contact-form th.is-required {
  display: flex;
  align-items: center;
  position: relative
}

.p-contact-form th.is-required:after {
  display: inline-block;
  content: "必須";
  background-color: #eb5945;
  padding: .2em .7em;
  margin-left: 2em;
  font-size: 2.9333333333vw;
  font-weight: 500;
  color: #fff;
  border-radius: 2px
}

.p-contact-form input, .p-contact-form textarea {
  display: block;
  margin-top: 2.6666666667vw;
  padding: .3em 1em;
  width: 100%;
  font-size: 3.7333333333vw;
  font-weight: 400;
  line-height: 2.71;
  background-color: #f7f6f4
}

.p-contact-form input::placeholder, .p-contact-form textarea::placeholder {
  font-size: 3.7333333333vw;
  font-weight: 400;
  color: #bababa
}

.p-contact-form textarea {
  min-height: 36vw
}

.p-contact-form__privacy {
  margin-top: 10.6666666667vw;
  text-align: center
}

.p-contact-form__privacy th {
  display: inline-block;
  position: relative;
  width: 69.3333333333vw;
  text-align: right
}

.p-contact-form__privacy input[type=checkbox] {
  width: auto;
  opacity: 0;
  position: absolute
}

.p-contact-form__privacy span.checkText {
  display: block;
  position: relative;
  padding: 1em 0;
  width: 100%;
  vertical-align: middle;
  font-size: 3.7333333333vw;
  font-weight: 400;
  letter-spacing: .05em;
  line-height: 1;
  cursor: pointer;
  white-space: nowrap
}

.p-contact-form__privacy span.checkBox {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 1;
  content: "";
  width: 1.5em;
  height: 1.5em;
  border: 1px solid #333;
  border-radius: 2px;
  background-color: #fff;
  line-height: 1;
  vertical-align: middle;
  transform: translateY(-50%)
}

.p-contact-form__privacy span.checkBox:after {
  content: "";
  display: none;
  position: absolute;
  width: .8em;
  height: .8em;
  background-color: #7daece;
  box-sizing: border-box
}

.p-contact-form__privacy input[type=checkbox]:checked+span.checkBox {
  border-color: #7daece
}

.p-contact-form__privacy input[type=checkbox]:checked+span.checkBox:after {
  display: block
}

.p-contact-form__privacy input[type=checkbox]:focus-visible+span {
  outline: 2px solid #333
}

.p-contact-form__link {
  margin-top: 1em;
  text-align: center;
  font-size: 3.7333333333vw;
  font-weight: 400
}

.p-contact-form__link a {
  text-decoration: underline;
  color: #eb5945;
  margin-left: 8px;
}

.p-contact-form__submit {
  margin: 13.3333333333vw auto 0;
  height: 12vw;
  transform: translateX(2.6666666667vw)
}

.p-contact-form__submit:after, .p-contact-form__submit:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  z-index: 1
}

.p-contact-form__submit:before {
  width: 18.6666666667vw;
  border-bottom: 1px solid #bababa;
  transform: translateZ(0)
}

.p-contact-form__submit:after {
  width: 7px;
  border-top: 1px solid #bababa;
  transform: rotate(30deg);
  transform-origin: right bottom
}

.p-contact-form__submit button {
  width: 64vw
}

.p-contact-form__submit button:before {
  width: 13.3333333333vw;
  right: 0;
  z-index: 2
}

.p-privacy-main__inner.c-pages__inner {
  margin-bottom: 25.3333333333vw
}

.p-privacy-main__lead {
  width: 76vw;
  margin: 13.3333333333vw 0 0 auto
}

.p-privacy-main__content+.p-privacy-main__content, .p-privacy-main__content:first-of-type {
  margin-top: 13.3333333333vw
}

.p-privacy-content dt {
  font-size: 5.3333333333vw;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: .05em
}

.p-privacy-content dt+dd {
  margin-top: 4.2666666667vw
}

.p-privacy-content dd {
  font-size: 3.7333333333vw;
  font-weight: 400;
  line-height: 1.86;
  letter-spacing: .05em
}

.p-privacy-content dd+dd {
  margin-top: 1em
}

.p-privacy-content ol {
  margin-top: -.3em;
  padding-left: 2.8em;
  counter-reset: a
}

.p-privacy-content ol li {
  position: relative
}

.p-privacy-content ol li:before {
  content: "（"counter(a) "）";
  position: absolute;
  top: 0;
  left: -3em;
  counter-increment: a
}

.p-privacy-content ol li+li {
  margin-top: .7em
}

.p-privacy-content ul {
  padding-left: 1.2em
}

.p-privacy-content ul li {
  position: relative
}

.p-privacy-content ul li:before {
  content: "・";
  position: absolute;
  left: -1.2em;
  top: 0;
  width: 1em;
  height: 1em
}

.p-privacy-content ul li+li {
  margin-top: .7em
}

.p-service-main__inner.c-pages__inner {
  margin-bottom: 26.6666666667vw
}

.p-service-main__flow {
  margin-top: 13.3333333333vw
}

.p-service-text {
  display: block;
  width: 76vw;
  margin: 0 0 0 auto
}

.p-service-lead {
  font-size: 4.2666666667vw;
  line-height: 2;
  letter-spacing: .05em
}

.p-service-flow__obj {
  margin: -2.6666666667vw auto;
  width: 81.3333333333vw
}

.p-service-flow__items {
  counter-reset: a;
  margin-top: 6.6666666667vw
}

.p-service-flow__item {
  position: relative;
  font-size: 4.8vw;
  font-weight: 700;
  letter-spacing: .05em
}

.p-service-flow__item:before {
  position: absolute;
  top: -.1em;
  left: -1.5em;
  color: #7daece;
  font-size: 5.3333333333vw;
  font-family: Jost, sans-serif;
  font-weight: 500;
  counter-increment: a;
  content: counter(a) ".";
  text-decoration: underline;
  text-underline-offset: .2em
}

.p-service-flow__item+.p-service-flow__item {
  margin-top: 1.2em
}

.p-service-flow__itemDesc {
  display: block;
  margin-top: 1em;
  font-size: 3.4666666667vw;
  font-weight: 400;
  line-height: 1.69;
  letter-spacing: 0
}

.p-service-main__cost {
  margin-top: 9.3333333333vw
}

.p-service-main__cost+.p-service-main__cost {
  margin-top: 8vw
}

.p-service-boxContent {
  position: relative;
  padding-bottom: 2.6666666667vw
}

.p-service-boxContent:before {
  content: "";
  display: block;
  position: absolute;
  top: 3.4666666667vw;
  left: -5.3333333333vw;
  z-index: -1;
  width: 37.3333333333vw;
  height: 100%;
  background-color: #f7f6f4
}

.p-service-boxContent__title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 7.2vw 0 0 4.5333333333vw;
  font-size: 5.3333333333vw;
  font-weight: 700;
  letter-spacing: .05em
}

.p-service-boxContent__title img {
  display: inline-block;
  width: 32vw
}

.p-service-boxContent__desc {
  margin-top: 1.4em;
  font-size: 3.4666666667vw;
  font-weight: 400;
  line-height: 1.69
}

.p-service-boxContent__desc dt {
  letter-spacing: .05em;
  font-size: 3.7333333333vw;
  font-weight: 5700
}

.p-service-boxContent__desc dt:not(:first-of-type) {
  margin-top: 1.3em
}

.p-service-boxContent__text {
  letter-spacing: .1em;
  padding-right: .5em;
  line-height: 2;
  text-align: justify;
  text-justify: inter-ideograph;
  text-justify: inter-character
}

.p-service-main__contact {
  margin-top: 30.6666666667vw
}

.p-service-contact__desc {
  margin-top: 3em
}

.p-service-contact__btn {
  margin: 12vw auto 0 0;
  height: 12vw
}

.p-service-contact__btn:after, .p-service-contact__btn:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  z-index: 1
}

.p-service-contact__btn:before {
  width: 18.6666666667vw;
  border-bottom: 1px solid #bababa;
  transform: translateZ(0)
}

.p-service-contact__btn:after {
  width: 7px;
  border-top: 1px solid #bababa;
  transform: rotate(30deg);
  transform-origin: right bottom
}

.p-service-contact__btn a {
  width: 64vw
}

.p-service-contact__btn a:before {
  width: 13.3333333333vw;
  right: 0;
  z-index: 2
}

.p-thanks-main__content {
  margin-top: 13.3333333333vw
}

.p-thanks-content__lead {
  font-size: 5.3333333333vw;
  font-weight: 700
}

.p-thanks-content__desc {
  margin-top: 5.3333333333vw;
  font-size: 3.7333333333vw;
  font-weight: 400;
  line-height: 1.86
}

.p-thanks-content__btn {
  margin-top: 13.3333333333vw;
  width: 64vw;
  height: 12vw;
  margin-left: auto;
  margin-right: auto
}

.p-top-main {
  padding: 19.2vw 0 48vw
}

.p-top-fv {
  display: flex;
  justify-content: center;
  background-color: #333
}

.p-top-fv__title {
  display: inline-block;
  width: 88vw;
  height: 78.9333333333vw;
  margin-left: 4vw
}

.p-top-fv .c-gNav {
  position: absolute;
  bottom: 3.90625vh;
  font-size: 1.125rem;
  align-items: center;
  margin-left: -60px
}

.p-top-fv .c-gNav__logo {
  width: 240px;
  margin-right: 70px;
  margin-bottom: 10px
}

.p-top-fv .c-gNav__logoText {
  display: none
}

.p-top-fv .c-gNav__items {
  padding-left: 50px;
  border-left: 1px solid #333
}

.p-top-fv .c-gNav__item+.c-gNav__item {
  margin-top: .9em
}

.p-top-section {
  position: relative
}

.p-top-section__title {
  font-size: 8.5333333333vw;
  font-family: Jost, sans-serif;
  font-weight: 500;
  letter-spacing: .05em
}

.p-top-section__title--num {
  display: block;
  font-size: 17.0666666667vw;
  font-weight: 300;
  letter-spacing: 0
}

.p-top-section__desc {
  margin-top: 13.3333333333vw;
  width: 76vw;
  margin-left: auto;
  font-size: 4.2666666667vw;
  font-weight: 400;
  line-height: 2;
  letter-spacing: .05em;
  text-align: justify;
  text-justify: inter-ideograph;
  text-justify: inter-character
}

.p-top-section__desc+.p-top-section__desc {
  margin-top: 1em
}

.p-top-section__photo {
  width: 41.3333333333vw;
  height: 26.6666666667vw;
  margin-top: 13.3333333333vw;
  margin-left: -5.3333333333vw
}

.p-top-section__photo:last-of-type {
  width: 81.3333333333vw;
  margin-top: -8vw;
  margin-left: 18.6666666667vw
}

.p-top-section__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover
}

.p-top-section__btn {
  width: 64vw;
  height: 12vw;
  margin-left: auto;
  margin-right: auto
}

.p-top-sectionSub {
  position: relative;
  width: 84vw;
  margin-left: auto
}

.p-top-sectionSub+.p-top-sectionSub {
  margin-top: 16vw
}

.p-top-sectionSub__title {
  font-size: 8vw;
  font-family: Jost, sans-serif;
  letter-spacing: .03em
}

.p-top-sectionSub__title--ja {
  display: block;
  margin-top: .6em;
  font-size: 3.4666666667vw;
  font-weight: 400;
  letter-spacing: .03em
}

.p-top-sectionSub__desc {
  width: 76vw;
  margin: 2em 0 0 auto;
  font-size: 3.4666666667vw;
  font-weight: 400;
  line-height: 1.69;
  text-align: justify;
  text-justify: inter-ideograph;
  text-justify: inter-character
}

.p-top-sectionSub__icon {
  position: absolute;
  top: -4vw;
  right: 0;
  width: 32vw
}

.p-top-sectionSub__icon img {
  width: 100%
}

.p-top-main__what {
  margin-top: 41.3333333333vw
}

.p-top-main__what:before {
  content: "";
  position: absolute;
  top: -16vw;
  left: -5.3333333333vw;
  z-index: -1;
  width: 37.3333333333vw;
  height: 196.2666666667vw;
  background-color: #f7f6f4
}

.p-top-main__works {
  margin-top: 36vw
}

.p-top-works__items {
  display: flex;
  flex-wrap: wrap
}

.p-top-works__item {
  flex: 0 0 50%
}

.p-top-works__item:first-of-type {
  margin-top: 14.4vw
}

.p-top-works__item:nth-of-type(2) {
  margin-top: -4.8vw
}

.p-top-works__item:nth-of-type(2n):not(:nth-of-type(2)) {
  margin-top: -19.2vw
}

.p-top-works__item:nth-of-type(n+7) {
  display: none
}

.p-top-works .p-top-section__btn {
  margin-top: 0.3333333333vw
}

.p-top-main__service {
  margin-top: 26.6666666667vw;
  padding: 16vw 0 25vw;
  background-color: #f7f6f4
}

.p-top-main__service .p-top-section__btn {
  margin: 2.6666666667vw auto 0 -5.2vw
}

.p-top-main__service .p-top-section__btn a:after, .p-top-main__service .p-top-section__btn a:before {
  right: -8vw
}

.p-top-main__serviceContents {
  margin-top: 14.6666666667vw
}

.p-top-main__company {
  margin-top: 29.3333333333vw
}

.p-top-main__companyTable {
  margin-top: 8vw
}

.p-top-table {
  font-size: 3.7333333333vw
}

.signlogo {
  padding-bottom: 15px !important;
  margin-top: 5px;
}

.p-top-table__box {
  display: flex;
  justify-content: space-between
}

.p-top-table dd, .p-top-table dt {
  padding: 1.2em 0 1em .3em;
  border-bottom: 1px solid #ddd;
  letter-spacing: .05em;
  line-height: 1.86
}

.p-top-table dt {
  font-weight: 500;
  flex: 0 0 18.6666666667vw
}

.p-top-table dd {
  font-weight: 400;
  flex: 0 0 68vw;
  text-align: justify;
  text-justify: inter-ideograph;
  text-justify: inter-character
}

.p-top-table dd span {
  display: block
}

.p-top-table dd span+span {
  margin-top: 1em
}

.p-top-main__contact {
  margin-top: 29.3333333333vw;
  padding-bottom: 5.3333333333vw
}

.p-top-main__contact:before {
  content: "";
  display: block;
  position: absolute;
  top: 9.3333333333vw;
  left: 25px;
  width: calc(100% + 5.3333333333vw);
  height: 100%;
  background-color: #f7f6f4;
  z-index: -1
}

.p-top-main__contact .p-top-section__btn {
  position: relative;
  margin-top: 13.3333333333vw;
  width: 69.3333333333vw;
  transform: translateX(2.6666666667vw)
}

.p-top-main__contact .p-top-section__btn:after, .p-top-main__contact .p-top-section__btn:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  z-index: 1
}

.p-top-main__contact .p-top-section__btn:before {
  width: 18.6666666667vw;
  border-bottom: 1px solid #bababa;
  transform: translateZ(0)
}

.p-top-main__contact .p-top-section__btn:after {
  width: 7px;
  border-top: 1px solid #bababa;
  transform: rotate(30deg);
  transform-origin: right bottom
}

.p-top-main__contact .p-top-section__btn a {
  width: 64vw
}

.p-top-main__contact .p-top-section__btn a:before {
  width: 13.3333333333vw;
  right: 0;
  z-index: 2
}

.p-works-main__items {
  display: flex;
  flex-wrap: wrap
}

.p-works-main__item {
  flex: 0 0 50%
}

.p-works-main__item:first-of-type {
  margin-top: 14.4vw
}

.p-works-main__item:nth-of-type(2) {
  margin-top: -4.8vw
}

.p-works-main__item:nth-of-type(2n):not(:nth-of-type(2)) {
  margin-top: -19.2vw
}

.p-works-main__item:nth-of-type(n+13) {
  display: none
}

.p-works-main__item.is-show {
  display: block !important;
  border: 1px solid red
}

.p-works-main__btn {
  margin: 3.3333333333vw auto 0;
  text-align: center;
  width: 64vw;
  height: 12vw
}

#infscr-loading {
  display: none !important;
  visibility: hidden;
  opacity: 0
}

.u-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  border: 0
}

.u-ds-pc {
  display: none
}

.u-text-upper {
  text-transform: uppercase
}

.u-fw300 {
  font-weight: 300 !important
}

.u-fw400, .u-fw500, .u-fw700 {
  font-weight: 400 !important
}

.u-lh15 {
  line-height: 1.62 !important
}

.u-fs16 {
  font-size: 3.7333333333vw !important
}

.modal-enter-from, .modal-leave-to {
  opacity: 0
}

.modal-enter-to, .modal-leave-from {
  opacity: 1
}

.modal-enter-active, .modal-leave-active {
  transition: opacity .3s ease
}

.thumbnail-enter-from, .thumbnail-leave-to {
  opacity: 0
}

.thumbnail-enter-to, .thumbnail-leave-from {
  opacity: 1
}

.thumbnail-enter-active {
  transition: opacity .3s ease
}

.thumbnail-leave-active {
  transition: opacity .3s ease-in
}

.modalButton {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  box-shadow: 0 1px 8px rgba(0, 0, 0, .2)
}

.modalButton--prev {
  left: 0;
  transform: translateX(-50%)
}

.modalButton--next {
  right: 0;
  transform: translateX(50%)
}

.modal-container {
  position: relative;
  z-index: 9998;
  width: 100%;
  height: 100%
}

.modal-body {
  position: relative;
  z-index: 9999;
  box-sizing: border-box;
  width: 100%;
  max-width: 640px;
  padding: 16px;
  margin: auto;
  background-color: #fff
}

.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  display: flex;
  overflow: auto;
  width: 100%;
  height: 100%;
  padding: 20px 60px;
  background-color: rgba(0, 0, 0, .7)
}

.modal-image-container {
  position: relative;
  background-color: #f0f0f0
}

.modal-image-container>div {
  min-height: 200px;
  transition: height .3s ease
}

.modal-image-container img {
  width: auto;
  max-height: 100%;
  transition: opacity .4s linear;
  opacity: 0
}

.modal-image-container:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  width: 30px;
  height: 30px;
  margin: auto;
  border: 4px solid #000;
  border-top-color: #a0a0a0;
  border-radius: 999em;
  animation: d .7s linear 0s infinite normal forwards
}

.modal-image-container.isLoaded img {
  opacity: 1
}

.modal-image-container.isLoaded:before {
  content: none
}

@keyframes d {
  0% {
    transform: rotate(0)
  }

  to {
    transform: rotate(1turn)
  }
}

.container {
  width: 100%;
  max-width: 1080px;
  padding: 0 16px;
  margin: 0 auto;
  text-align: center
}

.button {
  padding: 8px 16px;
  border-radius: 4px;
  border: none;
  background-color: #fff;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none
}

.button--close {
  background-color: #666;
  border-color: #333;
  color: #fff
}

.imageList {
  display: flex;
  padding: 0;
  list-style: none;
  justify-content: center
}

.imageList .imageList-item {
  width: 100px;
  margin-right: 20px
}

.imageList .imageList-item:last-child {
  margin-right: 0
}

.imageList .imageList-button {
  padding: 0;
  border: none
}

.imageList .imageList-thumb {
  width: 100%;
  cursor: pointer
}

@media print, screen and (min-width:1025px) {
  .l-footer__inner {
    width: 900px;
    margin: 0 auto;
    font-size: .875rem;
    padding: 70px 0 50px;
    letter-spacing: 0
  }

  .l-footer__lead {
    align-items: flex-start;
    width: 900px;
    margin: 0 auto
  }

  .l-footer__logo {
    width: 120px;
    margin-top: 30px
  }

  .l-footer__scrollToTop {
    display: flex;
    align-items: flex-end;
    width: 30px;
    height: 50px
  }

  .l-footer__scrollToTop:after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    width: 1px;
    height: 10px;
    background-color: #bababa;
    transition: all .3s ease-out;
    transform: rotate(30deg);
    transform-origin: top;
    z-index: 1
  }

  .l-footer__scrollToTop:before {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    border-right: 1px solid #bababa;
    transition: transform .3s ease-out, border .3s ease-out;
    transform-origin: bottom
  }

  .l-footer__scrollToTop span {
    display: inline-block;
    vertical-align: bottom;
    position: relative;
    font-size: .875rem;
    font-family: Jost, sans-serif;
    font-weight: 400;
    transition: all .3s ease-out
  }

  .l-footer__scrollToTop img {
    display: none
  }

  .l-footer__nav {
    width: 900px;
    margin: 50px auto 0;
    padding-left: 0
  }

  .l-footer__items {
    flex-direction: row;
    gap: 2.7em
  }

  .l-footer__info {
    margin: 25px auto 0;
    padding: 20px 0 0
  }

  .l-header__inner {
    display: flex;
    justify-content: flex-end;
    margin: 0 auto;
    padding-top: 35px;
    width: min(83.3333333333vw, 1200px);
    text-align: left
  }

  .l-header__inner .c-gNav {
    display: flex;
    pointer-events: all
  }

  .l-header__inner .c-gNav__item+.c-gNav__item {
    margin-top: 0
  }

  .l-header__inner .c-gNav__item+.c-gNav__item .c-gNav__link {
    padding-top: .6em
  }

  .is-top .l-header__inner .c-gNav, .l-header__hamburger {
    display: none
  }

  .l-loading__logo {
    width: 580px
  }

  .l-main__inner {
    width: 900px
  }

  .c-btn {
    font-size: 1rem;
    font-weight: 500;
  }

  .c-btn--arrow:before, .c-btn--arrowBlue:before {
    width: 50px;
    right: 30px;
    transition: all .3s ease-out
  }

  .c-btn--arrow:after, .c-btn--arrowBlue:after {
    border-top-width: 0;
    right: -20px
  }

  .c-btn--arrowBottom:before {
    height: 20px;
    bottom: -15px
  }

  .c-btn--arrowBottom:after {
    width: 0;
    bottom: -15px
  }

  .c-btn--blueContainer {
    width: 320px
  }

  .c-btn--blueContainer a:after, .c-btn--blueContainer a:before {
    right: 0
  }

  .c-gNav {
    display: flex;
    font-family: Jost, sans-serif;
    font-weight: 500
  }

  .c-modal__body {
    width: 900px;
    height: calc(100vh - 100px);
    padding: 70px 0
  }

  .c-modal__header {
    padding: 0 100px
  }

  .c-modal__title {
    font-size: 1.125rem
  }

  .c-modal__desc {
    font-size: .875rem
  }

  .c-modal__imageContainer {
    margin-top: 40px;
    padding: 0 100px
  }

  .c-modal__image+.c-modal__image {
    margin-top: 0
  }

  .c-modal__close {
    position: fixed;
    top: 75px;
    right: calc((100vw - 900px)/2 + 20px);
    width: 20px;
    height: 20px
  }

  .c-modal__close:after, .c-modal__close:before {
    width: 20px
  }

  .c-pages__inner {
    width: 900px;
    margin: 200px auto 165px;
    padding: 0
  }

  .c-pages__title {
    font-size: 1.875rem
  }

  .c-pages__title--en {
    font-size: 1.125rem;
    margin-bottom: .8em
  }

  .c-pages__lead {
    font-size: 1.125rem;
    line-height: 2.11
  }

  .p-contact-main__inner.c-pages__inner {
    margin-bottom: 150px
  }

  .p-contact-main__lead {
    width: 550px;
    margin: 20px 0 0 0;
  }

  .p-contact-main__form {
    width: 800px;
    margin: 110px auto 0
  }

  .p-contact-form__item {
    display: flex;
    /*align-items: center*/
  }

  .p-contact-form__item+.p-contact-form__item {
    margin-top: 35px
  }

  .p-contact-form__item--content th {
    margin-top: 20px;
    align-self: flex-start
  }

  .p-contact-form th {
    font-size: 1rem;
    flex: 0 0 250px
  }

  .p-contact-form th.is-required:after {
    position: absolute;
    right: 97px;
    font-size: .8125rem
  }

  .p-contact-form input, .p-contact-form textarea {
    margin-top: 0;
    padding: .8em 1em;
    width: 500px;
    flex: 0 0 500px;
    font-size: 1rem;
    line-height: 1.75
  }

  .p-contact-form input::placeholder, .p-contact-form textarea::placeholder {
    font-size: 1rem
  }

  .p-contact-form textarea {
    min-height: 220px
  }

  .p-contact-form__privacy {
    margin-top: 60px
  }

  .p-contact-form__privacy th {
    width: 290px;
    flex: none;
    margin-left: 10px
  }

  .p-contact-form__privacy span.checkText {
    font-size: 1rem
  }

  .p-contact-form__privacy span.checkBox {
    width: 1.4em;
    height: 1.4em
  }

  .p-contact-form__link {
    font-size: .875rem
  }

  .p-contact-form__submit {
    width: 320px;
    height: 58px;
    margin: 70px auto 0;
    transform: translateX(0)
  }

  .p-contact-form__submit:after, .p-contact-form__submit:before {
    content: none
  }

  .p-contact-form__submit button {
    width: 320px
  }

  .p-contact-form__submit button:before {
    width: 50px;
    right: 30px
  }

  .p-privacy-main__inner.c-pages__inner {
    margin-bottom: 145px
  }

  .p-privacy-main__title {
    line-height: 1.53
  }

  .p-privacy-main__title--en {
    margin-bottom: .2em
  }

  .p-privacy-main__lead {
    margin-top: -95px;
    width: 550px
  }

  .p-privacy-main__content:first-of-type {
    margin-top: 90px
  }

  .p-privacy-main__content+.p-privacy-main__content {
    margin-top: 65px
  }

  .p-privacy-content {
    width: 800px;
    margin-left: auto;
    margin-right: auto
  }

  .p-privacy-content dt {
    font-size: 1.5rem;
    line-height: 1.58
  }

  .p-privacy-content dt+dd {
    margin-top: 1.5em
  }

  .p-privacy-content dd {
    font-size: 1rem;
    line-height: 2
  }

  .p-privacy-content dd+dd {
    margin-top: 1.5em
  }

  .p-privacy-content ol li:before {
    left: -2.7em
  }

  .p-privacy-content ol li+li {
    margin-top: 0
  }

  .p-privacy-content ul {
    margin-top: -.5em;
    padding-left: 2em
  }

  .p-privacy-content ul li:before {
    left: -2em
  }

  .p-privacy-content ul li+li {
    margin-top: .4em
  }

  .p-service-main__inner.c-pages__inner {
    margin-bottom: 250px
  }

  .p-service-main__flow {
    margin-top: -50px
  }

  .p-service-text {
    width: 550px
  }

  .p-service-lead {
    font-size: 1.125rem;
    line-height: 2.11
  }

  .p-service-flow__obj {
    margin: 30px auto 0;
    width: 800px
  }

  .p-service-flow__items {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    border: 0
  }

  .p-service-flow__item {
    font-size: 1.25rem
  }

  .p-service-flow__itemDesc {
    font-size: .875rem;
    line-height: 1.71
  }

  .p-service-main__cost {
    margin-top: 110px
  }

  .p-service-main__cost+.p-service-main__cost {
    margin-top: 50px
  }

  .p-service-boxContent:last-of-type .p-service-boxContent__title {
    margin-top: 10px
  }

  .p-service-boxContent {
    padding-bottom: 30px;
    display: flex;
    align-items: center;
    width: 850px;
    margin-right: 0;
    margin-left: auto
  }

  .p-service-boxContent:before {
    top: 0;
    left: -150px;
    width: 250px
  }

  .p-service-boxContent__title {
    display: block;
    margin-top: 30px;
    padding: 0;
    font-size: 1.5rem
  }

  .p-service-boxContent__title img {
    margin-top: 30px;
    width: 175px
  }

  .p-service-boxContent__desc {
    font-size: .875rem;
    line-height: 1.71
  }

  .p-service-boxContent__desc dt {
    font-size: 1rem
  }

  .p-service-boxContent__desc dd {
    margin-top: .5em
  }

  .p-service-boxContent__text {
    line-height: 2.3;
    letter-spacing: .2em;
    padding-top: 5px
  }

  .p-service-main__contact {
    margin-top: 145px;
    padding: 100px 0;
    position: relative
  }

  .p-service-main__contact:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: -100px;
    z-index: -2;
    width: 100vw;
    height: 100%;
    background-color: #f7f6f4
  }

  .p-service-main__contact:after {
    content: "";
    display: block;
    position: absolute;
    top: 70px;
    left: 620px;
    z-index: -1;
    width: 550px;
    height: 140px;
    background-image: url(../images/logo-white.svg);
    background-size: contain
  }

  .p-service-contact__desc {
    margin-top: -3em
  }

  .p-service-contact__btn {
    width: 320px;
    height: 58px;
    margin: 4em 0 0
  }

  .p-service-contact__btn:after, .p-service-contact__btn:before {
    content: none
  }

  .p-service-contact__btn a {
    width: 320px
  }

  .p-service-contact__btn a:before {
    width: 50px;
    right: 30px
  }

  .p-thanks-main__content {
    margin-top: 100px
  }

  .p-thanks-content__lead {
    font-size: 1.5rem;
    text-align: center
  }

  .p-thanks-content__desc {
    margin-top: 30px;
    text-align: center;
    font-size: 1rem;
    line-height: 2
  }

  .p-thanks-content__btn {
    margin-top: 70px;
    width: 320px;
    height: 58px
  }

  .p-top-main {
    padding: 0;
    position: relative
  }

  .p-top-main:before {
    content: "";
    position: absolute;
    top: calc(100vh + 160px);
    left: 0;
    z-index: -1;
    width: 29.1666666667vw;
    height: 730px;
    background-color: #f7f6f4
  }

  .p-top-fv {
    position: relative;
    flex-direction: column;
    align-items: center;
    height: 100vh
  }

  .p-top-fv__title {
    margin-bottom: 7.1614583333vh;
    width: 800px;
    height: auto
  }

  .p-top-section__title {
    position: absolute;
    top: 0;
    left: 0;
    font-size: 2.375rem
  }

  .p-top-section__title--num {
    font-size: 5.5rem;
    margin-bottom: .1em
  }

  .p-top-section__desc {
    font-size: 1.125rem;
    line-height: 2.11;
    margin-top: 0
  }

  .p-top-section__desc+.p-top-section__desc {
    margin-top: 2em
  }

  .p-top-section__photoContainer {
    display: flex;
    align-items: center;
    margin-top: 115px
  }

  .p-top-section__photo {
    margin-top: 0;
    margin-left: 0;
    width: 425px;
    height: 180px;
    flex: 0 0 auto
  }

  .p-top-section__photo:last-of-type {
    margin: 0 0 0 25px;
    width: 820px
  }

  .p-top-section__btn {
    width: 320px;
    height: 58px
  }

  .p-top-sectionSub {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 270px;
    margin-left: 0
  }

  .p-top-sectionSub+.p-top-sectionSub {
    margin-top: 0
  }

  .p-top-sectionSub__title {
    text-align: center;
    font-size: 2.25rem;
    order: 2;
    margin-top: 5px
  }

  .p-top-sectionSub__title--ja {
    font-size: .875rem
  }

  .p-top-sectionSub__desc {
    order: 3;
    width: 100%;
    font-size: .875rem;
    line-height: 1.71
  }

  .p-top-sectionSub__icon {
    order: 1;
    position: relative;
    top: auto;
    right: auto;
    width: 180px
  }

  .p-top-main__what {
    margin-top: 250px
  }

  .p-top-main__what .p-top-section__title {
    top: -45px
  }

  .p-top-main__what .p-top-section__desc {
    width: 520px;
    margin-right: 30px
  }

  .p-top-main__what:before {
    display: none
  }

  .p-top-main__whatText {
    position: relative;
    width: 900px;
    margin: 0 auto
  }

  .p-top-main__works {
    margin-top: 210px;
    width: 900px;
    margin-left: auto;
    margin-right: auto
  }

  .p-top-main__worksInner {
    padding-top: 140px
  }

  .p-top-works__item {
    flex: 0 0 300px
  }

  .p-top-works__item:first-of-type {
    margin-top: 70px
  }

  .p-top-works__item:nth-of-type(2) {
    margin-top: 140px
  }

  .p-top-works__item:nth-of-type(2n):not(:nth-of-type(2)) {
    margin-top: 0
  }

  .p-top-works__item:nth-of-type(2n):not(:nth-of-type(2)):nth-of-type(6) {
    margin-top: -140px
  }

  .p-top-works__item:nth-of-type(n+7) {
    display: block
  }

  .p-top-works__item:nth-of-type(3n+1):not(:first-of-type) {
    margin-top: -70px
  }

  .p-top-works__item:nth-of-type(9) {
    margin-top: -140px
  }

  .p-top-works .p-top-section__btn {
    margin-top: 0px
  }

  .p-top-main__service {
    margin-top: 150px;
    padding: 160px 0 150px
  }

  .p-top-main__service .l-main__inner {
    position: relative;
    width: 900px;
    margin-left: auto;
    margin-right: auto
  }

  .p-top-main__service .p-top-section__title {
    top: -45px
  }

  .p-top-main__service .p-top-section__title--num {
    margin-bottom: -.05em
  }

  .p-top-main__service .p-top-section__desc {
    width: 550px
  }

  .p-top-main__service .p-top-section__btn {
    margin: 2em 0 0 352px
  }

  .p-top-main__service .p-top-section__btn .c-btn {
    justify-content: flex-start;
    width: 195px
  }

  .p-top-main__service .p-top-section__btn a:after, .p-top-main__service .p-top-section__btn a:before {
    right: 20px
  }

  .p-top-main__serviceContents {
    display: flex;
    justify-content: center;
    gap: 45px;
    margin-top: 80px
  }

  .p-top-main__company {
    width: 900px;
    margin: 210px auto 0
  }

  .p-top-main__company .p-top-section__title {
    top: -45px
  }

  .p-top-main__company .p-top-section__lead {
    width: 550px;
    font-size: 1.125rem;
    line-height: 2.11;
    font-weight: 400;
    margin: 0 0 0 auto;
    letter-spacing: .05em
  }

  .p-top-main__companyTable {
    margin-top: 110px
  }

  .p-top-table {
    font-size: 1rem
  }

  .p-top-table dd, .p-top-table dt {
    padding: 1.8em 0 .7em .3em
  }

  .p-top-table dt {
    flex: 0 0 120px
  }

  .p-top-table dd {
    flex: 0 0 755px
  }

  .p-top-table dd span+span {
    margin-top: .2em
  }

  .p-top-main__contact {
    width: 900px;
    margin: 310px auto 0;
    padding-bottom: 250px
  }

  .p-top-main__contact .p-top-section__title {
    top: -50px
  }

  .p-top-main__contact .p-top-section__desc {
    width: 550px;
    margin: 0 0 0 auto
  }

  .p-top-main__contact:before {
    top: -160px;
    left: -100px;
    width: 200vw;
    height: 495px
  }

  .p-top-main__contact .p-top-section__btn {
    margin-top: 60px;
    width: 320px
  }

  .p-top-main__contact .p-top-section__btn:after, .p-top-main__contact .p-top-section__btn:before {
    content: none
  }

  .p-top-main__contact .p-top-section__btn a {
    width: 320px;
    margin-left: 20px
  }

  .p-top-main__contact .p-top-section__btn a:before {
    width: 50px;
    right: 30px
  }

  .p-works-main__items--new {
    margin-top: -120px
  }

  .p-works-main__item {
    flex: 0 0 33.3333333333%
  }

  .p-works-main__item:first-of-type {
    margin-top: 50px
  }

  .p-works-main__item:nth-of-type(2) {
    margin-top: 120px
  }

  .p-works-main__item:nth-of-type(3) {
    margin-top: -20px
  }

  .p-works-main__item:nth-of-type(2n):not(:nth-of-type(2)) {
    margin-top: 0
  }

  .p-works-main__item:nth-of-type(3n+1):not(:first-of-type) {
    margin-top: -70px
  }

  .p-works-main__item:nth-of-type(3n):not(:nth-of-type(3)) {
    margin-top: -140px
  }

  .p-works-main__btn {
    width: 320px;
    height: 58px
  }

  .u-ds-sp {
    display: none
  }

  .u-ds-pc {
    display: block
  }

  .u-fs16 {
    font-size: 1rem !important;
    line-height: 1.95rem !important
  }
}

@media print and (hover:hover), screen and (min-width:1025px)and (hover:hover) {
  .l-footer__scrollToTop:hover span {
    color: #7daece
  }

  .l-footer__scrollToTop:hover:before {
    border-right-color: #7daece;
    transform: scaleY(140%)
  }

  .l-footer__scrollToTop:hover:after {
    background-color: #7daece;
    transform: translateY(-20px) rotate(30deg)
  }
}

@media print, screen and (min-width:1280px) {
  .l-footer__inner {
    width: 1100px
  }

  .l-footer__info {
    padding: 20px min(6.9444444444vw, 100px) 0
  }

  .l-main__inner {
    width: 1100px
  }
}

@media (prefers-reduced-motion:reduce) {
  *, :after, :before {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important
  }
}

@media (hover:hover) {
  .l-footer__logo {
    transition: filter .3s ease-out
  }

  .l-footer__logo:hover {
    filter: brightness(200%)
  }

  .l-footer__item a {
    transition: color .3s ease-out
  }

  .l-footer__item a:hover {
    color: #fff
  }

  .l-footer__info a {
    transition: color .3s ease-out
  }

  .l-footer__info a:hover {
    color: #fff
  }

  .l-header__inner .c-gNav__item.is-noHover {
    border-left-color: transparent
  }

  .l-header__inner .c-gNav__item.is-hover {
    border-left: 1px solid #7daece;
    color: #7daece
  }

  .l-header__inner .c-gNav__item.is-hover .c-gNav__link {
    transition: color .3s ease
  }

  .l-header__inner .c-gNav__item.is-hover .c-gNav__link:hover {
    height: auto
  }

  .l-header__inner .c-gNav__item.is-hover .c-gNav__link--ja {
    display: block;
    margin-top: .5em;
    animation: e .2s ease forwards
  }

  @keyframes e {
    0% {
      opacity: 0
    }

    to {
      opacity: 1
    }
  }

  .c-btn {
    transition: all .3s ease-out
  }

  .c-btn--arrow:hover, .c-btn--arrowBlue:hover {
    background-color: transparent;
    color: #7daece;
    border: 1px solid #7daece
  }

  .c-btn--arrow:hover:before, .c-btn--arrowBlue:hover:before {
    border-bottom-color: #7daece;
    width: 100px;
    right: -20px
  }

  .c-btn--arrow:hover:after, .c-btn--arrowBlue:hover:after {
    border-top-width: 1px;
    border-top-color: #7daece;
    right: -20px
  }

  .c-btn--arrow.c-btn--noBorder:hover, .c-btn--noBorder.c-btn--arrowBlue:hover {
    border: none
  }

  .c-btn--arrow.c-btn--noBorder:hover:before, .c-btn--noBorder.c-btn--arrowBlue:hover:before {
    width: 70px;
    right: -20px
  }

  .c-btn--arrow.c-btn--noBorder:hover:after, .c-btn--noBorder.c-btn--arrowBlue:hover:after {
    right: -20px
  }

  .c-btn--arrowBlue:hover:before {
    width: 100px !important;
    right: -20px !important
  }

  .c-btn--arrowBlue:hover:after {
    content: "";
    right: -20px
  }

  .c-btn--arrowBottom:hover {
    background-color: transparent;
    color: #7daece;
    border: 1px solid #7daece
  }

  .c-btn--arrowBottom:hover, .c-btn--arrowBottom:hover:after, .c-btn--arrowBottom:hover:before {
    transition: all .3s ease-out
  }

  .c-btn--arrowBottom:hover:before {
    background-color: #7daece;
    height: 30px;
    bottom: -25px
  }

  .c-btn--arrowBottom:hover:after {
    background-color: #7daece;
    width: 1px;
    bottom: -25px
  }

  .c-gNav__logoText path, .c-gNav__logoText text {
    transition: fill .3s ease-out
  }

  .c-gNav__logoText:hover path, .c-gNav__logoText:hover text {
    fill: #7daece
  }

  .c-gNav__link {
    transition: color .3s ease-out
  }

  .c-gNav__link:hover {
    color: #7daece
  }

  .p-contact-form__link a {
    transition: color .3s ease
  }

  .p-contact-form__link a:hover {
    color: #7daece
  }

  .p-works-main__item>img:hover {
    cursor: pointer
  }
}

/*# sourceMappingURL=map/style.css.map */