
/*
 * This is a manifest file that'll be compiled into application.css, which will include all the files
 * listed below.
 *
 * Any CSS and SCSS file within this directory, lib/assets/stylesheets, or any plugin's
 * vendor/assets/stylesheets directory can be referenced here using a relative path.
 *
 * You're free to add application-wide styles to this file and they'll appear at the bottom of the
 * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
 * files in this directory. Styles in this file should be added after the last require_* statement.
 * It is generally better to create a new file per style scope.
 *
 *= require font-awesome
 *= require ./lib/bootstrap-4.0.0/bootstrap.min
 *= require ./lib/jquery.smartmenus.bootstrap.css
 *= require_tree .
 *= require_self

 */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500;700;900&display=swap');

@charset "UTF-8";
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}
html {
  line-height: 2;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th, td {
  text-align: left;
  font-weight: 500;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}
q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
}

a img {
  border: none;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block;
}

*, *:before, *:after {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  overflow-wrap: break-word;
  word-break: break-word;
}

html, body {
  font-family:  "Noto Sans CJK JP", "Noto Sans JP", "Noto Sans CJK JP", "ヒラギノ角ゴ Pro", "游ゴシック", "游明朝", "ヒラギノ明朝 Pro", "Oswald", "メイリオ", "游ゴシック", "Noto Serif", "Helvetica Neue", "Helvetica", "Arial", "sans-serif";
  line-height: 1.8;
  text-align: justify;
  -webkit-text-size-adjust: 100%;
  font-size: 10px;
  font-weight: 500;
  color: #333333;
}

a,a:hover {
  text-decoration: none;
}

img {
  display: block;
  width: 100%;
}

h1, h2, h3, h4, h5,  h6, p {
  margin: auto;
}

p, dt, dd {
  overflow-wrap: break-word;
}

body {
  margin: auto; 
  position: relative;
}

/*--------------------------responsive ---------------------*/
.clearfix::before,
.clearfix::after {
    display: block;
    content: "";
    clear: both;
  }


/*--------------------------------------------------------------------------*/
/* Common
---------------------------------------------------------------------------------*/

body {
  position: relative;
  margin: 0;
}

h1, h2, h3, h4 {
  line-height: 1.5;
  font-weight: 700;
  margin: 0;
}
p, td, label, div, ul, li, strong  {
  font-size: 1.6rem;
  margin: 0;
}
p {
  white-space: pre-line;
}
p .blue  {
  color: #014498;
}
p .underline {
  box-shadow: inset 0 -0.7rem #ffff00;
}
p .decoration {
  text-decoration: underline;
}
main {
  position: relative;
}
.py5 {
  padding: 5rem 0;
}
.btn {
  display: block;
  cursor: pointer;
}
.container {
  width: 100rem;
  margin-left: auto;
  margin-right: auto;
  z-index: 20;
  position: relative;
}
.imgFull {
  display: block;
  width: 100%;
  object-fit: contain; 
}
.wrapper {
  width: 120rem;
  margin-left: auto;
  margin-right: auto;
}
.hLogo,
.fLogo {
  width: 20rem;
}
.hSpPhone {
  display: none;
}
.color1 {
  color: #F26419;
}
.color2 {
  color: #33658A;
}
.header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.6rem 0;
}
.hMenu ul {
  display: flex;
  justify-content: center;
  align-items: center;
}
.hMenu li {
  display: block;
  margin-left: 1.5rem;
}
.hMenu li a {
  display: block;
}
.hPhone {
  width: 25.5rem;
}
.hMail,
.hLine{
  width: 20.8rem;
}
.hMail {
  position: relative;
  bottom: 0.4rem;
}
.main {
  padding: 5rem 0;
}
.menu {
  background: #33658A;
  padding: 1.3rem 0;
}
.menu ul {
  display: flex;
  justify-content: center;
  align-items: center;
  list-style: none;
}
.menu li  {
  width: 25%;
}
.menu ul>li:not(:first-child) {
  border-left: 0.2rem solid white;
}
.menu li a {
  display: block;
  color: white;
  font-size: 2.5rem;
  text-align: center;
  line-height: 1.2;
}
.riskTitle {
  padding: 3.2rem 2rem;
  background: #33658A;
  color: white;
  font-size: 3.5rem;
  text-align: center;
  position: relative;
  line-height: 1.2;
}
.riskTitle:after {
  content: "";
  width: 0;
  height: 0;
  border-left: 3.5rem solid transparent;
  border-right: 3.5rem solid transparent;
  border-top: 2.6rem solid #33658A;
  position: absolute;
  left: calc(50% - 3.5rem);
  bottom: -2.5rem;
}
.riskBody {
  position: relative;
  padding: 7rem 10rem;
}
.pattern {
  position: relative;
}
.pattern:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: url(img/pattern1.png);
  background-repeat: repeat;
  z-index: -1;
  opacity: 0.2;
}
.riskList {
  list-style: none;
}
.riskListTitle {
  font-size: 3.5rem;
}
.riskListTitle span {
  color: white;
  padding: 0.5rem 1.3rem;
  line-height: 1.4;
  font-size: 2.2rem;
  background: #F26419;
  display: inline-block;
  margin-right: 1.5rem;
  position: relative;
  top: -0.4rem;
}
.riskList>li:not(:first-child) {
  margin-top: 5rem;
}
.riskListMedia {
  margin-top: 2.2rem;
}
.banner {
  padding: 2rem;
  background: #E1EEF5;
}
.banner ul {
  display: flex;
  justify-content: center;
  align-items: center;
}
.banner ul li {
  display: block;
}
.bb_mail {
  width: 40rem;
  margin: 2rem 3rem;
  display: block;
}
.bb_line {
  width: 39rem;
  margin: 1rem 3rem;
  display: block;
  position: relative;
  bottom: -0.7rem;
}
.reasonTtl  {
  width: 52rem;
  margin: auto;
}
.title {
  font-size: 5rem;
  color: #33658A;
  text-align: center;
}
.title .sm {
  font-size:0.68em;
  color: black;
}
.supportList {
  display: grid;
  column-gap: 3rem;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 3rem;
  list-style: none;
}
.supportImg {
  width: 22.8rem;
  margin: auto;
}
.supportDesc {
  font-size: 2rem;
  text-align: center;
  margin-top: 1rem;
}
.supportItem h3 {
  font-size: 2rem;
  text-align: center;
  height: 7rem;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.2;
}
.supportItem p  {
  font-size: 1.6rem;
}
.price {
  padding: 5rem 10rem;
}
.priceList {
  background: #33658A;
}
.priceContent {
  position: relative;
}
.priceIcon {
  width: 9rem;
  position: absolute;
  right: 0;
  top: -5rem;
}
.priceTitle {
  color :white;
  font-size: 5rem;
}
.priceItem {
  padding: 7.5rem 8rem;
}
.priceTbl {
  width: 100%;
  border-collapse: collapse;
}
.priceTbl,
.priceTbl th,
.priceTbl td {
  border: 2px solid #33658A;
}
.priceTbl thead tr>th {
  color: white;
  font-size: 2.1rem;
  text-align: center;
  padding: 2rem;
}
.priceTbl thead tr>th:nth-child(1) {
  background: #39B54A;
}
.priceTbl thead tr>th:nth-child(2) {
  background: #F26419;
}
.priceTbl tbody tr>td:nth-child(1) {
  font-size: 2.1rem;
}
.priceTbl tbody tr>td:nth-child(2) {
  font-size: 2.5rem;
  color:#F26419;
  text-align: center;
}
.priceTbl tbody tr>td {
  background: white;
  padding: 1rem 0.5rem;
}
.priceTbl tbody tr>td .lg {
  font-size: 0.85em;
}
.priceTbl tbody tr>td .sm {
  font-size: 0.7em;
}
.priceDesc {
  color: white;
  margin-top: 1.6rem;
  font-size: 1.2rem;
}
.pricePoint {
  margin-top: 3.4rem;
  margin-bottom: 5rem;
}
.pricePoint h3 {
  font-size: 2rem;
  color: white;
  border-bottom: 2px solid white;
}
.pricePoint p {
  font-size: 1.6rem;
  color: white;
  line-height: 1.6;
  margin-top: 1rem;
  font-weight: 400;
}
.profile {
  background: url(img/profile.jpg);
  background-position: center;
  background-repeat: no-repeat;
}
.profileList {
  display: flex;
  flex-wrap: wrap;
  column-gap: 3.5rem;
  row-gap: 3.5rem;
  grid-template-columns: repeat(3, 1fr);
  justify-content: center;
  margin-top: 5rem;
}
.profileItem {
  padding: 2rem;
  border: 1px solid #33658A;
  position: relative;
  box-shadow: 5px 5px #72A3C1;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  background: white;
}
.profileImg {
  width: 10rem;
  margin-right: 0.8rem;
}
.profileText h3 {
  font-size: 2rem;
}
.profileText h3 span {
  font-size: 0.5em;
  color: #33658A;
  border: 1px solid #33658A;
  border-radius: 20px;
  padding: 0 0.5rem;
  margin-left: 1rem;  
}
.profileFeature {
  margin-top: 1.2rem;
}
.profileFeature li {
  font-size: 1.4rem;
  list-style: none;
}
.profileFeature li span {
  color: white;
  background: #333333;
  margin-right: 0.5rem;
  font-size: 0.7em;
  padding: 0.2rem 0.5rem;
}
.company {
  position: relative;
}
.map {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 50%; 
}
.map iframe {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: none;
}
.companyText {
  padding: 5.5rem 10rem 5.5rem 5.5rem;
  background: #4D4D4D;
  width: 50%;
  border: none;
  margin-left: auto;
}
.companyTbl {
  width: 100%;
}
.companyTbl td {
  color :white;
  font-size: 16px;
  vertical-align: top;
  font-weight: 400;
  line-height: 1.5;
  padding: 1rem 0;
}
.companyTbl td:first-child {
  width: 8.7rem;
}
.promizeTtl {
  width: 59.3rem;
  margin: auto;
}
.promizeItem {
  position: relative;
  padding-right: 32rem;
  list-style: none;
}
.promizeImg {
  position: absolute;
  right: 0;
  top:0;
  width: 30rem;
}
.promizeItem h3 {
  font-size: 2.8rem;
  color: #33658A;
  border-bottom: 1px solid #33658A;
}
.promizeItem h3 span {
  position: relative;
  top: -2.5rem;
}
.promizeItem h3 img {
  width: 7rem;
  display: inline-block;
  margin-right: 1.5rem;
}
.promizeItem p {
  font-size: 1.6rem;
  margin-top: 2rem;
}
.promizeList,
.faqList {
  padding: 0 10rem;
  margin-top: 5rem;
}
.promizeList>li:not(:first-child) {
  margin-top: 3rem;
}
.faqList {
  counter-reset: num;
}
.faqList dl dt {
  font-size: 2rem;
  padding: 2.5rem 5rem 2.5rem 8rem;
  position: relative;
  background: #E1EEF5;
  cursor: pointer;
}
.faqList dl dt:before {
  counter-increment: num;
  content: "0" counter(num);
  position: absolute;
  left: 0;
  top: 0;
  width: 5.4rem;
  height: 5.4rem;
  background: #33658A;
  font-size: 2.8rem;
  color: white;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  left: 2rem;
  top: 1.5rem;
}
.faqList dl dt:after {
  content: "＋";
  position: absolute;
  right: 2rem;
  font-size: 2rem;
  color: #33658A;
}
.faqList dl dt.opened:after {
  content: "－";
}
.faqList dl dd {
  padding: 2rem 0;
  white-space: pre-line;
}
.faqList>dl:not(:first-child) {
  margin-top: 2rem;
}
.contact {
  background: url(img/contact.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  padding-left: 40rem;
}
.contactTtl {
  font-size: 5rem;
  color: #F26419;
}
.contactText {
  margin-top: 2rem;
}
.contactText span {
  font-size: 0.8em;
  color: #808080;
}
.personImg {
  position: absolute;
  left: 8rem;
  bottom: 0;
  width: 28.6rem;
}
.bc_phone {
  width: 40.4rem;
  display: block;
} 
.bc_mail,
.bc_line {
  width: 32.9rem;
  display: block;
}
.bc_mail {
  position: relative;
  bottom: 0.7rem;
}
.bc_line {
  margin-left: 3.5rem;
}
.contactPhone {
  margin-top: 2rem;
}
.contactPhone p {
  margin-bottom: 1rem;
}
.contactBtns {
  margin-top: 3rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  list-style: none;
}
.form {
  padding: 5rem 10rem;
}
.formDesc {
  text-align: center;
  margin-top: 5rem;
}
.formPhone {
  display: block;
  width: 40.4rem;
  margin: 2rem auto 0;
}
.contactForm {
  margin-top: 4rem;
}
.contactFormLabel {
  padding-right: 4.5rem;
  position: relative;
  display: block;
  text-align: right;
  margin-top: 1rem;
}
.contactFormLabel span {
  color: white;
  background: #E60012;
  border-radius: 5px;
  display: inline-block;
  padding: 0.2rem 0.5rem;
  position: absolute;
  right: 0;
  top: 0.5rem;
  line-height: 1.3;
  font-size: 0.8em;
}
.formText {
  border: 1px solid #33658A;
}
.contactFormItem {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 1rem 0;
}
.contactFormLabel {
  width: 24rem;
}
.contactFormControl {
  width: calc(100% - 27rem);
}
.formText,
.formTextArea {
  width: 100%;
  padding: 1rem;
  font-size: 1.8rem;
  outline: none;
  box-shadow: none;
  vertical-align: top;
}
.formTextArea {
  height: 20rem;
}
.formSubmit {
  width: calc(40% - 2rem);
  height: 7rem;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2rem;
  color: white;
  background: #33658A;
  border: none;
  margin: 0.5rem 1rem;
  cursor: pointer;
  font-weight: normal;
}
.contactFormBtns {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 5rem;
}
.contactFormDesc {
  margin-top: 3rem;
  text-align: center;
}
.fAddress {
  margin-top: 3rem;
  font-size: 1.4rem;
  color: #666666;
}
.footerBtns {
  list-style: none;
  display: flex;
  justify-content: center;
  align-items: center;
}
.fPhone {
  width: 22rem;
  display: block;
}
.fMail,
.fLine {
  width: 18rem;
  margin-left: 2rem;
  display: block;
}
.fMail {
  position: relative;
  bottom: 0.3rem;
}
.footerMenu {
  display: flex;
  justify-content: space-between;
  align-items: center;
  list-style: none;
  margin-top: 7rem;
}
.footerMenu li a {
  color: black;
}
.footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 5rem 10rem;
  background: #E1EEF5;
}
#powered_by_me {
  display: none !important;
}
.contactFormItem .alert {
  color: red;
}
.formConfirm {
  width: 100%;
  padding: 1rem;
  font-size: 1.8rem;
  outline: none;
  box-shadow: none;
  vertical-align: top;
  background: lightgrey;
  min-height: 5rem;
}
.calert {
  font-size: 3rem;
  text-align: center;
}
.alert.calert {
  color: red;
}

.pc {
  display: block !important;
}

.sp {
  display: none !important;
}
@media screen and (max-width: 1200px) {
  html, body {
    font-size: calc(100vw / 130);
  }
}






@media screen and (max-width: 767px) {
  .sp {
    display: block !important;
  }
  .pc {
    display: none !important;
  }
  html, body {
    font-size: calc(100vw / 65);
  }
  p, td, label, div, ul, li, strong {
    font-size: 3vw;
  }
  .py5 {
    padding: 7vw 0;
  }
  .container {
    width: calc(100% - 4rem);
  }
  .wrapper {
    width: 100%;
  }
  .menu {
    padding: 3vw 0;
  }
  .menu li a {
    font-size: 3vw;
  }
  .fvImg {
    content: url(img/fv_sp.jpg);
  }
  .onayamiImg {
    content: url(img/onayami_sp.jpg);
  }
  .reasonImg {
    content: url(img/reason_sp.png);
  }
  .support1Img {
    content: url(img/support1_sp.png);
  }
  .support2Img {
    content: url(img/support2_sp.png);
  }
  .support3Img {
    content: url(img/support3_sp.png);
  }
  .hMenu {
    position: fixed;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 10;
    background: white;
    box-shadow: 0 -3px 6px rgb(0 0 0 / 16%);
    padding: 2vw 2vw 1vw;
  }
  .hLogo {
    width: 38vw;
    display: block;
  }
  .fLogo {
    width: 60vw;
    display: block;
    margin: auto;
  }
  .hMenu .phone {
    display: none;
  }
  .hMail {
    width: 47vw;
    bottom: 1vw;
  }
  .hLine {
    width: 46vw;
  }
  .header {
    padding: 2vw;
  }
  .hSpPhone {
    width: 32rem;
    display: block;
  }
  .main {
    padding: 0;
  }
  .riskBody {
    position: relative;
    padding: 6vw 3vw;
  }
  .riskListTitle {
    font-size: 4vw;
  }
  .riskListMedia {
    margin-top: 1vw;
  }
  .riskList>li:not(:first-child) {
    margin-top: 5vw;
  }
  .banner {
    display: none;
  }
  .supportList {
    display: block;
    padding: 3vw;
  }
  .supportItem {
    width: 100%;
    position: relative;
    padding-left: 26vw;
    min-height: 37vw;
  }
  .supportImg {
    position: absolute;
    left: 0;
    top: 0;
    width: 23vw;
  }
  .supportItem h3 {
    font-size: 4vw;
    line-height: 1.2;
    margin-bottom: 2vw;
    height: auto;
    text-align: left;
    display: block;
  }
  .supportItem:after {
    content: "";
    display: table;
    clear: both;
    float: none;
  }
  .supportItem p {
    font-size: 3vw;
    line-height: 1.5;
  }
  .supportItem:not(:first-child) {
    margin-top: 3vw;
  }
  .price {
    padding: 6vw 3vw;
  }
  .priceItem {
    padding: 6vw 3vw;
  }
  .priceTbl tr td .sm {
    display: block;
  }
  .priceTbl thead tr>th,
  .priceTbl tbody tr>td:nth-child(1),
  .priceTbl tbody tr>td:nth-child(2) {
    font-size: 4vw;
    line-height: 1.4;
  }
  .priceTbl tbody tr>td:nth-child(1),
  .priceTbl tbody tr>td:nth-child(2) {
    padding: 2vw 1vw;
  }
  .priceDesc {
    margin-top: 2vw;
    font-size: 2.5vw;
    line-height: 1.5; 
  }
  .pricePoint {
    margin-top: 4vw;
    margin-bottom: 5vw;
  }
  .pricePoint h3 {
    font-size: 4vw;
  }
  .pricePoint p {
    font-size: 3vw;
    line-height: 1.6;
    margin-top: 2vw;
  }
  .priceTitle {
    font-size: 7vw;
  }
  .priceIcon {
    width: 15vw;
    top: -10vw;
  }
  .title {
    font-size: 7vw;
  }
  .profileList {
    display: block;
  }
  .profileItem {
    padding: 3vw;
    width: 80%;
    margin: 4vw auto;
  }
  .profileImg {
    width: 25vw;
    margin-right: 4vw;
  }
  .profileText h3 {
    font-size: 5vw;
  }
  .profileFeature li {
    font-size: 4vw;
  }
  .profile {
    background-image: url(img/profile_sp.jpg);
  }
  .bookImg {
    content: url(img/book_sp.jpg);
  }
  .companyText {
    display: block;
    width: 100%;
  }
  .map {
    position: relative;
    height: 100vw;
    width: 100%;
    top: 0;
    right: 0;
    left: 0;
    bottom: auto;
  }
  .companyText {
    padding: 6vw 3vw;
  }
  .companyTbl td {
    font-size: 4vw;
  }
  .companyTbl td:first-child {
    width: 23vw;
  }
  .promizeList, .faqList {
    padding: 0 3vw;
    margin-top: 6vw;
  }
  .promizeImg {
    position: static;
    width: 30vw;
    margin-left: 3vw;
    float: right;
  }
  .promizeItem {
    position: relative;
    padding-right: 0;
    list-style: none;
  }
  .promizeItem h3 {
    font-size: 4vw;
    color: #33658A;
    border-bottom: 1px solid #33658A;
    width: calc(100% - 36vw);
    display: flex;
    justify-content: flex-start;
    align-items: center;
    height: 15vw;
  }
  .promizeItem h3 img {
    width: 10vw;
    margin-right: 3vw;
  }
  .promizeItem h3 span {
    top: 0;
    line-height: 1.2;
  }
  .promizeItem p {
    font-size: 3vw;
    margin-top: 2vw;
  }
  .faqList dl dt {
    font-size: 3.5vw;
    padding: 4vw 8vw 4vw 9rem;
    line-height: 1.3;
  }
  .faqList dl dd {
    padding: 3vw 0;
  }
  .contactBtns {
    display: block; 
    margin-top: 2vw;
    position: relative;
  }
  .personImg {
    left: 1rem;
    bottom: 0;
    width: 50vw;
  }
  .contact {
    background-image: url(img/contact_sp.jpg);
    padding-left: 43vw;
    padding-right: 3vw;
    overflow: hidden;
  }
  .contactText {
    margin-top: 2vw;
    line-height: 1.3;
    position: relative;
  }
  .bc_phone {
    width: 46vw;
  }
  .bc_mail, .bc_line {
    width: 30rem;
    display: block;
    margin-left: 0;
  }
  .form {
    padding: 7vw 3vw;
  }
  .contactPhone {
    margin-top: 0;
  }
  .contactFormItem {
    display: block;
  }
  .contactFormLabel {
    padding-right: 0;
    position: relative;
    display: block;
    text-align: left;
    margin-top: 2vw;
    width: 100%;
    font-size: 4vw;
  }
  .contactFormControl {
    display: block;
    width: 100%;
  }
  .formText, .formTextArea {
    padding: 2vw;
    font-size: 4vw;
  }
  .formTextArea {
    height: 40vw;
  }
  .contactFormLabel span {
    color: white;
    border-radius: 2px;
    display: inline-block;
    padding: 0.2vw 1vw;
    position: static;
    font-size: 0.8em;
    margin-left: 2vw;
  }
  .contactForm {
    margin-top: 2vw;
  }
  .formPhone {
    width: 60vw;
    margin: 2vw auto 0;
  }
  .formDesc {
    margin-top: 4vw;
  }
  .contactFormBtns {
    margin-top: 6vw;
  }
  .formSubmit {
    width: calc(50% - 2vw);
    height: 10vw;
    font-size: 3.5vw;
  }
  .contactFormDesc {
    margin-top: 3vw;
  }
  .footer {
    padding: 5vw 3vw;
    display: block;
  }
  .footerLeft,
  .footerRight {
    width: 100%;
  }
  .fAddress {
    margin-top: 3vw;
    font-size: 3vw;
    text-align: center;
  }
  .footerBtns {
    display: none;
  }
  .footer {
    margin-bottom: 12vw;
  }
  .footerMenu {
    margin-top: 3vw;
  }
  .footerMenu li a {
    font-size: 3.5vw;
  }
}