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

/*------------------------------
    company
--------------------------------*/
.section-company-greeting {
  text-align: center;
}
.section-company-greeting .copy {
  font-weight: 500;
  font-size: 2.2rem;
  letter-spacing: 0.1em;
  line-height: 1.8;
  margin-bottom: 47px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .section-company-greeting .copy {
    font-size: calc(22 / var(--width) * 100vw);
    margin-bottom: calc(47 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .section-company-greeting .copy {
    font-size: calc(20 / var(--width) * 100vw);
    letter-spacing: 0.08em;
    margin-bottom: calc(20 / var(--width) * 100vw);
  }
}
.section-company-greeting figure {
  margin-bottom: 60px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .section-company-greeting figure {
    margin-bottom: calc(60 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .section-company-greeting figure {
    margin-bottom: calc(57 / var(--width) * 100vw);
  }
}
.section-company-greeting figure img {
  width: 320px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .section-company-greeting figure img {
    width: calc(320 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .section-company-greeting figure img {
    width: calc(232 / var(--width) * 100vw);
  }
}
.section-company-greeting .title {
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.42;
  position: relative;
  margin-bottom: 60px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .section-company-greeting .title {
    font-size: calc(14 / var(--width) * 100vw);
    margin-bottom: calc(61 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .section-company-greeting .title {
    font-size: calc(16 / var(--width) * 100vw);
    line-height: 1.75;
  }
}
.section-company-greeting .title::after {
  content: '';
  display: block;
  width: 36px;
  height: 1px;
  background: #73BFD8;
  position: absolute;
  left: 50%;
  bottom: -30px;
  transform: translateX(-50%);
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .section-company-greeting .title::after {
    width: calc(36 / var(--width) * 100vw);
    bottom: calc(-30 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .section-company-greeting .title::after {
    width: calc(36 / var(--width) * 100vw);
    bottom: calc(-30 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .section-company-greeting .content {
    text-align: left;
  }
  .section-company-greeting .content br {
    display: none;
  }
}
.section-company-greeting .content p + p {
  margin-top: 1em;
}
.section-company-greeting .signature {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.87;
  margin-top: 61px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .section-company-greeting .signature {
    font-size: calc(16 / var(--width) * 100vw);
    margin-top: calc(61 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .section-company-greeting .signature {
    font-size: calc(16 / var(--width) * 100vw);
    line-height: 1.75;
    margin-top: calc(20 / var(--width) * 100vw);
    text-align: right;
  }
}

.company-profile {
  border-top: 1px solid #BCBCBC;
  line-height: 1.73;
}
@media screen and (min-width: 769px) {
  .company-profile {
    display: flex;
    flex-wrap: wrap;
    line-height: 1.73;
  }
}
@media screen and (max-width: 768px) {
  .company-profile {
    line-height: 1.57;
  }
}
.company-profile dt, .company-profile dd {
  box-sizing: border-box;
}
@media screen and (min-width: 769px) {
  .company-profile dt, .company-profile dd {
    padding: 25px 30px;
    border-bottom: 1px solid #BCBCBC;
  }
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .company-profile dt, .company-profile dd {
    padding: calc(25 / var(--width) * 100vw) calc(30 / var(--width) * 100vw);
  }
}
.company-profile dt {
  flex-basis: 30%;
  font-size: 1.4rem;
  font-weight: 500;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .company-profile dt {
    font-size: calc(14 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .company-profile dt {
    font-size: calc(14 / var(--width) * 100vw);
    padding: calc(12 / var(--width) * 100vw) 0 calc(6 / var(--width) * 100vw);
  }
}
.company-profile dd {
  flex-basis: 70%;
  letter-spacing: 0;
}
@media screen and (max-width: 768px) {
  .company-profile dd {
    padding-bottom: calc(12 / var(--width) * 100vw);
    border-bottom: 1px solid #BCBCBC;
  }
}
@media screen and (max-width: 768px) {
  .company-profile dd .text-small {
    display: block;
    margin-top: calc(16 / var(--width) * 100vw);
  }
}

.section-company-map .address {
  font-size: 1.6rem;
  font-weight: 500;
  margin-bottom: 40px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .section-company-map .address {
    font-size: calc(16 / var(--width) * 100vw);
    margin-bottom: calc(40 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .section-company-map .address {
    font-size: calc(15 / var(--width) * 100vw);
    margin-bottom: calc(40 / var(--width) * 100vw);
  }
}
.section-company-map .address .text-small {
  font-weight: normal;
}
@media screen and (max-width: 768px) {
  .section-company-map .address .text-small {
    display: block;
    margin-top: calc(17 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .section-company-map .googlemap {
    margin: 0 calc(-23 / var(--width) * 100vw);
  }
}
.section-company-map iframe {
  width: 100%;
  height: 400px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .section-company-map iframe {
    height: calc(400 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .section-company-map iframe {
    height: calc(240 / var(--width) * 100vw);
  }
}

/*------------------------------
    contact
--------------------------------*/
.wrap-contact-tel {
  margin-bottom: 60px;
  padding: 30px 0 60px;
  border-bottom: 1px solid #E0E0E0;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .wrap-contact-tel {
    padding: calc(30 / var(--width) * 100vw) 0 calc(60 / var(--width) * 100vw);
    margin-bottom: calc(60 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .wrap-contact-tel {
    padding: calc(15 / var(--width) * 100vw) 0 calc(30 / var(--width) * 100vw);
    margin-bottom: calc(30 / var(--width) * 100vw);
  }
}
.wrap-contact-tel p:first-child {
  margin-bottom: 40px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .wrap-contact-tel p:first-child {
    margin-bottom: calc(40 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .wrap-contact-tel p:first-child {
    margin-bottom: calc(20 / var(--width) * 100vw);
  }
}

.mailform * {
  box-sizing: border-box;
}
.mailform input[type="text"], .mailform input[type="password"], .mailform input[type="email"], .mailform input[type="tel"], .mailform input[type="number"], .mailform textarea {
  border: none;
  font-size: 16px;
  padding: 13px;
  border-radius: 0;
  -webkit-appearance: none;
  line-height: normal;
  border: 1px solid #E0E0E0;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .mailform input[type="text"], .mailform input[type="password"], .mailform input[type="email"], .mailform input[type="tel"], .mailform input[type="number"], .mailform textarea {
    padding: calc(13 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .mailform input[type="text"], .mailform input[type="password"], .mailform input[type="email"], .mailform input[type="tel"], .mailform input[type="number"], .mailform textarea {
    padding: calc(10 / var(--width) * 100vw);
  }
}
.mailform input[type="text"], .mailform input[type="password"], .mailform input[type="email"], .mailform input[type="tel"], .mailform input[type="number"] {
  width: 100%;
  min-height: 47px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .mailform input[type="text"], .mailform input[type="password"], .mailform input[type="email"], .mailform input[type="tel"], .mailform input[type="number"] {
    min-height: calc(47 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .mailform input[type="text"], .mailform input[type="password"], .mailform input[type="email"], .mailform input[type="tel"], .mailform input[type="number"] {
    min-height: inherit;
  }
}
.mailform input[type="text"].size-s, .mailform input[type="password"].size-s, .mailform input[type="email"].size-s, .mailform input[type="tel"].size-s, .mailform input[type="number"].size-s {
  width: 240px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .mailform input[type="text"].size-s, .mailform input[type="password"].size-s, .mailform input[type="email"].size-s, .mailform input[type="tel"].size-s, .mailform input[type="number"].size-s {
    width: calc(240 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .mailform input[type="text"].size-s, .mailform input[type="password"].size-s, .mailform input[type="email"].size-s, .mailform input[type="tel"].size-s, .mailform input[type="number"].size-s {
    width: calc(120 / var(--width) * 100vw);
  }
}
.mailform select {
  border: 1px solid #E0E0E0;
  padding: 0 15px;
  border-radius: 0;
  min-width: 280px;
  min-height: 47px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .mailform select {
    padding: 0 calc(15 / var(--width) * 100vw);
    min-width: calc(280 / var(--width) * 100vw);
    min-height: calc(47 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .mailform select {
    padding: 0 calc(10 / var(--width) * 100vw);
    min-width: calc(200 / var(--width) * 100vw);
    min-height: calc(40 / var(--width) * 100vw);
    height: calc(40 / var(--width) * 100vw);
    color: inherit;
    background: #fff;
  }
}
.mailform textarea {
  width: 100%;
  min-height: 160px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .mailform textarea {
    min-height: calc(160 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .mailform textarea {
    min-height: calc(160 / var(--width) * 100vw);
  }
}
.mailform label input {
  margin-right: 5px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .mailform label input {
    margin-right: calc(5 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .mailform label input {
    margin-right: calc(5 / var(--width) * 100vw);
  }
}
.mailform ::placeholder {
  font-size: 1.2rem;
  font-weight: 500;
  color: #bcbcbc;
  line-height: 1.66;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .mailform ::placeholder {
    font-size: calc(12 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .mailform ::placeholder {
    font-size: calc(12 / var(--width) * 100vw);
  }
}
.mailform .required {
  background: #EBF7FA;
}
.mailform .text-lead {
  margin-bottom: 65px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .mailform .text-lead {
    margin-bottom: calc(65 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .mailform .text-lead {
    margin-bottom: calc(30 / var(--width) * 100vw);
  }
}
.mailform dl.form-content {
  margin-bottom: 50px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .mailform dl.form-content {
    margin-bottom: calc(50 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .mailform dl.form-content {
    margin-bottom: calc(40 / var(--width) * 100vw);
  }
}
.mailform dl.form-content.form-content__info {
  margin-bottom: 0;
}
.mailform dl.form-content dt {
  background-color: #F4F6F6;
  letter-spacing: 0;
  padding: 12px;
  line-height: 1.73;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .mailform dl.form-content dt {
    padding: calc(12 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .mailform dl.form-content dt {
    padding: calc(10 / var(--width) * 100vw);
  }
}
.mailform dl.form-content dd {
  padding: 30px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .mailform dl.form-content dd {
    padding: calc(30 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .mailform dl.form-content dd {
    padding: calc(15 / var(--width) * 100vw);
  }
}
.mailform dl.form-content-inquiry {
  display: flex;
  margin-bottom: 80px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .mailform dl.form-content-inquiry {
    margin-bottom: calc(80 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .mailform dl.form-content-inquiry {
    display: block;
  }
}
.mailform dl.form-content-inquiry dt {
  width: 27.5%;
  padding: 12px;
  letter-spacing: 0;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .mailform dl.form-content-inquiry dt {
    padding: calc(12 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .mailform dl.form-content-inquiry dt {
    width: 100%;
    padding: calc(12 / var(--width) * 100vw);
  }
}
.mailform dl.form-content-inquiry dd {
  width: 72.5%;
  background: #F4F6F6;
  padding: 20px 22px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .mailform dl.form-content-inquiry dd {
    padding: calc(20 / var(--width) * 100vw) calc(22 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .mailform dl.form-content-inquiry dd {
    width: 100%;
    padding: calc(20 / var(--width) * 100vw);
  }
}
.mailform .form-kiyaku {
  text-align: center;
  margin-bottom: 60px;
  letter-spacing: 0;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .mailform .form-kiyaku {
    margin-bottom: calc(60 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .mailform .form-kiyaku {
    margin-bottom: calc(30 / var(--width) * 100vw);
  }
}
.mailform .form-kiyaku .text-link {
  margin-top: 34px;
  font-size: 1.2rem;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .mailform .form-kiyaku .text-link {
    margin-top: calc(34 / var(--width) * 100vw);
    font-size: calc(12 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .mailform .form-kiyaku .text-link {
    margin-top: calc(17 / var(--width) * 100vw);
    font-size: calc(12 / var(--width) * 100vw);
  }
}
.mailform .form-kiyaku label {
  margin-left: 60px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .mailform .form-kiyaku label {
    margin-left: calc(60 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .mailform .form-kiyaku label {
    margin-left: 0;
    display: block;
  }
}
.mailform .form-kiyaku .mfp_err {
  text-align: center;
}
.mailform .form-button .caution {
  margin-bottom: 60px;
  font-size: 1.2rem;
  letter-spacing: 0;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .mailform .form-button .caution {
    margin-bottom: calc(60 / var(--width) * 100vw);
    font-size: calc(12 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .mailform .form-button .caution {
    margin-bottom: calc(30 / var(--width) * 100vw);
    font-size: calc(12 / var(--width) * 100vw);
    text-align: left;
  }
}
.mailform .must {
  font-size: 1.2rem;
  padding: 0 4px;
  margin-left: 10px;
  color: #88A6A9;
  border: 1px solid #8EA5A8;
  background-color: #fff;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .mailform .must {
    font-size: calc(12 / var(--width) * 100vw);
    padding: 0 calc(4 / var(--width) * 100vw);
    margin-left: calc(10 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .mailform .must {
    font-size: calc(12 / var(--width) * 100vw);
    padding: 0 calc(4 / var(--width) * 100vw);
    margin-left: calc(10 / var(--width) * 100vw);
  }
}
.mailform .title-contact-information {
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.77;
  margin-bottom: 30px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .mailform .title-contact-information {
    font-size: calc(18 / var(--width) * 100vw);
    margin-bottom: calc(30 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .mailform .title-contact-information {
    font-size: calc(16 / var(--width) * 100vw);
    margin-bottom: calc(15 / var(--width) * 100vw);
  }
}
.mailform .wrap-inquiry li + li {
  margin-top: 17px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .mailform .wrap-inquiry li + li {
    margin-top: calc(17 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .mailform .wrap-inquiry li + li {
    margin-top: calc(10 / var(--width) * 100vw);
  }
}
.mailform .wrap-inquiry li input {
  margin-right: 15px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .mailform .wrap-inquiry li input {
    margin-right: calc(15 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .mailform .wrap-inquiry li input {
    margin-right: calc(10 / var(--width) * 100vw);
  }
}
.mailform .wrap-input-inline label {
  display: inline-block;
  margin-right: 1.2em;
}
@media screen and (max-width: 768px) {
  .mailform .wrap-input-inline label {
    display: block;
    margin-right: 0;
  }
}
.mailform .wrap-input-inline label + label {
  margin-top: calc(8 / var(--width) * 100vw);
}
.mailform .wrap-email li {
  margin-bottom: 12px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .mailform .wrap-email li {
    margin-bottom: calc(12 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .mailform .wrap-email li {
    margin-bottom: calc(8 / var(--width) * 100vw);
  }
}
.mailform .wrap-email + p {
  letter-spacing: 0;
}
.mailform .wrap-name {
  display: flex;
  flex-wrap: wrap;
}
.mailform .wrap-name li {
  display: flex;
  flex-basis: 50%;
  align-items: center;
  justify-content: space-between;
}
.mailform .wrap-name li:nth-child(odd) {
  padding-right: 52px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .mailform .wrap-name li:nth-child(odd) {
    padding-right: calc(52 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .mailform .wrap-name li:nth-child(odd) {
    padding-right: 0;
  }
}
.mailform .wrap-name li:nth-child(even) {
  padding-left: 49px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .mailform .wrap-name li:nth-child(even) {
    padding-left: calc(49 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .mailform .wrap-name li:nth-child(even) {
    padding-left: calc(10 / var(--width) * 100vw);
  }
}
.mailform .wrap-name li:nth-child(n+3) {
  margin-top: 12px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .mailform .wrap-name li:nth-child(n+3) {
    margin-top: calc(12 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .mailform .wrap-name li:nth-child(n+3) {
    margin-top: calc(8 / var(--width) * 100vw);
  }
}
.mailform .wrap-name li span {
  width: 52px;
  display: inline-block;
  letter-spacing: 0;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .mailform .wrap-name li span {
    width: calc(52 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .mailform .wrap-name li span {
    width: calc(45 / var(--width) * 100vw);
    font-size: calc(13 / var(--width) * 100vw);
  }
}
.mailform .wrap-name li input {
  width: 280px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .mailform .wrap-name li input {
    width: calc(280 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .mailform .wrap-name li input {
    width: 100%;
  }
}
.mailform .wrap-address {
  display: flex;
  flex-wrap: wrap;
}
.mailform .wrap-address li {
  display: flex;
  flex-basis: 100%;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .mailform .wrap-address li {
    display: block;
  }
}
.mailform .wrap-address li + li {
  margin-top: 12px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .mailform .wrap-address li + li {
    margin-top: calc(12 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .mailform .wrap-address li + li {
    margin-top: calc(8 / var(--width) * 100vw);
  }
}
.mailform .wrap-address li:nth-child(-n+2) {
  flex-basis: 50%;
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  .mailform .wrap-address li:nth-child(2) {
    margin-top: calc(8 / var(--width) * 100vw);
  }
}
.mailform .wrap-address li span {
  width: 100px;
  display: inline-block;
  letter-spacing: 0;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .mailform .wrap-address li span {
    width: calc(100 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .mailform .wrap-address li span {
    width: 100%;
    font-size: calc(13 / var(--width) * 100vw);
  }
}
.mailform .wrap-address li input {
  width: 668px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .mailform .wrap-address li input {
    width: calc(668 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .mailform .wrap-address li input {
    width: 100%;
  }
}
.mailform .wrap-address li select {
  margin-left: 3px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .mailform .wrap-address li select {
    margin-left: calc(3 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .mailform .wrap-address li select {
    margin-left: 0;
  }
}

.form-button, .mfp_buttons {
  text-align: center;
}

.form-button button, #mfp_button_send {
  cursor: pointer;
  background: #88A6A9;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 320px;
  height: 80px;
  border: none;
  border-radius: 50px;
  margin: 0 auto;
  font-weight: 500;
  font-size: 1.6rem;
  font-family: inherit;
  position: relative;
  transition: all .3s ease;
  box-sizing: border-box;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .form-button button, #mfp_button_send {
    width: calc(320 / var(--width) * 100vw);
    height: calc(80 / var(--width) * 100vw);
    font-size: calc(16 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .form-button button, #mfp_button_send {
    width: calc(280 / var(--width) * 100vw);
    height: calc(60 / var(--width) * 100vw);
    font-size: calc(15 / var(--width) * 100vw);
  }
}
.form-button button::after, #mfp_button_send::after {
  content: '';
  height: 8px;
  width: 8px;
  display: block;
  border: 1px solid #fff;
  border-left-width: 0;
  border-top-width: 0;
  transform: rotate(-45deg);
  position: absolute;
  top: 50%;
  right: 10px;
  margin-top: -4px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .form-button button::after, #mfp_button_send::after {
    height: calc(8 / var(--width) * 100vw);
    width: calc(8 / var(--width) * 100vw);
    right: calc(10 / var(--width) * 100vw);
    margin-top: calc(-4 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .form-button button::after, #mfp_button_send::after {
    height: calc(6 / var(--width) * 100vw);
    width: calc(6 / var(--width) * 100vw);
    right: calc(10 / var(--width) * 100vw);
    margin-top: calc(-3 / var(--width) * 100vw);
  }
}
.form-button button:hover, #mfp_button_send:hover {
  background-color: #9FC4C7;
}

div#mfp_hidden {
  overflow: hidden;
  width: 1px;
  height: 1px;
  padding: 0px;
  margin: 0px;
}

div#mfp_overlay {
  position: absolute;
  display: none;
  z-index: 10001;
}

div#mfp_overlay_inner {
  background-color: #FFF;
  padding: 15px;
  margin: 0px auto;
  border-radius: 5px;
  box-shadow: 0px 0px 10px #000;
  width: 640px;
  max-width: 90%;
}

div#mfp_overlay_background {
  background-color: #000;
  position: absolute;
  display: none;
  z-index: 10000;
}

div#mfp_loading_screen {
  z-index: 20000;
  opacity: 0.8;
  display: none;
  background-color: #000;
  position: absolute;
}

div#mfp_loading {
  z-index: 20001;
  position: absolute;
  display: none;
  width: 40px;
  height: 40px;
  background-image: url(../../contact/cgi/mailform/mfp.statics/_images/mfp_loading.gif);
}

div.mfp_err {
  clear: both;
  display: none;
  text-align: left;
  margin: 5px 0px 0px 0px;
  padding: 3px 0px 5px 0;
  color: #F00;
  font-size: 12px;
  line-height: normal;
}

#mfp_phase_confirm_inner h4 {
  text-align: center;
  margin-bottom: 2em;
}

#mfp_confirm_table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 2em;
}
@media screen and (max-width: 768px) {
  #mfp_confirm_table {
    border-bottom: 1px solid #ccc;
  }
}
#mfp_confirm_table th, #mfp_confirm_table td {
  border: 1px solid #ccc;
  padding: 20px;
  text-align: left;
  box-sizing: border-box;
}
@media screen and (max-width: 768px) {
  #mfp_confirm_table th, #mfp_confirm_table td {
    display: block;
    border-bottom: none;
  }
}
#mfp_confirm_table th {
  width: 30%;
}
@media screen and (max-width: 768px) {
  #mfp_confirm_table th {
    width: 100%;
    background: #e5e5e5;
  }
}

#mfp_button_cancel {
  margin-top: 2em;
}

/*------------------------------
    demolition
--------------------------------*/
.list-demolition-thumb {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 40px -30px 0;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .list-demolition-thumb {
    margin: calc(40 / var(--width) * 100vw) calc(-30 / var(--width) * 100vw) 0;
  }
}
@media screen and (max-width: 768px) {
  .list-demolition-thumb {
    margin: calc(20 / var(--width) * 100vw) calc(-15 / var(--width) * 100vw) 0;
  }
}
.list-demolition-thumb.list-demolition-thumb__top {
  margin-top: 87px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .list-demolition-thumb.list-demolition-thumb__top {
    margin-top: calc(87 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .list-demolition-thumb.list-demolition-thumb__top {
    margin-top: calc(30 / var(--width) * 100vw);
  }
}
.list-demolition-thumb li {
  box-sizing: border-box;
  flex-basis: calc(100% / 4 );
  padding: 30px;
  text-align: center;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .list-demolition-thumb li {
    padding: calc(30 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .list-demolition-thumb li {
    flex-basis: calc(100% / 3 );
    padding: calc(15 / var(--width) * 100vw);
  }
}
.list-demolition-thumb li figcaption {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.87;
  color: var(--main-color);
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .list-demolition-thumb li figcaption {
    font-size: calc(16 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .list-demolition-thumb li figcaption {
    font-size: calc(13 / var(--width) * 100vw);
    line-height: 1.5;
  }
}
.list-demolition-thumb + p {
  margin-top: 40px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .list-demolition-thumb + p {
    margin-top: calc(40 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .list-demolition-thumb + p {
    margin-top: calc(20 / var(--width) * 100vw);
  }
}

.list-demolition-type {
  display: flex;
  justify-content: space-between;
  gap: 80px;
  margin-top: 40px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .list-demolition-type {
    gap: calc(80 / var(--width) * 100vw);
    margin-top: calc(40 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .list-demolition-type {
    flex-wrap: wrap;
    gap: calc(20 / var(--width) * 100vw);
    margin-top: calc(20 / var(--width) * 100vw);
  }
}
.list-demolition-type li {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  flex-basis: calc(100% / 3);
  height: 140px;
  background: #F4F6F6;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.77;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .list-demolition-type li {
    font-size: calc(18 / var(--width) * 100vw);
    height: calc(140 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .list-demolition-type li {
    flex-basis: 100%;
    font-size: calc(16 / var(--width) * 100vw);
    padding: calc(10 / var(--width) * 100vw);
    height: auto;
  }
}
.list-demolition-type + p {
  margin-top: 40px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .list-demolition-type + p {
    margin-top: calc(40 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .list-demolition-type + p {
    margin-top: calc(20 / var(--width) * 100vw);
  }
}

.title-demolition-method {
  margin: 81px 0 20px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .title-demolition-method {
    margin: calc(81 / var(--width) * 100vw) 0 calc(20 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .title-demolition-method {
    margin: calc(40 / var(--width) * 100vw) 0 calc(20 / var(--width) * 100vw);
  }
}

.lead-demolition-method {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.88;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .lead-demolition-method {
    font-size: calc(16 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .lead-demolition-method {
    font-size: calc(15 / var(--width) * 100vw);
  }
}

.wrap-demolition-method {
  display: flex;
  gap: 120px;
  background: #F4F6F6;
  margin-top: 38px;
  padding: 60px 80px 41px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .wrap-demolition-method {
    gap: calc(120 / var(--width) * 100vw);
    margin-top: calc(38 / var(--width) * 100vw);
    padding: calc(60 / var(--width) * 100vw) calc(80 / var(--width) * 100vw) calc(41 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .wrap-demolition-method {
    flex-wrap: wrap;
    gap: calc(40 / var(--width) * 100vw);
    margin-top: calc(38 / var(--width) * 100vw);
    padding: calc(30 / var(--width) * 100vw);
  }
}
.wrap-demolition-method .row {
  flex-basis: 360px;
  line-height: 1.73;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .wrap-demolition-method .row {
    flex-basis: calc(360 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .wrap-demolition-method .row {
    flex-basis: 100%;
  }
}
.wrap-demolition-method .title {
  font-weight: 500;
  font-size: 2.2rem;
  letter-spacing: 0.1em;
  line-height: 1.81;
  color: var(--main-color);
  margin: 20px 0 13px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .wrap-demolition-method .title {
    font-size: calc(22 / var(--width) * 100vw);
    margin: calc(20 / var(--width) * 100vw) 0 calc(13 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .wrap-demolition-method .title {
    font-size: calc(20 / var(--width) * 100vw);
    margin: calc(10 / var(--width) * 100vw) 0 calc(7 / var(--width) * 100vw);
  }
}

.wrap-demolition-detail {
  margin-top: 50px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .wrap-demolition-detail {
    margin-top: calc(50 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .wrap-demolition-detail {
    margin-top: calc(30 / var(--width) * 100vw);
  }
}
.wrap-demolition-detail .row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .wrap-demolition-detail .row {
    flex-wrap: wrap;
  }
}
.wrap-demolition-detail .row + .row {
  margin-top: 40px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .wrap-demolition-detail .row + .row {
    margin-top: calc(40 / var(--width) * 100vw);
  }
}
.wrap-demolition-detail .row .content {
  width: 688px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .wrap-demolition-detail .row .content {
    width: calc(688 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .wrap-demolition-detail .row .content {
    width: 100%;
  }
}
.wrap-demolition-detail .row .thumb {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 280px;
  height: 180px;
  background: #F4F6F6;
  text-align: center;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.77;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .wrap-demolition-detail .row .thumb {
    width: calc(280 / var(--width) * 100vw);
    height: calc(180 / var(--width) * 100vw);
    font-size: calc(18 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .wrap-demolition-detail .row .thumb {
    width: 100%;
    height: calc(120 / var(--width) * 100vw);
    font-size: calc(16 / var(--width) * 100vw);
    margin-bottom: calc(10 / var(--width) * 100vw);
  }
}
.wrap-demolition-detail + p {
  margin-top: 50px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .wrap-demolition-detail + p {
    margin-top: calc(50 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .wrap-demolition-detail + p {
    margin-top: calc(30 / var(--width) * 100vw);
  }
}

/*------------------------------
    selection
--------------------------------*/
.lead-selection {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .lead-selection {
    flex-wrap: wrap;
  }
}
@media screen and (min-width: 769px) {
  .lead-selection .thumb {
    width: 398px;
    order: 1;
  }
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .lead-selection .thumb {
    width: calc(398 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .lead-selection .thumb {
    margin: 0 calc(-23 / var(--width) * 100vw);
  }
  .lead-selection .thumb img {
    height: 300px;
    object-fit: cover;
    object-position: 0 0;
  }
}
.lead-selection .content {
  width: 516px;
}
@media screen and (min-width: 769px) {
  .lead-selection .content {
    order: 0;
  }
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .lead-selection .content {
    width: calc(516 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .lead-selection .content {
    width: 100%;
  }
}
.lead-selection .content .title {
  font-weight: 500;
  font-size: 3.0rem;
  letter-spacing: 0.1em;
  line-height: 1.63;
  color: #323232;
  margin-bottom: 31px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .lead-selection .content .title {
    font-size: calc(30 / var(--width) * 100vw);
    margin-bottom: calc(31 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .lead-selection .content .title {
    font-size: calc(25 / var(--width) * 100vw);
    margin-bottom: calc(15 / var(--width) * 100vw);
    letter-spacing: 0;
  }
}
.lead-selection .content p + p {
  margin-top: 1em;
}

.section-failed-pattern {
  background: #F4F6F6;
  padding: 100px 0;
  margin-right: 60px;
  margin-left: 60px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .section-failed-pattern {
    padding: calc(100 / var(--width) * 100vw) 0;
    margin-right: calc(60 / var(--width) * 100vw);
    margin-left: calc(60 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .section-failed-pattern {
    padding: calc(20 / var(--width) * 100vw) 0;
    margin-right: calc(20 / var(--width) * 100vw);
    margin-left: calc(20 / var(--width) * 100vw);
  }
}
.section-failed-pattern .section-failed-pattern-title {
  font-weight: 500;
  font-size: 3.0rem;
  letter-spacing: 0.1em;
  line-height: 1.73;
  text-align: center;
  color: var(--main-color);
  margin-bottom: 81px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .section-failed-pattern .section-failed-pattern-title {
    font-size: calc(30 / var(--width) * 100vw);
    margin-bottom: calc(81 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .section-failed-pattern .section-failed-pattern-title {
    font-size: calc(25 / var(--width) * 100vw);
    margin-bottom: calc(40 / var(--width) * 100vw);
    letter-spacing: 0;
  }
}

.wrap-failed-pattern .row {
  background: #fff;
  border-radius: 8px;
  padding: 40px 54px;
}
@media screen and (min-width: 769px) {
  .wrap-failed-pattern .row {
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .wrap-failed-pattern .row {
    padding: calc(40 / var(--width) * 100vw) calc(54 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .wrap-failed-pattern .row {
    padding: calc(25 / var(--width) * 100vw) calc(25 / var(--width) * 100vw);
  }
}
.wrap-failed-pattern .row + .row {
  margin-top: 40px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .wrap-failed-pattern .row + .row {
    margin-top: calc(40 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .wrap-failed-pattern .row + .row {
    margin-top: calc(25 / var(--width) * 100vw);
  }
}
.wrap-failed-pattern .row .content {
  width: 500px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .wrap-failed-pattern .row .content {
    width: calc(500 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .wrap-failed-pattern .row .content {
    width: 100%;
  }
}
.wrap-failed-pattern .row .title {
  width: 360px;
  position: relative;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .wrap-failed-pattern .row .title {
    width: calc(360 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .wrap-failed-pattern .row .title {
    width: 100%;
    margin-bottom: 1em;
  }
}
.wrap-failed-pattern .row .title::before {
  content: '';
  display: block;
  width: 33px;
  height: 42px;
  background-image: url("../../demolition/selection/img/num_01.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  left: 0;
  top: 0;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .wrap-failed-pattern .row .title::before {
    width: calc(33 / var(--width) * 100vw);
    height: calc(42 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .wrap-failed-pattern .row .title::before {
    width: calc(33 / var(--width) * 100vw);
    height: calc(42 / var(--width) * 100vw);
  }
}
.wrap-failed-pattern .row .title::after {
  content: '';
  display: block;
  width: 55px;
  height: 1px;
  background: #8EA5A8;
  transform: rotate(-48deg);
  position: absolute;
  left: 20px;
  top: 45px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .wrap-failed-pattern .row .title::after {
    width: calc(55 / var(--width) * 100vw);
    left: calc(20 / var(--width) * 100vw);
    top: calc(45 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .wrap-failed-pattern .row .title::after {
    width: calc(55 / var(--width) * 100vw);
    left: calc(20 / var(--width) * 100vw);
    top: calc(45 / var(--width) * 100vw);
  }
}
.wrap-failed-pattern .row .title .thumb {
  text-align: right;
  margin-bottom: 15px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .wrap-failed-pattern .row .title .thumb {
    margin-bottom: calc(15 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .wrap-failed-pattern .row .title .thumb {
    margin-bottom: calc(10 / var(--width) * 100vw);
  }
}
.wrap-failed-pattern .row .title p {
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.78;
  color: var(--main-color);
  position: relative;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .wrap-failed-pattern .row .title p {
    font-size: calc(18 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .wrap-failed-pattern .row .title p {
    font-size: calc(18 / var(--width) * 100vw);
  }
}
.wrap-failed-pattern .row:nth-child(2) .title::before {
  background-image: url("../../demolition/selection/img/num_02.svg");
}
@media screen and (min-width: 769px) {
  .wrap-failed-pattern .row:nth-child(2) .title p {
    margin-top: -30px;
  }
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .wrap-failed-pattern .row:nth-child(2) .title p {
    margin-top: calc(-30 / var(--width) * 100vw);
  }
}
.wrap-failed-pattern .row:nth-child(3) .title::before {
  background-image: url("../../demolition/selection/img/num_03.svg");
}
@media screen and (min-width: 769px) {
  .wrap-failed-pattern .row:nth-child(3) .title p {
    margin-top: -25px;
  }
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .wrap-failed-pattern .row:nth-child(3) .title p {
    margin-top: calc(-25 / var(--width) * 100vw);
  }
}
.wrap-failed-pattern .row:nth-child(4) .title::before {
  background-image: url("../../demolition/selection/img/num_04.svg");
}

.wrap-selection-article .article {
  padding-top: 80px;
}
@media screen and (min-width: 769px) {
  .wrap-selection-article .article {
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .wrap-selection-article .article {
    padding-top: calc(80 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .wrap-selection-article .article {
    padding-top: calc(40 / var(--width) * 100vw);
  }
}
.wrap-selection-article .article + .article {
  margin-top: 80px;
  border-top: 1px solid #E0E0E0;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .wrap-selection-article .article + .article {
    margin-top: calc(80 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .wrap-selection-article .article + .article {
    margin-top: calc(40 / var(--width) * 100vw);
  }
}
@media screen and (min-width: 769px) {
  .wrap-selection-article .article .thumb {
    width: 320px;
  }
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .wrap-selection-article .article .thumb {
    width: calc(320 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .wrap-selection-article .article .thumb {
    margin-bottom: 1em;
  }
  .wrap-selection-article .article .thumb img {
    width: 100%;
    height: 300px;
    object-fit: cover;
    object-position: 0 0;
  }
}
@media screen and (min-width: 769px) {
  .wrap-selection-article .article .content {
    width: 570px;
  }
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .wrap-selection-article .article .content {
    width: calc(570 / var(--width) * 100vw);
  }
}
.wrap-selection-article .article .title {
  font-weight: 500;
  font-size: 2.2rem;
  letter-spacing: 0.1em;
  line-height: 1.81;
  color: var(--main-color);
  margin-bottom: 49px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .wrap-selection-article .article .title {
    font-size: calc(22 / var(--width) * 100vw);
    margin-bottom: calc(49 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .wrap-selection-article .article .title {
    font-size: calc(20 / var(--width) * 100vw);
    line-height: 1.5;
    margin-bottom: calc(25 / var(--width) * 100vw);
  }
}
.wrap-selection-article .article:nth-child(even) .thumb {
  order: 1;
}
.wrap-selection-article .article:nth-child(even) .content {
  order: 0;
}
.wrap-selection-article + p {
  margin-top: 80px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .wrap-selection-article + p {
    margin-top: calc(80 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .wrap-selection-article + p {
    margin-top: calc(40 / var(--width) * 100vw);
  }
}

/*------------------------------
    privacy-policy
--------------------------------*/
.page-policy {
  line-height: 1.73;
}
@media screen and (min-width: 769px) {
  .page-policy {
    padding-top: 20px;
  }
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .page-policy {
    padding-top: calc(20 / var(--width) * 100vw);
  }
}
.page-policy p + p {
  margin-top: 1em;
}
.page-policy .enactment-date {
  text-align: right;
  margin-bottom: 41px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .page-policy .enactment-date {
    margin-bottom: calc(41 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .page-policy .enactment-date {
    margin-bottom: calc(30 / var(--width) * 100vw);
  }
}
.page-policy .section-title {
  font-size: 2.2rem;
  text-align: center;
  letter-spacing: 0.1em;
  border-top: 1px solid #8EA5A8;
  border-bottom: 1px solid #8EA5A8;
  padding: 15px;
  margin-bottom: 48px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .page-policy .section-title {
    font-size: calc(22 / var(--width) * 100vw);
    padding: calc(15 / var(--width) * 100vw);
    margin-bottom: calc(48 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .page-policy .section-title {
    font-size: calc(18 / var(--width) * 100vw);
    padding: calc(10 / var(--width) * 100vw) 0;
    margin-bottom: calc(30 / var(--width) * 100vw);
    letter-spacing: 0;
  }
}
.page-policy dl {
  counter-reset: number 0;
}
.page-policy dl dt {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.44;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .page-policy dl dt {
    font-size: calc(18 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .page-policy dl dt {
    font-size: calc(16 / var(--width) * 100vw);
    line-height: 1.5;
  }
}
.page-policy dl dt::before {
  counter-increment: number 1;
  content: counter(number) "．";
}
.page-policy dl dt::after {
  content: '—';
  display: block;
  font-size: 2.2rem;
  line-height: 1.18;
  color: var(--main-color);
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .page-policy dl dt::after {
    font-size: calc(22 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .page-policy dl dt::after {
    font-size: calc(18 / var(--width) * 100vw);
  }
}
.page-policy dl dd {
  margin-bottom: 1em;
}

/*------------------------------
    recruit
--------------------------------*/
.page-title-wrap__recruit {
  margin-bottom: 83px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .page-title-wrap__recruit {
    margin-bottom: calc(83 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .page-title-wrap__recruit {
    margin-bottom: calc(45 / var(--width) * 100vw);
  }
}
.page-title-wrap__recruit .inner {
  justify-content: center;
  top: 170px;
}
@media screen and (min-width: 769px) and (max-width: 1366px) {
  .page-title-wrap__recruit .inner {
    top: calc(170 / 1366 * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .page-title-wrap__recruit .inner {
    top: calc(120 / var(--width) * 100vw);
  }
}
.page-title-wrap__recruit .page-title {
  color: var(--main-color);
}
.page-title-wrap__recruit .page-title::before {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .page-title-wrap__recruit .page-title::before {
    left: 0;
    transform: translateX(0);
  }
}

.wrap-recruit-nav {
  margin-bottom: 160px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .wrap-recruit-nav {
    margin-bottom: calc(160 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .wrap-recruit-nav {
    margin-bottom: calc(80 / var(--width) * 100vw);
  }
}
.wrap-recruit-nav .recruit-nav {
  display: flex;
  gap: 80px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .wrap-recruit-nav .recruit-nav {
    gap: calc(80 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .wrap-recruit-nav .recruit-nav {
    gap: calc(20 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .wrap-recruit-nav .recruit-nav li {
    flex-basis: 50%;
  }
}
.wrap-recruit-nav .recruit-nav li a {
  position: relative;
  display: block;
  text-align: center;
  width: 360px;
  height: 80px;
  text-align: center;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.88;
  color: var(--main-color);
  border: 1px solid #8EA5A8;
  text-decoration: none;
  padding-top: 18px;
  box-sizing: border-box;
  transition: all .3s ease;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .wrap-recruit-nav .recruit-nav li a {
    width: calc(360 / var(--width) * 100vw);
    height: calc(80 / var(--width) * 100vw);
    font-size: calc(16 / var(--width) * 100vw);
    padding-top: calc(18 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .wrap-recruit-nav .recruit-nav li a {
    width: 100%;
    height: calc(80 / var(--width) * 100vw);
    font-size: calc(15 / var(--width) * 100vw);
    padding-top: calc(18 / var(--width) * 100vw);
  }
}
.wrap-recruit-nav .recruit-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: 18px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .wrap-recruit-nav .recruit-nav li a::after {
    height: calc(6 / var(--width) * 100vw);
    width: calc(6 / var(--width) * 100vw);
    bottom: calc(18 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .wrap-recruit-nav .recruit-nav li a::after {
    height: calc(6 / var(--width) * 100vw);
    width: calc(6 / var(--width) * 100vw);
    bottom: calc(18 / var(--width) * 100vw);
  }
}
.wrap-recruit-nav .recruit-nav li a:hover {
  background: #8EA5A8;
  color: #fff;
}
.wrap-recruit-nav .recruit-nav li a:hover::after {
  border-color: #fff;
}

.section-recruit-lead {
  text-align: center;
  font-weight: 500;
  font-size: 1.6rem;
  letter-spacing: 0.08em;
  line-height: 1.88;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .section-recruit-lead {
    font-size: calc(16 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .section-recruit-lead {
    font-size: calc(15 / var(--width) * 100vw);
    letter-spacing: 0;
    text-align: left;
  }
}
.section-recruit-lead .title {
  margin-bottom: 64px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .section-recruit-lead .title {
    margin-bottom: calc(64 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .section-recruit-lead .title {
    margin-bottom: calc(32 / var(--width) * 100vw);
  }
}
.section-recruit-lead p + p {
  margin-top: 1em;
}

.title-recruit-detail {
  background: #F4F6F6;
  font-weight: 500;
  font-size: 3.0rem;
  letter-spacing: 0.1em;
  line-height: 220px;
  color: #323232;
  margin: 0 60px 60px;
  text-align: center;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .title-recruit-detail {
    font-size: calc(30 / var(--width) * 100vw);
    line-height: calc(220 / var(--width) * 100vw);
    margin: 0 calc(60 / var(--width) * 100vw) calc(60 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .title-recruit-detail {
    font-size: calc(20 / var(--width) * 100vw);
    line-height: calc(100 / var(--width) * 100vw);
    margin: 0 0 calc(20 / var(--width) * 100vw);
  }
}

.detail-recruit {
  line-height: 1.73;
}
.detail-recruit dt, .detail-recruit dd {
  box-sizing: border-box;
  border-bottom: 1px solid #BCBCBC;
}
.detail-recruit dt {
  padding: 27px 30px 9px;
  font-size: 2.2rem;
  color: var(--main-color);
  letter-spacing: 0.1em;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .detail-recruit dt {
    font-size: calc(22 / var(--width) * 100vw);
    padding: calc(27 / var(--width) * 100vw) calc(30 / var(--width) * 100vw) calc(9 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .detail-recruit dt {
    font-size: calc(18 / var(--width) * 100vw);
    padding: calc(20 / var(--width) * 100vw) calc(10 / var(--width) * 100vw) calc(10 / var(--width) * 100vw);
  }
}
.detail-recruit dd {
  padding: 9px 30px 9px;
  letter-spacing: 0;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .detail-recruit dd {
    padding: calc(9 / var(--width) * 100vw) calc(30 / var(--width) * 100vw) calc(9 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .detail-recruit dd {
    padding: calc(10 / var(--width) * 100vw);
  }
}

.section-recruit-method {
  background: #F4F6F6;
  padding: 80px 0 100px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .section-recruit-method {
    padding: calc(80 / var(--width) * 100vw) 0 calc(100 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .section-recruit-method {
    padding: calc(40 / var(--width) * 100vw) 0 calc(50 / var(--width) * 100vw);
  }
}
.section-recruit-method .list-recruit-flow {
  display: flex;
  justify-content: space-between;
  gap: 68px;
  margin-bottom: 120px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .section-recruit-method .list-recruit-flow {
    gap: calc(68 / var(--width) * 100vw);
    margin-bottom: calc(120 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .section-recruit-method .list-recruit-flow {
    gap: calc(20 / var(--width) * 100vw);
    margin-bottom: calc(60 / var(--width) * 100vw);
  }
}
.section-recruit-method .list-recruit-flow li {
  background: #fff;
  border: 1px solid #8EA5A8;
  border-radius: 8px;
  width: 199px;
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .section-recruit-method .list-recruit-flow li {
    width: calc(199 / var(--width) * 100vw);
    height: calc(120 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .section-recruit-method .list-recruit-flow li {
    width: calc(199 / var(--width) * 100vw);
    height: calc(90 / var(--width) * 100vw);
  }
}
.section-recruit-method .list-recruit-flow li:not(:last-child)::after {
  content: '';
  display: block;
  width: 22px;
  height: 22px;
  background-image: url("../../recruit/img/arrow_recruit_flow.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  right: -46px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .section-recruit-method .list-recruit-flow li:not(:last-child)::after {
    width: calc(22 / var(--width) * 100vw);
    height: calc(22 / var(--width) * 100vw);
    right: calc(-46 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .section-recruit-method .list-recruit-flow li:not(:last-child)::after {
    width: calc(10 / var(--width) * 100vw);
    height: calc(10 / var(--width) * 100vw);
    right: calc(-15 / var(--width) * 100vw);
  }
}
.section-recruit-method .list-recruit-flow li:last-child {
  background: #8EA5A8;
  color: #fff;
}
.section-recruit-method .wrap-detail-recruit {
  background: #fff;
  border: 1px solid #8EA5A8;
  border-radius: 8px;
  padding: 40px 60px 60px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .section-recruit-method .wrap-detail-recruit {
    padding: calc(40 / var(--width) * 100vw) calc(60 / var(--width) * 100vw) calc(60 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .section-recruit-method .wrap-detail-recruit {
    padding: calc(10 / var(--width) * 100vw) calc(20 / var(--width) * 100vw) calc(40 / var(--width) * 100vw);
  }
}

/*------------------------------
    works
--------------------------------*/
.section-works .copy {
  font-weight: 500;
  font-size: 2.2rem;
  letter-spacing: 0.1em;
  line-height: 1.82;
  margin-bottom: 21px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .section-works .copy {
    font-size: calc(22 / var(--width) * 100vw);
    margin-bottom: calc(21 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .section-works .copy {
    font-size: calc(22 / var(--width) * 100vw);
    letter-spacing: 0;
    line-height: 1.6;
    margin-bottom: calc(10 / var(--width) * 100vw);
  }
}
.section-works .map {
  margin-top: 80px;
  text-align: center;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .section-works .map {
    margin-top: calc(80 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .section-works .map {
    margin-top: calc(40 / var(--width) * 100vw);
  }
}
.section-works .date {
  font-size: 1.2rem;
  line-height: 1.67;
  text-align: right;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .section-works .date {
    font-size: calc(12 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .section-works .date {
    font-size: calc(10 / var(--width) * 100vw);
  }
}
.section-works .title {
  font-size: 1.2rem;
  line-height: 1.7;
  margin-bottom: 57px;
  position: relative;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .section-works .title {
    font-size: calc(12 / var(--width) * 100vw);
    margin-bottom: calc(57 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .section-works .title {
    font-size: calc(12 / var(--width) * 100vw);
    margin-bottom: calc(30 / var(--width) * 100vw);
  }
}
.section-works .title::before {
  content: '';
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
}
.section-works .title[data-title="Coin Parking"]::before {
  width: 218px;
  height: 52px;
  margin-bottom: 11px;
  background-image: url("../../works/img/text_coin-parking.svg");
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .section-works .title[data-title="Coin Parking"]::before {
    width: calc(218 / var(--width) * 100vw);
    height: calc(52 / var(--width) * 100vw);
    margin-bottom: calc(11 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .section-works .title[data-title="Coin Parking"]::before {
    width: calc(153 / var(--width) * 100vw);
    height: calc(36 / var(--width) * 100vw);
    margin-bottom: calc(10 / var(--width) * 100vw);
  }
}
.section-works .title[data-title="Demolition"]::before {
  width: 187px;
  height: 41px;
  background-image: url("../../works/img/text_demolition.svg");
  margin-bottom: 22px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .section-works .title[data-title="Demolition"]::before {
    width: calc(187 / var(--width) * 100vw);
    height: calc(41 / var(--width) * 100vw);
    margin-bottom: calc(22 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .section-works .title[data-title="Demolition"]::before {
    width: calc(131 / var(--width) * 100vw);
    height: calc(29 / var(--width) * 100vw);
    margin-bottom: calc(12 / var(--width) * 100vw);
  }
}

/*------------------------------
    topics
--------------------------------*/
.section-topics {
  padding-top: 160px;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .section-topics {
    padding-top: calc(160 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .section-topics {
    padding-top: calc(100 / var(--width) * 100vw);
  }
}
.section-topics .title-important {
  font-size: 2.4rem;
  display: inline-block;
  background: #AF2317;
  color: #fff;
  padding: 10px;
  line-height: 1;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .section-topics .title-important {
    font-size: calc(24 / var(--width) * 100vw);
    padding: calc(10 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .section-topics .title-important {
    font-size: calc(15 / var(--width) * 100vw);
    padding: calc(10 / var(--width) * 100vw);
  }
}
.section-topics .date-topics {
  text-align: right;
}
.section-topics .wrap-topics {
  padding-top: 4em;
}
.section-topics .wrap-topics .title {
  font-size: 2.8rem;
  margin-bottom: 2em;
  text-align: center;
  line-height: 1.7;
}
@media screen and (min-width: 769px) and (max-width: 1140px) {
  .section-topics .wrap-topics .title {
    font-size: calc(28 / var(--width) * 100vw);
  }
}
@media screen and (max-width: 768px) {
  .section-topics .wrap-topics .title {
    font-size: calc(17 / var(--width) * 100vw);
  }
}
.section-topics .wrap-topics p + p {
  margin-top: 2em;
}
.section-topics .wrap-topics .footer-topics {
  margin-top: 4em;
  text-align: right;
}
@media screen and (max-width: 768px) {
  .section-topics .wrap-topics .footer-topics {
    text-align: center;
  }
}
.section-topics .wrap-topics .footer-topics .inner {
  display: inline-block;
  text-align: left;
}
.section-topics .wrap-topics .footer-topics .inner p + p {
  margin-top: 1em;
}
