@charset "UTF-8";
:root {
  --width: 1140;
  --main-color: #88A6A9;
  --main-color-parking: #58C1DB;
}
@media screen and (max-width: 768px) {
  :root {
    --width: 375;
  }
}

/*------------------------------
    FONT
--------------------------------*/
@media screen and (max-width: 768px) {
  @font-face {
    src: url("../fonts/NotoSansJP-Regular.woff") format("woff");
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-display: swap;
  }
  @font-face {
    src: url("../fonts/NotoSansJP-Medium.woff") format("woff");
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
  }
  @font-face {
    src: url("../fonts/NotoSansJP-Bold.woff") format("woff");
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
  }
}
/*------------------------------
    RESET
--------------------------------*/
body, div, dl, dt, dd, h1, h2, h3, h4, h5, h6, p, pre, form, fieldset, input, textarea, blockquote, ul, ol, li, figure {
  margin: 0;
  padding: 0;
}

ul, ol, li {
  list-style: none;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 1em;
}

html {
  font-size: 62.5%;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

body {
  font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Hiragino Kaku Gothic ProN', '游ゴシック  Medium', meiryo, sans-serif;
  font-size: 1.5rem;
  color: #242424;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  body {
    font-size: calc(15 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  body {
    font-size: calc(14 / var(--width) * 100vw);
  }
}

body {
  animation: fadeIn 2s ease 0s 1 normal;
  -webkit-animation: fadeIn 2s ease 0s 1 normal;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
img {
  max-width: 100%;
  height: auto;
  image-rendering: -webkit-optimize-contrast;
}

a img {
  transition: all .3s ease;
}

a:hover img {
  opacity: 0.7;
}

@media screen and (min-width: 769px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

a:link, a:visited {
  color: #58C1DB;
  transition: all .3s ease;
}

a:hover, a:active {
  color: #29a0be;
}

/*------------------------------
    BASE LAYOUT
--------------------------------*/
.site-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
.site-header .header-title {
  padding: 14px 20px 0 34px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .site-header .header-title {
    padding: calc(14 / var(--width) * 100vw) calc(20 / var(--width) * 100vw) 0 calc(34 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .site-header .header-title {
    padding: calc(10 / var(--width) * 100vw) calc(12 / var(--width) * 100vw) 0 calc(10 / var(--width) * 100vw);
    font-feature-settings: "palt";
  }
}
.site-header .header-copy {
  font-size: 1.2rem;
  line-height: 1.5;
  margin-bottom: 7px;
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .site-header .header-copy {
    font-size: calc(12 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .site-header .header-copy {
    font-size: calc(9 / var(--width) * 100vw);
    font-weight: normal;
    letter-spacing: 0;
  }
}
.site-header .header-logo {
  width: 116px;
  margin-left: 7px;
  font-size: 1.0rem;
  line-height: 1.5;
  text-align: center;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .site-header .header-logo {
    width: calc(116 / var(--width) * 100vw);
    margin-left: calc(7 / var(--width) * 100vw);
    font-size: calc(10 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .site-header .header-logo {
    width: calc(116 / var(--width) * 100vw);
    margin-left: calc(7 / var(--width) * 100vw);
    text-align: left;
  }
}
.site-header .header-logo img {
  vertical-align: bottom;
}
.site-header .header-logo a {
  color: inherit;
  text-decoration: none;
}
.site-header .header-btns {
  padding-right: 80px;
  margin-right: 33px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .site-header .header-btns {
    padding-right: calc(80 / var(--width) * 100vw);
    margin-right: calc(33 / var(--width) * 100vw);
  }
}
.site-header .header-btns ul {
  display: flex;
  align-items: center;
}
.site-header .header-btns ul li img {
  vertical-align: bottom;
}
.site-header .header-btns ul li:not(:last-child) {
  margin-right: 20px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .site-header .header-btns ul li:not(:last-child) {
    margin-right: calc(20 / var(--width) * 100vw);
  }
}
.site-header .header-btns ul li.tel {
  width: 178px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .site-header .header-btns ul li.tel {
    width: calc(178 / var(--width) * 100vw);
  }
}
.site-header .header-btns ul li.btn-mail a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 200px;
  height: 36px;
  color: #fff;
  text-decoration: none;
  background: var(--main-color);
  border-radius: 8px;
  transition: all .3s ease;
  font-weight: 500;
  font-size: 1.2rem;
  letter-spacing: 0.2em;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .site-header .header-btns ul li.btn-mail a {
    width: calc(200 / var(--width) * 100vw);
    height: calc(36 / var(--width) * 100vw);
    font-size: calc(12 / var(--width) * 100vw);
  }
}
.site-header .header-btns ul li.btn-mail a:hover {
  background: #9FC4C7;
}
.site-header .header-btns ul li.btn-mail a::before {
  content: '';
  width: 16px;
  height: 12px;
  margin-right: 10px;
  background-image: url("../img/icon_mail.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .site-header .header-btns ul li.btn-mail a::before {
    width: calc(16 / var(--width) * 100vw);
    height: calc(12 / var(--width) * 100vw);
    margin-right: calc(12 / var(--width) * 100vw);
  }
}
.site-header .header-side-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80px;
  height: 80px;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 4;
  transition: all .3s ease;
  cursor: pointer;
  background: var(--main-color);
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .site-header .header-side-btn {
    width: calc(80 / var(--width) * 100vw);
    height: calc(80 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .site-header .header-side-btn {
    width: calc(70 / var(--width) * 100vw);
    height: calc(70 / var(--width) * 100vw);
    background-color: inherit;
  }
}
body.open .site-header .header-side-btn {
  transform: translateX(0);
  position: fixed;
  top: 0;
  right: 0;
}
.site-header .header-side-btn .bar {
  display: inline-block;
  position: relative;
  top: 0;
  right: 0;
  width: 50px;
  height: 1px;
  background: #fff;
  transition: all .3s ease;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .site-header .header-side-btn .bar {
    width: calc(50 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .site-header .header-side-btn .bar {
    width: calc(30 / var(--width) * 100vw);
    background: var(--main-color);
  }
}
body.open .site-header .header-side-btn .bar {
  background: transparent;
}
.site-header .header-side-btn .bar::before, .site-header .header-side-btn .bar::after {
  content: '';
  position: absolute;
  left: 0;
  display: block;
  width: 100%;
  height: 1px;
  background: #fff;
  transition: all .3s ease;
}
@media screen and (max-width: 768px) {
  .site-header .header-side-btn .bar::before, .site-header .header-side-btn .bar::after {
    background: var(--main-color);
    left: 50%;
    transform: translateX(-50%);
  }
}
body.open .site-header .header-side-btn .bar::before, body.open .site-header .header-side-btn .bar::after {
  width: 100%;
  top: 0;
  left: 0;
}
@media screen and (max-width: 768px) {
  body.open .site-header .header-side-btn .bar::before, body.open .site-header .header-side-btn .bar::after {
    background: #fff;
  }
}
.site-header .header-side-btn .bar::before {
  top: -10px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .site-header .header-side-btn .bar::before {
    top: calc(-10 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .site-header .header-side-btn .bar::before {
    top: calc(-10 / var(--width) * 100vw);
    width: calc(40 / var(--width) * 100vw);
  }
}
body.open .site-header .header-side-btn .bar::before {
  transform: rotate(-135deg);
}
.site-header .header-side-btn .bar::after {
  top: 10px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .site-header .header-side-btn .bar::after {
    top: calc(10 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .site-header .header-side-btn .bar::after {
    top: calc(10 / var(--width) * 100vw);
    width: calc(20 / var(--width) * 100vw);
  }
}
body.open .site-header .header-side-btn .bar::after {
  transform: rotate(135deg);
}
@media screen and (min-width: 769px) {
  body:not(.open) .site-header .header-side-btn.header-side-btn__index {
    background: #fff;
  }
}
body:not(.open) .site-header .header-side-btn.header-side-btn__index .bar, body:not(.open) .site-header .header-side-btn.header-side-btn__index .bar::before, body:not(.open) .site-header .header-side-btn.header-side-btn__index .bar::after {
  background: var(--main-color);
}
@media screen and (max-width: 768px) {
  body:not(.open) .site-header .header-side-btn.header-side-btn__index .bar, body:not(.open) .site-header .header-side-btn.header-side-btn__index .bar::before, body:not(.open) .site-header .header-side-btn.header-side-btn__index .bar::after {
    background: #fff;
  }
}

.top-menu {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  position: fixed;
  top: 0;
  right: -120%;
  z-index: 3;
  width: calc(100% - 40px);
  height: 100vh;
  padding: 110px 0 90px;
  background: var(--main-color);
  opacity: 0;
  transition: all .3s ease;
  box-sizing: border-box;
  overflow-y: auto;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .top-menu {
    padding: calc(110 / var(--width) * 100vw) 0 calc(90 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .top-menu {
    display: block;
    width: 100%;
    padding: calc(100 / var(--width) * 100vw) calc(23 / var(--width) * 100vw) calc(45 / var(--width) * 100vw);
  }
}
body.open .top-menu {
  right: 0;
  opacity: 1;
}
.top-menu .inner {
  width: 840px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .top-menu .inner {
    width: calc(840 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .top-menu .inner {
    width: 100%;
  }
}
.top-menu nav {
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .top-menu .logo {
    margin-top: calc(32 / var(--width) * 100vw);
    text-align: center;
  }
  .top-menu .logo img {
    width: calc(145 / var(--width) * 100vw);
  }
}
.top-menu .contact-btns {
  display: flex;
  color: #000;
  margin-top: 94px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .top-menu .contact-btns {
    margin-top: calc(94 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .top-menu .contact-btns {
    display: none;
  }
}
.top-menu .contact-btns li {
  flex-basis: 50%;
}
.top-menu .contact-btns li:last-child {
  margin-left: 40px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .top-menu .contact-btns li:last-child {
    margin-left: calc(40 / var(--width) * 100vw);
  }
}
.top-menu .contact-btns li a {
  display: flex;
  justify-content: center;
  align-items: center;
  color: inherit;
  text-decoration: none;
  background: #fff;
  transition: all .3s ease;
  height: 66px;
  font-size: 1.0rem;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .top-menu .contact-btns li a {
    height: calc(66 / var(--width) * 100vw);
  }
}
.top-menu .contact-btns li span + span {
  margin-left: 30px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .top-menu .contact-btns li span + span {
    margin-left: calc(30 / var(--width) * 100vw);
  }
}
.top-menu .contact-btns li:first-child a {
  padding: 0 27px 0 14px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .top-menu .contact-btns li:first-child a {
    padding: 0 calc(27 / var(--width) * 100vw) 0 calc(14 / var(--width) * 100vw);
  }
}
.top-menu .contact-btns li:last-child a {
  font-weight: 500;
  font-size: 1.2rem;
  color: #323232;
  font-size: calc(12 / var(--width) * 100vw);
}
.top-menu .contact-btns li:last-child a:hover {
  background-color: rgba(255, 255, 255, 0.7);
}

@media screen and (min-width: 769px) {
  .gnav {
    display: grid;
    grid-template-columns: 1fr 1.5fr 1.2fr 1fr;
    grid-template-rows: auto;
    grid-column-gap: 0px;
    grid-row-gap: 0px;
  }
  .top-menu .gnav {
    padding: 0 20px;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) and (max-width: 1140px) {
  .top-menu .gnav {
    padding: 0 calc(20 / var(--width) * 100vw);
  }
}
@media screen and (min-width: 769px) {
  .gnav > li:not(:first-child, :last-child) {
    margin-top: 40px;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) and (max-width: 1140px) {
  .gnav > li:not(:first-child, :last-child) {
    margin-top: calc(40 / var(--width) * 100vw);
  }
}
@media screen and (min-width: 769px) {
  .gnav > li a {
    color: inherit;
    text-decoration: none;
    position: relative;
    transition: all .3s ease;
  }
  .gnav > li a::before {
    content: '';
    width: 0;
    height: 1px;
    background-color: #fff;
    display: block;
    position: absolute;
    bottom: -1px;
    left: 0;
    transition: all .3s ease;
  }
  .site-footer .gnav > li a::before {
    background-color: var(--main-color);
  }
  .site-footer .gnav > li a:hover {
    color: var(--main-color);
  }
  .gnav > li a:hover::before {
    width: 100%;
  }
  .gnav > li.home {
    grid-area: 1 / 1 / 2 / 2;
  }
  .gnav > li.company {
    grid-area: 2 / 1 / 3 / 2;
  }
  .gnav > li.parking {
    grid-area: 2 / 2 / 5 / 3;
  }
  .gnav > li.demolition {
    grid-area: 2 / 3 / 3 / 4;
  }
  .gnav > li.works {
    grid-area: 2 / 4 / 3 / 5;
  }
  .gnav > li.recruit {
    grid-area: 3 / 3 / 5 / 4;
  }
  .gnav > li.contact {
    grid-area: 3 / 4 / 4 / 5;
    margin-top: -21px;
  }
  .gnav > li.policy {
    grid-area: 4 / 4 / 5 / 5;
    margin-top: -50px;
  }
  .gnav > li > a {
    font-size: 1.5rem;
    line-height: 2;
    letter-spacing: 0.08em;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) and (max-width: 1140px) {
  .gnav > li > a {
    font-size: calc(15 / var(--width) * 100vw);
  }
}
@media screen and (min-width: 769px) {
  .gnav > li > a::after {
    content: '';
    display: block;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    left: 0;
    bottom: -18px;
  }
  .gnav > li > a[data-title="TOP"]::after {
    width: 15px;
    height: 13px;
    background-image: url("../img/text_top.svg");
  }
  .site-footer .gnav > li > a[data-title="TOP"]::after {
    background-image: url("../img/text_top_blue.svg");
  }
  .gnav > li > a[data-title="Company Information"]::after {
    width: 95px;
    height: 13px;
    background-image: url("../img/text_company-information.svg");
  }
  .site-footer .gnav > li > a[data-title="Company Information"]::after {
    background-image: url("../img/text_company-information_blue.svg");
  }
  .gnav > li > a[data-title="Coin Parking"]::after {
    width: 95px;
    height: 13px;
    background-image: url("../img/text_coin-parking.svg");
  }
  .site-footer .gnav > li > a[data-title="Coin Parking"]::after {
    background-image: url("../img/text_coin-parking_blue.svg");
  }
  .gnav > li > a[data-title="Demolition"]::after {
    width: 47px;
    height: 10px;
    background-image: url("../img/text_demolition.svg");
  }
  .site-footer .gnav > li > a[data-title="Demolition"]::after {
    background-image: url("../img/text_demolition_blue.svg");
  }
  .gnav > li > a[data-title="Recruit"]::after {
    width: 30px;
    height: 10px;
    background-image: url("../img/text_recruit.svg");
  }
  .site-footer .gnav > li > a[data-title="Recruit"]::after {
    background-image: url("../img/text_recruit_blue.svg");
  }
  .gnav > li > a[data-title="Works"]::after {
    width: 27px;
    height: 10px;
    background-image: url("../img/text_works.svg");
  }
  .site-footer .gnav > li > a[data-title="Works"]::after {
    background-image: url("../img/text_works_blue.svg");
  }
  .gnav > li > a[data-title="Contact"]::after {
    width: 32px;
    height: 10px;
    background-image: url("../img/text_contact.svg");
  }
  .site-footer .gnav > li > a[data-title="Contact"]::after {
    background-image: url("../img/text_contact_blue.svg");
  }
  .gnav > li > a[data-title="Privacy Policy"]::after {
    width: 61px;
    height: 13px;
    background-image: url("../img/text_privacy-policy.svg");
  }
  .site-footer .gnav > li > a[data-title="Privacy Policy"]::after {
    background-image: url("../img/text_privacy-policy_blue.svg");
  }
  .gnav > li > ul {
    margin: 36px 0 0 16px;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) and (max-width: 1140px) {
  .gnav > li > ul {
    margin: calc(36 / var(--width) * 100vw) 0 0 calc(16 / var(--width) * 100vw);
  }
}
@media screen and (min-width: 769px) {
  .gnav > li > ul > li {
    font-size: 1.4rem;
    line-height: 2.3;
    position: relative;
    padding-left: 1em;
  }
}
@media screen and (min-width: 769px) and (min-width: 769px) and (max-width: 1140px) {
  .gnav > li > ul > li {
    font-size: calc(14 / var(--width) * 100vw);
  }
}
@media screen and (min-width: 769px) {
  .gnav > li > ul > li::after {
    content: '-';
    position: absolute;
    left: 0;
  }
}
@media screen and (max-width: 768px) {
  .gnav {
    margin-bottom: calc(41 / var(--width) * 100vw);
  }
  .gnav > li {
    font-size: calc(15 / var(--width) * 100vw);
    letter-spacing: 0.08em;
    line-height: 2;
    position: relative;
  }
  .gnav > li a {
    color: #fff;
    text-decoration: none;
    display: inline-block;
    min-width: calc(100% - 40px);
  }
  .gnav > li a .icon-toggle::after {
    display: block;
    content: '';
    width: calc(10 / var(--width) * 100vw);
    height: calc(10 / var(--width) * 100vw);
    border: 1px solid #fff;
    border-left-width: 0;
    border-top-width: 0;
    transform: rotate(45deg);
    position: absolute;
    top: calc(10 / var(--width) * 100vw);
    right: calc(10 / var(--width) * 100vw);
    z-index: 2;
    transition: all .3s ease;
  }
  .gnav > li.active a .icon-toggle::after {
    transform: rotate(-135deg);
    top: calc(15 / var(--width) * 100vw);
  }
  .gnav > li a[target="_blank"] {
    position: relative;
    padding-right: calc(25 / var(--width) * 100vw);
    display: inline-block;
    min-width: inherit;
  }
  .gnav > li a[target="_blank"]::after {
    content: '';
    display: block;
    width: calc(16 / var(--width) * 100vw);
    height: calc(16 / var(--width) * 100vw);
    background-image: url("../img/icon_blank.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
  }
  .gnav > li + li {
    margin-top: calc(37 / var(--width) * 100vw);
  }
  .gnav > li > ul {
    display: none;
    padding-top: calc(20 / var(--width) * 100vw);
    padding-left: calc(16 / var(--width) * 100vw);
    margin-top: calc(11 / var(--width) * 100vw);
    border-top: 1px solid #fff;
  }
  .gnav > li > ul > li {
    font-size: calc(14 / var(--width) * 100vw);
    line-height: 2.8;
    position: relative;
  }
  .gnav > li > ul > li a {
    display: block;
    padding-left: 1em;
  }
  .gnav > li > ul > li::before {
    content: '- ';
    position: absolute;
    left: 0;
  }
}

.overlay {
  content: '';
  visibility: hidden;
  position: fixed;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: transparent;
  transition: all .3s ease;
  z-index: 1;
}
body.open .overlay {
  visibility: visible;
  cursor: pointer;
  background: rgba(0, 0, 0, 0.5);
}

.common-footer {
  padding: 100px 0;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .common-footer {
    padding: calc(100 / var(--width) * 100vw) 0;
  }
}
@media screen and (max-width: 768px) {
  .common-footer {
    padding: calc(40 / var(--width) * 100vw) 0;
  }
  .top-menu .common-footer {
    padding: 0;
  }
}
@media screen and (max-width: 768px) {
  .common-footer .container {
    padding: 0 calc(13 / var(--width) * 100vw);
  }
  .top-menu .common-footer .container {
    padding: 0;
  }
}

.common-footer-contact {
  background-color: #fff;
  padding: 41px 51px 27px;
  border: 9px solid #8EA5A8;
  color: #88A6A9;
  text-align: center;
  letter-spacing: 0.08em;
  line-height: 2;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .common-footer-contact {
    padding: calc(41 / var(--width) * 100vw) calc(51 / var(--width) * 100vw) calc(27 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .common-footer-contact {
    padding: calc(39 / var(--width) * 100vw) calc(31 / var(--width) * 100vw) calc(41 / var(--width) * 100vw);
    letter-spacing: 0;
    line-height: 1.57;
  }
  .top-menu .common-footer-contact {
    border: none;
  }
}
.common-footer-contact .title {
  font-weight: 500;
  font-size: 1.2rem;
  position: relative;
  padding-top: 62px;
  margin-bottom: 41px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .common-footer-contact .title {
    font-size: calc(12 / var(--width) * 100vw);
    padding-top: calc(62 / var(--width) * 100vw);
    margin-bottom: calc(41 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .common-footer-contact .title {
    font-size: calc(12 / var(--width) * 100vw);
    padding-top: calc(42 / var(--width) * 100vw);
    margin-bottom: calc(41 / var(--width) * 100vw);
  }
}
.common-footer-contact .title::before {
  content: '';
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 50%;
  width: 130px;
  height: 41px;
  background-image: url("../../assets/img/text_contact_8ea5a8.svg");
  transform: translateX(-50%);
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .common-footer-contact .title::before {
    width: calc(130 / var(--width) * 100vw);
    height: calc(41 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .common-footer-contact .title::before {
    width: calc(104 / var(--width) * 100vw);
    height: calc(32 / var(--width) * 100vw);
  }
}
@media screen and (min-width: 769px) {
  .common-footer-contact .inner {
    display: flex;
    justify-content: center;
    gap: 152px;
  }
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .common-footer-contact .inner {
    gap: calc(152 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .common-footer-contact .inner .col {
    white-space: nowrap;
  }
}
.common-footer-contact .inner .col p:first-child {
  margin-bottom: 31px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .common-footer-contact .inner .col p:first-child {
    margin-bottom: calc(31 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .common-footer-contact .inner .col p:first-child {
    margin-bottom: calc(37 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .common-footer-contact .inner .col:last-child {
    margin-top: calc(37 / var(--width) * 100vw);
  }
}

.site-footer {
  background: #F4F6F6;
  padding: 90px 0 40px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .site-footer {
    padding: calc(90 / var(--width) * 100vw) 0 calc(40 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .site-footer {
    padding: calc(60 / var(--width) * 100vw) 0 calc(20 / var(--width) * 100vw);
  }
}
.site-footer .inner {
  margin-bottom: 30px;
}
@media screen and (min-width: 769px) {
  .site-footer .inner {
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .site-footer .inner {
    margin-bottom: calc(30 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .site-footer .inner {
    margin-bottom: calc(63 / var(--width) * 100vw);
  }
}
@media screen and (min-width: 769px) {
  .site-footer .footer-address {
    margin-right: 20px;
  }
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .site-footer .footer-address {
    margin-right: calc(20 / var(--width) * 100vw);
  }
}
.site-footer .footer-address .logo {
  width: 174px;
  margin-bottom: 43px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .site-footer .footer-address .logo {
    width: calc(174 / var(--width) * 100vw);
    margin-bottom: calc(43 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .site-footer .footer-address .logo {
    width: calc(162 / var(--width) * 100vw);
    margin-bottom: calc(20 / var(--width) * 100vw);
    margin-left: auto;
    margin-right: auto;
  }
}
.site-footer .footer-address address {
  margin-bottom: 44px;
  font-style: normal;
  font-weight: 500;
  font-size: 1.4rem;
  letter-spacing: 0.08em;
  line-height: 1.4;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .site-footer .footer-address address {
    margin-bottom: calc(44 / var(--width) * 100vw);
    font-size: calc(14 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .site-footer .footer-address address {
    margin-bottom: 0;
    font-size: calc(14 / var(--width) * 100vw);
    text-align: center;
  }
}
.site-footer .footer-address address p + p {
  margin-top: 27px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .site-footer .footer-address address p + p {
    margin-top: calc(27 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .site-footer .footer-address address p + p {
    margin-top: calc(36 / var(--width) * 100vw);
  }
}
.site-footer .footer-address address .text-tel {
  width: 207px;
  margin-top: 20px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .site-footer .footer-address address .text-tel {
    width: calc(207 / var(--width) * 100vw);
    margin-top: calc(20 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .site-footer .footer-address address .text-tel {
    width: calc(207 / var(--width) * 100vw);
    margin-top: calc(20 / var(--width) * 100vw);
  }
}
.site-footer .footer-address .btn-square a {
  width: 280px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .site-footer .footer-address .btn-square a {
    width: calc(280 / var(--width) * 100vw);
  }
}
.site-footer .footer-nav {
  width: 808px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .site-footer .footer-nav {
    width: calc(808 / var(--width) * 100vw);
  }
}
.site-footer .copyright {
  color: var(--main-color);
  font-size: 1.0rem;
  line-height: 1.5;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .site-footer .copyright {
    font-size: calc(10 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .site-footer .copyright {
    font-size: calc(10 / var(--width) * 100vw);
    text-align: center;
  }
}

.main {
  line-height: 2;
}
@media screen and (min-width: 769px) {
  .main {
    letter-spacing: 0.08em;
  }
}

.fix-footer-nav {
  width: 100%;
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 1;
  background-color: var(--main-color);
}
@media screen and (min-width: 769px) {
  .fix-footer-nav {
    display: none;
  }
}
.fix-footer-nav ul {
  display: flex;
}
.fix-footer-nav ul li {
  flex-basis: 33.333%;
  display: block;
  text-align: center;
  height: calc(60 / var(--width) * 100vw);
  position: relative;
}
.fix-footer-nav ul li:not(:first-child)::before {
  content: '';
  display: block;
  width: 1px;
  height: calc(40 / var(--width) * 100vw);
  background-color: #fff;
  position: absolute;
  left: 0;
  top: calc(10 / var(--width) * 100vw);
}
.fix-footer-nav ul li a {
  font-size: calc(11 / var(--width) * 100vw);
  line-height: 2;
  color: #fff;
  text-decoration: none;
  position: relative;
}
.fix-footer-nav ul li a::before {
  content: '';
  display: block;
  width: calc(22 / var(--width) * 100vw);
  height: calc(22 / var(--width) * 100vw);
  margin: calc(9 / var(--width) * 100vw) auto calc(5 / var(--width) * 100vw);
  background-image: url("../img/icon_tel.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.fix-footer-nav ul li a.mail::before {
  background-image: url("../img/icon_mail.svg");
}
.fix-footer-nav ul li a.map::before {
  background-image: url("../img/icon_map.svg");
}

/*------------------------------
    COMMON STYLE
--------------------------------*/
.section {
  margin-bottom: 200px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .section {
    margin-bottom: calc(200 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .section {
    margin-bottom: calc(120 / var(--width) * 100vw);
  }
}
.section:last-child {
  margin-bottom: 100px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .section:last-child {
    margin-bottom: calc(100 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .section:last-child {
    margin-bottom: calc(80 / var(--width) * 100vw);
  }
}
.section.section-bg:last-child {
  margin-bottom: 0;
}

.container {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 60px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .container {
    max-width: calc(1000 / var(--width) * 100vw);
    padding: 0 calc(60 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .container {
    padding: 0 calc(23 / var(--width) * 100vw);
  }
}

.container-small {
  max-width: 828px;
  margin: 0 auto;
  padding: 0 60px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .container-small {
    max-width: calc(828 / var(--width) * 100vw);
    padding: 0 calc(60 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .container-small {
    padding: 0 calc(23 / var(--width) * 100vw);
  }
}

.container-x-small {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 60px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .container-x-small {
    max-width: calc(800 / var(--width) * 100vw);
    padding: 0 calc(60 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .container-x-small {
    padding: 0 calc(23 / var(--width) * 100vw);
  }
}

.container-full {
  padding: 0 60px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .container-full {
    padding: 0 calc(60 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .container-full {
    padding: 0 calc(23 / var(--width) * 100vw);
  }
}

@media screen and (min-width: 769px) {
  .sp-visible {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .pc-visible {
    display: none;
  }
}

.js-animation {
  opacity: 0;
  transition: all 1s ease;
}
.js-animation.on {
  opacity: 1;
}
.js-animation.fade {
  transform: translateY(40px);
}
.js-animation.fade.on {
  transform: translateY(0px);
}

.text-small {
  font-size: 1.2rem;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .text-small {
    font-size: calc(12 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .text-small {
    font-size: calc(12 / var(--width) * 100vw);
  }
}

.text-caution {
  color: #E8495B;
}

.img-full img, .img-full {
  width: 100%;
}

.text-bold {
  font-weight: 500;
}

/*------------------------------
    COMMON PARTS
--------------------------------*/
.btn-square a {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  text-decoration: none;
  background: var(--main-color);
  transition: all .3s ease;
  font-weight: 500;
  font-size: 1.2rem;
  letter-spacing: 0;
}
@media screen and (min-width: 769px) {
  .btn-square a {
    width: 400px;
    height: 66px;
  }
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .btn-square a {
    width: calc(400 / var(--width) * 100vw);
    height: calc(66 / var(--width) * 100vw);
    font-size: calc(12 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .btn-square a {
    width: 100%;
    height: calc(66 / var(--width) * 100vw);
    font-size: calc(12 / var(--width) * 100vw);
    font-weight: normal;
  }
}
.btn-square a:hover {
  background: #9FC4C7;
}

.btn-round {
  display: block;
  margin: 0 auto;
  font-weight: 500;
  font-size: 1.2rem;
  max-width: 100%;
}
@media screen and (min-width: 769px) {
  .btn-round {
    width: 400px;
    height: 64px;
  }
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .btn-round {
    font-weight: normal;
    width: calc(400 / var(--width) * 100vw);
    height: calc(64 / var(--width) * 100vw);
    font-size: calc(12 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .btn-round {
    width: 100%;
    height: calc(64 / var(--width) * 100vw);
    font-size: calc(12 / var(--width) * 100vw);
  }
}
.btn-round a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  color: #fff;
  text-decoration: none;
  transition: all .3s ease;
  color: var(--main-color);
  border: 1px solid var(--main-color);
  border-radius: 50px;
  letter-spacing: 0;
}
.btn-round a:hover {
  background: var(--main-color);
  color: #fff;
}
@media screen and (max-width: 768px) {
  .btn-round a {
    border-radius: calc(50 / var(--width) * 100vw);
  }
}
.btn-round.btn-round__wh a {
  background: #fff;
}
.btn-round.btn-round__wh a:hover {
  color: #9FC4C7;
}
.btn-round.btn-round__parking a {
  color: var(--main-color-parking);
  border-color: var(--main-color-parking);
}
.btn-round.btn-round__parking a:hover {
  color: #fff;
  background: var(--main-color-parking);
}
.btn-round.btn-round__parking-reverse a {
  background: var(--main-color-parking);
  color: #fff;
  border: none;
}
.btn-round.btn-round__parking-reverse a:hover {
  border: none;
  background: #97d8e9;
}

.btn-round-arrow {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  margin: 0 auto;
  width: 400px;
  height: 64px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .btn-round-arrow {
    width: calc(400 / var(--width) * 100vw);
    height: calc(64 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .btn-round-arrow {
    width: 100%;
    height: calc(64 / var(--width) * 100vw);
  }
}
.btn-round-arrow::before, .btn-round-arrow::after {
  content: '';
  position: absolute;
  right: 10px;
  z-index: 2;
}
.btn-round-arrow::before {
  width: 16px;
  height: 1px;
  background: #323232;
}
.btn-round-arrow::after {
  width: 5px;
  height: 5px;
  border-top: 1px solid #323232;
  border-right: 1px solid #323232;
  transform: rotate(45deg);
}
.btn-round-arrow:hover::before {
  background: #fff;
}
.btn-round-arrow:hover::after {
  border-color: #fff;
}
.btn-round-arrow a {
  z-index: 1;
  transition: .3s;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  color: #fff;
  text-decoration: none;
  transition: all .3s ease;
  font-weight: 500;
  font-size: 1.2rem;
  color: #323232;
  border: 1px solid #323232;
  border-radius: 50px;
  letter-spacing: 0;
  overflow: hidden;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .btn-round-arrow a {
    font-size: calc(12 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .btn-round-arrow a {
    font-weight: normal;
    font-size: calc(12 / var(--width) * 100vw);
    border-radius: calc(50 / var(--width) * 100vw);
  }
}
.btn-round-arrow a::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background: var(--main-color);
  transform-origin: 100% 50%;
  transform: scaleX(0);
  transition: transform ease .3s;
  border-radius: 50px;
}
.btn-round-arrow a:hover {
  color: #fff;
  border-color: var(--main-color);
}
.btn-round-arrow a:hover::before {
  transform-origin: 0% 50%;
  transform: scaleX(1);
}

.btn-round-arrow-parking {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  margin: 0 auto;
  width: 400px;
  height: 64px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .btn-round-arrow-parking {
    width: calc(400 / var(--width) * 100vw);
    height: calc(64 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .btn-round-arrow-parking {
    width: 100%;
    height: calc(64 / var(--width) * 100vw);
  }
}
.btn-round-arrow-parking::before, .btn-round-arrow-parking::after {
  content: '';
  position: absolute;
  right: 10px;
  z-index: 2;
}
.btn-round-arrow-parking::before {
  width: 16px;
  height: 1px;
  background: #fff;
}
.btn-round-arrow-parking::after {
  width: 5px;
  height: 5px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
}
.btn-round-arrow-parking:hover::before {
  background: #fff;
}
.btn-round-arrow-parking:hover::after {
  border-color: #fff;
}
.btn-round-arrow-parking a {
  z-index: 1;
  transition: .3s;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  color: #fff;
  text-decoration: none;
  transition: all .3s ease;
  font-weight: 500;
  font-size: 1.2rem;
  background: var(--main-color-parking);
  border-radius: 50px;
  letter-spacing: 0;
  overflow: hidden;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .btn-round-arrow-parking a {
    font-size: calc(12 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .btn-round-arrow-parking a {
    font-weight: normal;
    font-size: calc(12 / var(--width) * 100vw);
    border-radius: calc(50 / var(--width) * 100vw);
  }
}
.btn-round-arrow-parking a::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background: #A4DDEB;
  transform-origin: 100% 50%;
  transform: scaleX(0);
  transition: transform ease .3s;
  border-radius: 50px;
}
.btn-round-arrow-parking a:hover {
  color: #fff;
}
.btn-round-arrow-parking a:hover::before {
  transform-origin: 0% 50%;
  transform: scaleX(1);
}

.page-title-wrap {
  min-height: 328px;
  margin-bottom: 120px;
  position: relative;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center bottom;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .page-title-wrap {
    min-height: calc(328 / var(--width) * 100vw);
    margin-bottom: calc(120 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .page-title-wrap {
    min-height: calc(180 / var(--width) * 100vw);
    margin-bottom: calc(100 / var(--width) * 100vw);
  }
}
.page-title-wrap .inner {
  position: absolute;
  top: 240px;
}
@media screen and (min-width: 769px) {
  .page-title-wrap .inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
  }
}
@media screen and (min-width: 769px) and (max-width: 1366px) {
  .page-title-wrap .inner {
    top: calc(240 / 1366 * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .page-title-wrap .inner {
    top: calc(120 / var(--width) * 100vw);
  }
}
.page-title-wrap .page-title {
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.43;
  position: relative;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .page-title-wrap .page-title {
    font-size: calc(14 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .page-title-wrap .page-title {
    font-size: calc(12 / var(--width) * 100vw);
    font-weight: normal;
    line-height: 1.66;
  }
}
.page-title-wrap .page-title::before {
  content: '';
  display: block;
  height: 52px;
  background-repeat: no-repeat;
  background-size: contain;
  margin-bottom: 5px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .page-title-wrap .page-title::before {
    height: calc(52 / var(--width) * 100vw);
    margin-bottom: calc(5 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .page-title-wrap .page-title::before {
    height: calc(48 / var(--width) * 100vw);
    margin-bottom: 0;
  }
}
.page-title-wrap .page-title[data-title="Company Information"]::before {
  width: 330px;
  background-image: url("../img/text_company-information_blk.svg");
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .page-title-wrap .page-title[data-title="Company Information"]::before {
    width: calc(330 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .page-title-wrap .page-title[data-title="Company Information"]::before {
    width: calc(266 / var(--width) * 100vw);
  }
}
.page-title-wrap .page-title[data-title="Demolition"]::before {
  width: 188px;
  background-image: url("../img/text_demolition_blk.svg");
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .page-title-wrap .page-title[data-title="Demolition"]::before {
    width: calc(188 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .page-title-wrap .page-title[data-title="Demolition"]::before {
    width: calc(132 / var(--width) * 100vw);
  }
}
.page-title-wrap .page-title[data-title="Recruit"]::before {
  width: 120px;
  background-image: url("../img/text_recruit_blk.svg");
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .page-title-wrap .page-title[data-title="Recruit"]::before {
    width: calc(120 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .page-title-wrap .page-title[data-title="Recruit"]::before {
    width: calc(84 / var(--width) * 100vw);
  }
}
.page-title-wrap .page-title[data-title="Works"]::before {
  width: 107px;
  background-image: url("../img/text_works_blk.svg");
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .page-title-wrap .page-title[data-title="Works"]::before {
    width: calc(107 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .page-title-wrap .page-title[data-title="Works"]::before {
    width: calc(75 / var(--width) * 100vw);
  }
}
.page-title-wrap .page-title[data-title="Privacy Policy"]::before {
  width: 245px;
  background-image: url("../img/text_privacy-policy_blk.svg");
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .page-title-wrap .page-title[data-title="Privacy Policy"]::before {
    width: calc(245 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .page-title-wrap .page-title[data-title="Privacy Policy"]::before {
    width: calc(171 / var(--width) * 100vw);
  }
}
.page-title-wrap .page-title[data-title="Contact"]::before {
  width: 130px;
  background-image: url("../img/text_contact_blk.svg");
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .page-title-wrap .page-title[data-title="Contact"]::before {
    width: calc(130 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .page-title-wrap .page-title[data-title="Contact"]::before {
    width: calc(91 / var(--width) * 100vw);
  }
}
.page-title-wrap .page-title[data-title="Coin Parking"]::before {
  width: 218px;
  background-image: url("../img/text_coin-parking_blk.svg");
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .page-title-wrap .page-title[data-title="Coin Parking"]::before {
    width: calc(218 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .page-title-wrap .page-title[data-title="Coin Parking"]::before {
    width: calc(160 / var(--width) * 100vw);
  }
}

.page-nav {
  display: flex;
}
@media screen and (max-width: 768px) {
  .page-nav {
    margin-top: calc(37 / var(--width) * 100vw);
  }
}
.page-nav li {
  position: relative;
  margin-top: -15px;
  line-height: 2.86;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .page-nav li {
    margin-top: calc(-15 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .page-nav li {
    margin-top: 0;
  }
}
.page-nav li:not(:first-child) {
  padding-left: 60px;
  margin-left: 60px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .page-nav li:not(:first-child) {
    padding-left: calc(60 / var(--width) * 100vw);
    margin-left: calc(60 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .page-nav li:not(:first-child) {
    padding-left: calc(30 / var(--width) * 100vw);
    margin-left: calc(30 / var(--width) * 100vw);
  }
}
.page-nav li:not(:first-child)::before {
  content: '';
  display: block;
  width: 1px;
  height: 25px;
  background: #E0E0E0;
  position: absolute;
  top: 15px;
  left: 0;
}
.page-nav li a {
  text-decoration: none;
  color: var(--main-color);
  font-weight: 500;
  font-size: 1.4rem;
  position: relative;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .page-nav li a {
    font-size: calc(14 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .page-nav li a {
    font-weight: normal;
    font-size: calc(13 / var(--width) * 100vw);
  }
}
.page-nav li a::after {
  content: '';
  display: block;
  height: 6px;
  width: 6px;
  border: 1px solid var(--main-color);
  border-left-width: 0;
  border-top-width: 0;
  transform: rotate(45deg) translateX(-50%);
  position: absolute;
  left: 50%;
  bottom: -15px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .page-nav li a::after {
    height: calc(6 / var(--width) * 100vw);
    width: calc(6 / var(--width) * 100vw);
    bottom: calc(-15 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .page-nav li a::after {
    height: calc(6 / var(--width) * 100vw);
    width: calc(6 / var(--width) * 100vw);
    bottom: calc(-15 / var(--width) * 100vw);
  }
}
.page-nav li a:hover {
  color: #9FC4C7;
}
.page-nav li a:hover::after {
  border-color: #9FC4C7;
}
.page-nav li.current a {
  color: #C5DADB;
}
.page-nav li.current a::after {
  border-color: #B4C9CB;
}
.page-nav.page-nav__flat li {
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  .page-nav.page-nav__flat li {
    line-height: 1.3;
  }
}
.page-nav.page-nav__flat li:not(:first-child) {
  padding-left: 40px;
  margin-left: 40px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .page-nav.page-nav__flat li:not(:first-child) {
    padding-left: calc(40 / var(--width) * 100vw);
    margin-left: calc(40 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .page-nav.page-nav__flat li:not(:first-child) {
    padding-left: calc(10 / var(--width) * 100vw);
    margin-left: calc(10 / var(--width) * 100vw);
  }
}
.page-nav.page-nav__flat li::before {
  top: 9px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .page-nav.page-nav__flat li::before {
    top: calc(9 / var(--width) * 100vw);
  }
}
.page-nav.page-nav__flat li a::after {
  display: inline-block;
  position: relative;
  transform: rotate(-45deg) translateX(0);
  top: -2px;
  left: auto;
  bottom: auto;
  margin-left: 20px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .page-nav.page-nav__flat li a::after {
    margin-left: calc(20 / var(--width) * 100vw);
    top: calc(-2 / var(--width) * 100vw);
  }
}
.page-nav.page-nav__flat.page-nav__parking {
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .page-nav.page-nav__flat.page-nav__parking {
    gap: calc(40 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .page-nav.page-nav__flat.page-nav__parking {
    gap: 10px;
  }
}
.page-nav.page-nav__flat.page-nav__parking li {
  padding-left: 0;
  margin-left: 0;
}
@media screen and (max-width: 768px) {
  .page-nav.page-nav__flat.page-nav__parking li {
    flex-basis: calc((100% - 10px * 2) / 3);
  }
}
.page-nav.page-nav__flat.page-nav__parking li::before {
  left: -20px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .page-nav.page-nav__flat.page-nav__parking li::before {
    left: calc(-20 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .page-nav.page-nav__flat.page-nav__parking li::before {
    left: calc(-10 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .page-nav.page-nav__flat.page-nav__parking li:nth-child(4)::before {
    display: none;
  }
}
.page-nav.page-nav__flat.page-nav__parking li a::after {
  margin-left: 5px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .page-nav.page-nav__flat.page-nav__parking li a::after {
    margin-left: calc(5 / var(--width) * 100vw);
  }
}

.section-common-title {
  font-weight: 500;
  font-size: 1.8rem;
  color: var(--main-color);
  margin-bottom: 40px;
  padding-left: 60px;
  position: relative;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .section-common-title {
    font-size: calc(18 / var(--width) * 100vw);
    margin-bottom: calc(40 / var(--width) * 100vw);
    padding-left: calc(60 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .section-common-title {
    font-size: calc(18 / var(--width) * 100vw);
    letter-spacing: 0.08em;
    margin-bottom: calc(40 / var(--width) * 100vw);
    padding-left: calc(60 / var(--width) * 100vw);
  }
}
.section-common-title.section-common-title__mb-s {
  margin-bottom: 20px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .section-common-title.section-common-title__mb-s {
    margin-bottom: calc(20 / var(--width) * 100vw);
  }
}
.section-common-title::before {
  content: '';
  display: block;
  width: 50px;
  height: 1px;
  background: var(--main-color);
  position: absolute;
  top: 50%;
  left: 0;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .section-common-title::before {
    width: calc(50 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .section-common-title::before {
    width: calc(50 / var(--width) * 100vw);
  }
}
.section-common-title.section-common-title__parking {
  color: var(--main-color-parking);
}
.section-common-title.section-common-title__parking::before {
  background: var(--main-color-parking);
}

.section-common-sub-title {
  font-weight: 500;
  font-size: 3.0rem;
  letter-spacing: 0.1em;
  line-height: 1.63;
  color: var(--main-color);
  margin-bottom: 21px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .section-common-sub-title {
    font-size: calc(30 / var(--width) * 100vw);
    margin-bottom: calc(21 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .section-common-sub-title {
    font-size: calc(24 / var(--width) * 100vw);
    margin-bottom: calc(21 / var(--width) * 100vw);
    line-height: 1.5;
    letter-spacing: 0;
  }
}
.section-common-sub-title.section-common-sub-title__parking {
  color: #323232;
}
.section-common-sub-title.section-common-sub-title__parking span {
  color: var(--main-color-parking);
}

p:not(.section-common-title-copy) + .section-common-sub-title {
  margin-top: 60px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  p:not(.section-common-title-copy) + .section-common-sub-title {
    margin-top: calc(60 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  p:not(.section-common-title-copy) + .section-common-sub-title {
    margin-top: calc(30 / var(--width) * 100vw);
  }
}

.section-common-title-copy {
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1;
  margin-bottom: 20px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .section-common-title-copy {
    font-size: calc(18 / var(--width) * 100vw);
    margin-bottom: calc(20 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .section-common-title-copy {
    margin-bottom: calc(15 / var(--width) * 100vw);
  }
}

/*------------------------------
    faq
--------------------------------*/
.list-faq {
  margin-top: 57px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .list-faq {
    margin-top: calc(57 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .list-faq {
    margin-top: calc(30 / var(--width) * 100vw);
  }
}
.list-faq dt, .list-faq dd {
  box-sizing: border-box;
  position: relative;
}
.list-faq dt::before, .list-faq dd::before {
  content: '';
  display: block;
  width: 20px;
  height: 30px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  left: 30px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .list-faq dt::before, .list-faq dd::before {
    width: calc(20 / var(--width) * 100vw);
    height: calc(30 / var(--width) * 100vw);
    left: calc(30 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .list-faq dt::before, .list-faq dd::before {
    width: calc(20 / var(--width) * 100vw);
    height: calc(30 / var(--width) * 100vw);
    left: calc(10 / var(--width) * 100vw);
  }
}
.list-faq dt {
  padding: 31px 30px 30px 86px;
  font-size: 1.6rem;
  font-weight: 500;
  border-top: 1px solid #BCBCBC;
  cursor: pointer;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .list-faq dt {
    font-size: calc(16 / var(--width) * 100vw);
    padding: calc(31 / var(--width) * 100vw) calc(30 / var(--width) * 100vw) calc(30 / var(--width) * 100vw) calc(86 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .list-faq dt {
    font-size: calc(16 / var(--width) * 100vw);
    padding: calc(20 / var(--width) * 100vw) calc(20 / var(--width) * 100vw) calc(20 / var(--width) * 100vw) calc(50 / var(--width) * 100vw);
  }
}
.list-faq dt::before {
  background-image: url("../../demolition/faq/img/icon_q.svg");
}
.list-faq dt .icon-toggle::before, .list-faq dt .icon-toggle::after {
  display: block;
  content: '';
  width: 12px;
  height: 2px;
  background-color: #323232;
  position: absolute;
  top: 50%;
  right: 0;
  transition: all .3s ease;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .list-faq dt .icon-toggle::before, .list-faq dt .icon-toggle::after {
    width: calc(12 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .list-faq dt .icon-toggle::before, .list-faq dt .icon-toggle::after {
    width: calc(12 / var(--width) * 100vw);
  }
}
.list-faq dt .icon-toggle::before {
  transform: rotate(0deg);
}
.list-faq dt .icon-toggle::after {
  transform: rotate(90deg);
}
.list-faq dt.open .icon-toggle::after {
  transform: rotate(0deg);
}
.list-faq dd {
  display: none;
  padding: 0 80px 31px 86px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .list-faq dd {
    padding: 0 calc(80 / var(--width) * 100vw) calc(31 / var(--width) * 100vw) calc(86 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .list-faq dd {
    padding: calc(20 / var(--width) * 100vw) calc(20 / var(--width) * 100vw) calc(20 / var(--width) * 100vw) calc(50 / var(--width) * 100vw);
  }
}
.list-faq dd::before {
  background-image: url("../../demolition/faq/img/icon_a.svg");
}
.list-faq.list-faq__parking {
  margin-top: 87px;
  padding-bottom: 80px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .list-faq.list-faq__parking {
    margin-top: calc(87 / var(--width) * 100vw);
    padding-bottom: calc(80 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .list-faq.list-faq__parking {
    margin-top: calc(40 / var(--width) * 100vw);
    padding-bottom: calc(40 / var(--width) * 100vw);
  }
}
.list-faq.list-faq__parking dd::before {
  background-image: url("../../parking/faq/img/icon_a.svg");
}

/*------------------------------
    flow
--------------------------------*/
.wrap-flow {
  margin-top: 35px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .wrap-flow {
    margin-top: calc(35 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .wrap-flow {
    margin-top: calc(20 / var(--width) * 100vw);
  }
}
.wrap-flow .row {
  display: flex;
  position: relative;
  gap: 40px;
  margin-bottom: 80px;
  padding-left: 60px;
  position: relative;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .wrap-flow .row {
    gap: calc(40 / var(--width) * 100vw);
    margin-bottom: calc(80 / var(--width) * 100vw);
    padding-left: calc(60 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .wrap-flow .row {
    flex-wrap: wrap;
    gap: calc(30 / var(--width) * 100vw);
    margin-bottom: calc(90 / var(--width) * 100vw);
    padding-left: 0;
  }
}
@media screen and (max-width: 768px) {
  .wrap-flow .row figure {
    width: 100%;
    text-align: center;
  }
}
.wrap-flow .row img {
  background-color: #FAFAFA;
  vertical-align: bottom;
  width: 180px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .wrap-flow .row img {
    width: calc(180 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .wrap-flow .row img {
    width: calc(180 / var(--width) * 100vw);
  }
}
.wrap-flow .row::before {
  content: '';
  display: block;
  width: 38px;
  height: 48px;
  background-image: url("../../demolition/flow/img/num_blue_01.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .wrap-flow .row::before {
    width: calc(38 / var(--width) * 100vw);
    height: calc(48 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .wrap-flow .row::before {
    width: calc(38 / var(--width) * 100vw);
    height: calc(48 / var(--width) * 100vw);
    top: 0;
    transform: translateY(0);
  }
}
.wrap-flow .row:nth-child(2)::before {
  background-image: url("../../demolition/flow/img/num_blue_02.svg");
}
.wrap-flow .row:nth-child(3)::before {
  background-image: url("../../demolition/flow/img/num_blue_03.svg");
}
.wrap-flow .row:nth-child(4)::before {
  background-image: url("../../demolition/flow/img/num_blue_04.svg");
}
.wrap-flow .row:nth-child(5)::before {
  background-image: url("../../demolition/flow/img/num_blue_05.svg");
}
.wrap-flow .row:nth-child(6)::before {
  background-image: url("../../demolition/flow/img/num_blue_06.svg");
}
.wrap-flow .row:nth-child(7)::before {
  background-image: url("../../demolition/flow/img/num_blue_07.svg");
}
.wrap-flow .row:not(:last-child)::after {
  content: '';
  display: block;
  width: 36px;
  height: 40px;
  background-image: url("../../demolition/flow/img/arrow_flow.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  left: 132px;
  bottom: -60px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .wrap-flow .row:not(:last-child)::after {
    width: calc(36 / var(--width) * 100vw);
    height: calc(40 / var(--width) * 100vw);
    left: calc(132 / var(--width) * 100vw);
    bottom: calc(-60 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .wrap-flow .row:not(:last-child)::after {
    width: calc(36 / var(--width) * 100vw);
    height: calc(40 / var(--width) * 100vw);
    left: calc(132 / var(--width) * 100vw);
    bottom: calc(-60 / var(--width) * 100vw);
  }
}
.wrap-flow .row .title {
  font-weight: 500;
  font-size: 2.2rem;
  letter-spacing: 0.1em;
  line-height: 1.81;
  color: var(--main-color);
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .wrap-flow .row .title {
    font-size: calc(22 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .wrap-flow .row .title {
    font-size: calc(20 / var(--width) * 100vw);
  }
}
.wrap-flow .row .btn-round {
  width: 280px;
  height: 48px;
  margin: 21px 0 0;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .wrap-flow .row .btn-round {
    width: calc(280 / var(--width) * 100vw);
    height: calc(48 / var(--width) * 100vw);
    margin: calc(21 / var(--width) * 100vw) 0 0;
  }
}
@media screen and (max-width: 768px) {
  .wrap-flow .row .btn-round {
    width: calc(280 / var(--width) * 100vw);
    height: calc(48 / var(--width) * 100vw);
    margin: calc(21 / var(--width) * 100vw) auto 0;
  }
}
.wrap-flow.wrap-flow__parking {
  margin-top: 53px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .wrap-flow.wrap-flow__parking {
    margin-top: calc(53 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .wrap-flow.wrap-flow__parking {
    margin-top: calc(20 / var(--width) * 100vw);
  }
}
.wrap-flow.wrap-flow__parking .row {
  margin-bottom: 120px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .wrap-flow.wrap-flow__parking .row {
    margin-bottom: calc(120 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .wrap-flow.wrap-flow__parking .row {
    margin-bottom: calc(90 / var(--width) * 100vw);
  }
}
.wrap-flow.wrap-flow__parking .row::before {
  background-image: url("../../parking/flow/img/num_blue_01.svg");
}
.wrap-flow.wrap-flow__parking .row:nth-child(2)::before {
  background-image: url("../../parking/flow/img/num_blue_02.svg");
}
.wrap-flow.wrap-flow__parking .row:nth-child(3)::before {
  background-image: url("../../parking/flow/img/num_blue_03.svg");
}
.wrap-flow.wrap-flow__parking .row:not(:last-child)::after {
  content: '';
  display: block;
  width: 36px;
  height: 40px;
  background-image: url("../../parking/flow/img/arrow_flow.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  left: 132px;
  bottom: -80px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .wrap-flow.wrap-flow__parking .row:not(:last-child)::after {
    bottom: calc(-80 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .wrap-flow.wrap-flow__parking .row:not(:last-child)::after {
    bottom: calc(-60 / var(--width) * 100vw);
  }
}
.wrap-flow.wrap-flow__parking .row .point {
  display: flex;
  justify-content: center;
  align-items: center;
  background: var(--main-color-parking);
  color: #fff;
  width: 400px;
  height: 48px;
  position: absolute;
  bottom: -84px;
  font-size: 1.2rem;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .wrap-flow.wrap-flow__parking .row .point {
    width: calc(400 / var(--width) * 100vw);
    height: calc(48 / var(--width) * 100vw);
    bottom: calc(-84 / var(--width) * 100vw);
    font-size: calc(12 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .wrap-flow.wrap-flow__parking .row .point {
    position: relative;
    bottom: auto;
    width: 90%;
    margin: 1em auto 0;
    height: calc(48 / var(--width) * 100vw);
    font-size: calc(12 / var(--width) * 100vw);
  }
}
.wrap-flow.wrap-flow__parking .title {
  color: var(--main-color-parking);
}
.wrap-flow.wrap-flow__parking img {
  background-color: #EBF7FA;
}
