@charset "utf-8";
/* @common
----------------------------------------------------------*/


/* @top
----------------------------------------------------------*/
/* @top-mv  */
.top-mv {
  position: relative;
  z-index: 2;
  padding-inline: var(--inner-pd);
  padding-bottom: 50px;
}
.top-mv::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
  height: 200px;
  background: url(../img/common/wave_line.svg) repeat-x left -12px bottom 0;
}
.top-mv-wrap {
  position: relative;
}
.top-mv-slider {
  position: relative;
  margin: 0 auto;
  overflow: hidden;
  border: 4px solid var(--color-main);
  border-radius: 10px;
  background: #fff;
}
.top-mv-slider .splide__slide {
  position: relative;
}
.top-mv-slider .img {
  height: 100%;
}
.top-mv-slider .splide__slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.top-mv-copy {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 10;
  max-width: 1110px;
  margin: 0 auto;
  color: var(--color-main);
  text-align: center;
  font-size: 4.375rem;
  font-family: var(--font-en);
  font-weight: 600;
  line-height: .82;
}

/* @top-intro */
.top-intro {
  padding-top: 28px;
}
.top-intro-main {
  margin-bottom: 26px;
}
.top-intro-ttl {
  margin-bottom: 1.2em;
  color: #222;
  text-align: center;
  font-size: 1.625rem;
  font-weight: bold;
  line-height: 1.6;
}
.top-intro-body {
  display: flex;
  flex-wrap: wrap;
}
.top-intro-body-img {
  width: 50%;
  padding-right: 6.36%;
  text-align: right;
}
.top-intro-body-con {
  position: relative;
  flex: 1;
  max-width: 500px;
  margin-top: 1.4em;
  padding: .55em 20px 0;
}
.top-intro-body .con-ttl {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding-inline: 2em;
  color: var(--color-main);
  text-align: center;
  font-weight: 600;
  font-family: var(--font-en);
  line-height: 1;
  background: #fff;
}
.top-intro-body .con-list {
  padding-block: 2em;
  border-top: 2px solid var(--color-main);
  border-bottom: 2px solid var(--color-main);
}
.top-intro-body .con-list > li {
  position: relative;
  margin-right: 10px;
  padding: .925em 1em .925em 4.3em;
  color: var(--color-sub);
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: .05em;
  border: 1px solid #000;
  border-radius: 3px;
  box-shadow: 10px 10px 0 var(--color-gry);
  background: #fff;
}
.top-intro-body .con-list > li::before {
  content: "";
  position: absolute;
  top: 1.2em;
  left: 2em;
  width: 1.278em;
  height: 1.1em;
  background: var(--icon-deco) no-repeat center / 100%;
}
.top-intro-body .con-list > li + li {
  margin-top: 28px;
}
.top-intro-body .con-txt {
  margin-block: .55em;
  text-align: center;
}

.top-intro-feature {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
.top-intro-feature > li {
  display: grid;
  grid-template-rows: 1fr auto;
}
.top-intro-feature .con {
  padding: 0 3.125rem .3em;
}
.top-intro-feature .con-num {
  width: 1.34em;
  height: 1.34em;
  margin: 0 auto .3em;
  color: var(--color-main);
  font-size: 3.125rem;
  font-weight: 300;
  text-align: center;
  line-height: 1.15;
  border-radius: 50%;
  border: 2px solid var(--color-main);
  background: url(../img/common/wave_dig.svg) no-repeat center / 100%
}
.top-intro-feature .con-ttl {
  font-size: 1.375rem;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
  letter-spacing: .025em;
}
.top-intro-feature .con-txt {
  text-align: justify;
  letter-spacing: .05em;
}

/* @top-gallery */
.top-gallery {
  padding-block: 56px 1px;
}
.top-gallery-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 22px;
  margin-bottom: 70px;
}
.top-gallery-list .ttl {
  margin-bottom: .3em;
  color: var(--color-main);
  text-align: center;
  font-weight: bold;
  font-size: 1.25rem;
  letter-spacing: .075em;
  line-height: 1.5;
}
.top-gallery-list .img {
  overflow: hidden;
  border-radius: 14px;
  border: 4px solid var(--color-main);
}
.top-gallery-list .txt {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: .55em auto 0;
  line-height: 1.625;
}
.top-gallery-list .txt:not(.ta-left) {
  text-align: center;
}

/* @top-service */
.top-service {
  position: relative;
  margin-top: 88px;
  padding-block: 66px 156px;
  background: var(--color-gry);
}
.top-service::before {
  content: "";
  position: absolute;
  top: -88px;
  left: 0;
  right: 0;
  height: 200px;
  background: url(../img/common/wave_line.svg) repeat-x left -12px top 0;
}

.top-service-material-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.23%;
}
.top-service-material-list li {
  width: 15.64%;
  padding: .854em .5em;
  margin-bottom: 1.23%;
  color: #fff;
  text-align: center;
  font-weight: bold;
  line-height: 1.3;
  letter-spacing: .075em;
  border-radius: 6px;
  background: var(--color-main);
}


.top-service-parts-ttl {
  margin-block: 50px 1.5em;
}
.top-service-parts-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 16px;
  max-width: 930px;
  margin: 0 auto 1.5em;
}
.top-service-parts-list > li {
  overflow: hidden;
  padding: .5em 1em 1.4em;
  border-radius: 10px;
  border: 2px solid var(--color-main);
  background: #fff;
}
.top-service-parts-list .label {
  text-align: center;
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 1.5;
}

/* @top-works */
.top-works {
  position: relative;
  padding-block: 68px 86px;
}
.top-works::before {
  content: "";
  position: absolute;
  top: -108px;
  left: 0;
  right: 0;
  height: 200px;
  background: url(../img/common/wave_line.svg) repeat-x left -12px top 0;
}

.works-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 22px;
  text-align: center;
}
.works-list .date {
  margin: 0 0 .75em;
  color: var(--color-main);
  font-family: var(--font-en);
  font-weight: 600;
  line-height: 1;
}
.works-list .img {
  overflow: hidden;
  border-radius: 14px;
  border: 4px solid var(--color-main);
}
.works-list .ttl {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: .55em auto 0;
  line-height: 1.625;
}
.works-list .ttl:not(.ta-left) {
  text-align: center;
}

/* @equipment
----------------------------------------------------------*/
.equipment-wrap {
  padding-bottom: 70px;
}
.eq-lead {
  margin-bottom: 1.7em;
  text-align: center;
  font-size: 1.375rem;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: .05em;
}

.eq-list,
.eq-group-col3_2,
.img-list {
  display: flex;
  flex-wrap: wrap;
  gap: 35px 3%;
}
.eq-list {
  justify-content: center;
  gap: 35px 3%;
}
.eq-list-item {
  width: 48.45%;
  text-align: center;
  color: var(--color-main-text);
}
.eq-list-item._wide {
  width: 100%;
}
.img-list {
  row-gap: 10px;
}
.img-list .img {
  width: 48.45%;
}
.eq-list-item .img {
  overflow: hidden;
  border-radius: 14px;
  border: 4px solid var(--color-main);
}
.eq-list-item .name {
  margin: 1em 0 .4em;
  color: var(--color-main);
  font-weight: bold;
  font-size: 1.25rem;
  line-height: 1.4;
}
.eq-list-item .maker {
  margin: 0;
  letter-spacing: .05em;
  line-height: 1.5;
}

/* @company
----------------------------------------------------------*/
.company-profile {
  padding-bottom: 66px;
}
.profile-tbl {
  max-width: 864px;
  margin-inline: auto;
  margin-bottom: 40px;
}
.profile-tbl .post {
  display: inline-block;
  width: 5.5em;
}
.profile-img {
  text-align: center;
}

.company-access {
  position: relative;
  margin-top: 90px;
  padding-block: 65px 70px;
  background: var(--color-gry);
}
.company-access::before {
  content: "";
  position: absolute;
  top: -90px;
  left: 0;
  right: 0;
  height: 200px;
  background: url(../img/common/wave_line.svg) repeat-x left -12px top 0;
}

.access-address {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 1.75em;
  padding: 0 2em 1em;
  font-size: 1.125rem;
  text-align: center;
  border-bottom: 4px solid var(--color-main);
}

.access-way {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 2.5em;
  display: grid;
  grid-template-columns: 2.2em 1fr;
  gap: 1em 1.2em;
  line-height: 1.6;
}
.access-way dt {
  color: var(--color-sub);
  font-weight: bold;
}

.access-map {
  overflow: hidden;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 1.5em;
  text-align: center;
  border: 4px solid var(--color-main);
  border-radius: 10px;
  background: #fff;
}

.access-gmap {
  text-align: center;
}
.access-gmap a {
  color: var(--color-main);
  font-family: var(--font-en);
  font-weight: 600;
  text-underline-offset: 4px;
}
.access-gmap a::before {
  content: "";
  display: inline-block;
  width: 1.375rem;
  height: 1.375rem;
  margin-right: .3em;
  vertical-align: -.4em;
  background: var(--color-main);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-image: var(--icon-map);
  mask-image: var(--icon-map);
}


/* @contact
----------------------------------------------------------*/
.contact-lead {
  color: var(--color-main);
  text-align: center;
  font-weight: 500;
}

/* @tel */
.contact-tel {
  padding-bottom: 64px;
  text-align: center;
}
.contact-tel-lead {
  margin-bottom: .85em;
  font-size: 1.375rem;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0;
}
.contact-tel-att {
  margin-block: .4em;
  color: var(--color-red);
}
.contact-tel-msg {
  margin-block: 0 1.3em;
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 1.444;
}


.contact-tel-number {
  color: var(--color-sub);
  text-align: center;
  font-weight: bold;
  line-height: 1.5;
}
.contact-tel-number .number {
  display: block;
  color: var(--color-sub);
  font-size: 1.625rem;
}
.contact-tel-number .fax .number {
  font-size: 1.375rem;
}
.contact-tel-number li + li {
  margin-top: 1.1em;
}


/* @form */
.l-contents.contact-top {
  padding-top: 20px;
}

.contact-form {
  position: relative;
  margin-top: 88px;
  padding-block: 65px 100px;
  background: var(--color-gry);
}
.contact-form::before {
  content: "";
  position: absolute;
  top: -88px;
  left: 0;
  right: 0;
  height: 200px;
  background: url(../img/common/wave_line.svg) repeat-x left -12px top 0;
}
.contact-form-ttl {
  margin-bottom: 1.3em;
}

.form-tbl {
  margin-block: 40px;
}
.form-tbl .row {
  display: grid;
  grid-template-columns: 256px 1fr;
  gap: 1em;
  margin-bottom: .5em;
}
.form-tbl dt {
  padding-block: .65em .4em;
  color: #1f6a35;
  font-size: 1.143rem;
  font-weight: bold;
}

.type-confirm .form-tbl {
  max-width: 780px;
  margin-inline: auto;
  margin-bottom: 80px;
}
.type-confirm .form-tbl .row {
  grid-template-columns: 200px 1fr;
  margin-bottom: 1.5em;
}
.type-confirm .form-tbl dt {
  padding: 0;
}
.type-confirm .form-tbl dd {
  font-size: 1.125rem;
  font-weight: bold;
}

.required {
  margin-left: .25em;
  color: #f70925;
  vertical-align: 1px;
  font-weight: normal;
  vertical-align: -.05em;
}
.form-tbl .post-mark {
  font-size: 1.143rem;
  font-weight: bold;
}
.form-note {
  margin-block: .5em 1em;
  line-height: 1.6;
}
.form-att {
  display: inline-block;
  vertical-align: .1em;
}
.form-btn {
  margin: 4px 0;
  padding: .58em 1em;
  text-align: center;
  vertical-align: top;
  color: #fff;
  font-weight: bold;
  border-radius: 10px;
  border: none;
  background: var(--color-main);
  -webkit-appearance: none;
  -webkit-transition: all .5s;
  transition: all .5s;
}
.form-btn.zipbtn {
  margin-bottom: .7em;
  margin-left: .5em;
  font-size: 1rem;
}
#address1 {
  margin-top: 7px;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="date"],
.select-custom select,
textarea {
  margin: 4px 0;
  padding: .22em 1em;
  border-radius: 0;
  font-size: 18px;
  font-weight: bold;
  font-family: inherit;
  border: 4px solid var(--color-main);
  border-radius: 10px;
  background: #fff;
}

textarea {
  display: block;
}

input::placeholder,
textarea::placeholder {
  color: var(--color-dgy);
  font-weight: bold;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
input[type="date"]:focus,
.select-custom select:focus,
textarea:focus {
  border-color: var(--color-sub);
  outline: none;
}

.select-custom {
  position: relative;
  display: inline-block;
  margin-right: 2px;
}

.select-custom:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 10px;
  width: 0;
  height: 0;
  margin: auto 0;
  border-width: 6px 5px 0 5px;
  border-style: solid;
  border-color: #aa4b7b transparent transparent transparent;
  pointer-events: none;
}

.select-custom select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding-right: 1.8em;
  background: #fff;
}

.select-custom select::-ms-expand {
  display: none;
}

.size-t { width:15%; }
.size-s { width:30%; }
.size-m { width:70%; }
.size-l { width:100%; }
.size-zip { width:7em; }
.size-tel { width:9em; }

/* checkbox custom */
input[type=checkbox] {
  position: relative;
  margin-right: 0.7em;
  width: 1em;
  height: 1em;
  border: 1px solid var(--color-dgy);
  border-radius: 4px;
  vertical-align: -0.3em;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #fff;
}
input[type=checkbox]::before,
input[type=checkbox]::after {
  content: "";
  display: block;
  position: absolute;
  opacity: 0;
}
input[type=checkbox]::before {
  inset: 0;
  background: var(--color-main);
}
input[type=checkbox]::after {
  border-bottom: 2px solid #fff;
  border-left: 2px solid #fff;
  opacity: 0;
  padding-top: 25%;
  width: 80%;
  transform: rotate(-45deg);
  margin: auto;
  top: 15%;
  left: 0;
  right: 0;
  z-index: 2;
}
input[type=checkbox]:checked {
  border-color: var(--color-main);
}
input[type=checkbox]:checked::before,
input[type=checkbox]:checked::after {
  opacity: 1;
}


.form-policy {
  overflow-y: auto;
  height: 172px;
  padding: 2.5em 3.5em;
  background: #fff;
}
.form-policy-ttl {
  font-weight: bold;
  text-align: center;
}
.form-policy .policy-ttl {
  color: #000;
}

.form-agree {
  margin-block: 1.4em;
  padding: 1.5em 2em;
  text-align: center;
  border: 2px solid var(--color-dgy);
}
.form-agree .txt {
  margin-block: 0 1em;
}
.form-agree input {
  margin-right: .85em;
}

.form-submit_box {
  margin-top: 30px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.5em;
}
.form-submit_box .back_btn {
  padding-inline: 4em 3em;
}
.form-submit_box .back_btn::after {
  right: auto;
  left: 7px;
  transform: scale(-1, 1);
}


.error-msg {
  color: var(--color-red);
}

.b-input-field {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  position: absolute !important;
  left: -9999px !important;
  top: -9999px !important;
  z-index: -1 !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}


input.just-validate-error-field,
select.just-validate-error-field,
textarea.just-validate-error-field {
  border-color: var(--color-red);
}
@supports (-webkit-touch-callout: none) and (not (hover: hover)) {
  input[type="number"] {
    vertical-align: middle;
    transform: translateY(-.2em);
  }
}

/* thanks */
.form-thanks {
  text-align: center;
}
.thanks-ttl {
  margin-block: 2em 1.2em;
  font-size: 1.375rem;
  font-weight: bold;
  line-height: 1.6;
}
.thanks-msg + .thanks-msg {
  margin-top: 1.5em;
}
.thanks-msg .tel-link {
  color: var(--color-sub);
  font-weight: bold;
}

/* @policy */
.policy-content {
  padding-bottom: 40px;
}
.policy-lead {
  margin-bottom: 2em;
}
.policy-ttl {
  margin-top: 2em;
  margin-bottom: .5em;
  color: var(--color-sub);
  font-weight: bold;
}
.policy-ttl + p {
  margin-top: 0;
  margin-bottom: .5em;
}

.policy-list {
  counter-reset: policy;
}
.policy-list > li {
  position: relative;
  padding-left: 1.5em;
}
.policy-list > li::before {
  content: counter(policy) ')';
  counter-increment: policy;
  position: absolute;
  left: 0;
}

.policy-contact {
  margin-top: 2em;
}

/* レスポンシブ
----------------------------------------------------------*/
@media screen and (min-width: 600px) {
  /* @equipment
  ----------------------------------------------------------*/
  .eq-list-item._col3 {
    width: 31.3%;
  }

  .eq-group-wide .eq-list-item {
    margin-inline: auto;
  }
  .eq-group-col3_2 {
    max-width: 80%;
    display: flex;
    justify-content: space-around;
  }
  .eq-group-col3_2 .eq-list-item._col3 {
    width: 39.09%;
  }
  .eq-group-col3_2 .eq-list-item._col3 .name,
  .eq-group-col3_2 .eq-list-item._col3 .maker {
    margin-inline: -2em;
  }
}

@media screen and (min-width: 961px) {
  /* @top-intro */
  .top-intro-body_box .head-en span {
    display: block;
  }

  .top-intro-body_box .lay-col {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 2em;
  }

  .top-intro-body_box._order {
    width: 330px;
    max-width: 30%;
    padding-left: 20px;
  }
  .top-intro-body_box._order .head {
    padding-right: .5em;
  }
  .top-intro-body_box._order .head-en span {
    margin-left: .18em;
  }
  .top-intro-body_box._order  .head-ja {
    padding-right: .5em;
  }
  .top-intro-body_box._order .head-lead {
    max-width: 254px;
    margin-left: auto;
  }
  .top-intro-body_box._order .body {
    max-width: 240px;
    margin-left: auto;
  }

  .top-intro-body_box._speedy {
    max-width: 336px;
    flex: 1;
  }
  .top-intro-body_box._speedy .head {
    display: grid;
  }
  .top-intro-body_box._speedy .head-ja {
    order: -1;
    text-align: center;
    margin-bottom: .1em;
    padding-left: 1em;
  }
  .top-intro-body_box._speedy .body {
    padding-left: 1.2em;
  }

  .top-intro-body_box._cost {
    max-width: 632px;
  }
  .top-intro-body_box._cost .head {
    max-width: 60%;
    padding-top: .65em;
  }
  .top-intro-body_box._cost .head-en {
    margin-right: -.2em;
  }
  .top-intro-body_box._cost .head-en > span {
    display: inline-block;
    margin-left: -.15em;
  }
  .top-intro-body_box._cost .head-lead {
    max-width: 340px;
    margin-bottom: 0;
  }
  .top-intro-body_box._cost .point {
    display: flex;
    gap: 1.2em;
  }

}


/* @959px 以下 (タブレット縦以下) */
@media screen and (max-width: 959px) {


  /* @common
  ----------------------------------------------------------*/


  /* @top
  ----------------------------------------------------------*/
  /* @top-mv */
  .top-mv-copy {
    font-size: 8vw;
  }
  .top-mv::after {
    background-position: left bottom;
    background-size: 180px;
  }

  /* @intro-mv */
  .top-intro-body {
    gap: 1em;
    align-items: center;
    margin-bottom: 50px;
  }
  .top-intro-body-img {
    width: 38%;
    padding-right: 0;
  }
  .top-intro-body .con-list > li {
    font-size: 1rem;
  }

  .top-intro-feature {
    grid-template-columns: auto;
    gap: 3em;
  }

  /* @top-service */
  .top-service-material-list li {
    width: 23%;
  }

  /* @top-works */
  .works-list > li:nth-child(odd):last-child {
    grid-column: 1 / -1;
    justify-self: center;
    max-width: calc(50% - 18px);
  }

  /* @equipment
  ----------------------------------------------------------*/
  .eq-list-item .maker {
    font-size: .8125rem;
  }

  /* @contact
  ----------------------------------------------------------*/
  .form-tbl .row,
  .type-confirm .form-tbl .row {
    grid-template-columns: 1fr;
    gap: .4em;
    margin-bottom: 1.5em;
  }
  .form-tbl dt {
    padding: 0;
  }


}

/* @599px 以下 (スマホ)  */
@media screen and (max-width: 599px) {
  /* @common
  ----------------------------------------------------------*/

  /* @top
  ----------------------------------------------------------*/
  /* @top-intro */
  .top-intro-ttl {
    font-size: 1.25rem;
  }
  .top-intro-body {
    flex-direction: column;
  }
  .top-intro-body-img {
    width: 70%;
  }
  .top-intro-body-con {
    padding-inline: 0;
  }

  .top-intro-body .con-list > li {
    padding-inline: 3em .5em;
  }
  .top-intro-body .con-list > li::before {
    left: 1em;
  }
  .top-intro-feature .con {
    padding-inline: 2em;
  }
  .top-intro-feature .con-num {
    font-size: 2.6875rem;
  }
  .top-intro-feature .con-ttl {
    font-size: 1.25rem;
  }

  /* @top-service */
  .top-service::before,
  .top-works::before,
  .company-access::before,
  .contact-form::before {
    background-position: 0 0;
    background-size: 180px;
    height: 100px;
    top: -50px;
  }

  .top-service {
    margin-top: 50px;
    padding-bottom: 100px;
  }
  .top-service-material-list li {
    width: 48%;
    font-size: .875rem;
  }


  /* @top-works */
  .works-list > li:nth-child(odd):last-child {
    grid-column: auto;
    max-width: 100%;
  }

  /* @equipment
  ----------------------------------------------------------*/
  .eq-lead {
    font-size: 1.125rem;
  }
  .eq-list-item,
  .eq-group-wide .eq-list-item,
  .img-list .img {
    width: 100%;
  }
  .eq-list-item .maker {
    font-size: 1rem;
  }
  .eq-list-item .name {
    font-size: 1.0625rem;
  }

  /* @company
  ----------------------------------------------------------*/
  .access-address {
    font-size: 1rem;
  }

  /* @contact
  ----------------------------------------------------------*/
  .contact-tel-lead {
    font-size: 1.25rem;
  }
  .contact-form {
    margin-top: 50px;
  }

  /* form */
  .l-contents.contact-top {
    padding-top: 0;
    margin-top: 90px;
  }
  .form-tbl {
    margin-top: 20px;
  }
  .form-policy {
    padding: 2em;
    font-size: .875rem;
  }

  /* thanks */
  .thanks-ttl {
    font-size: 1.286rem;
  }



}
