@charset "UTF-8";

/* WEB FONTs 游ゴシックかすれ予防*/
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 100;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 200;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 300;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 400;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold");
  font-weight: bold;
}
@font-face {
  font-family: "Helvetica Neue";
  src: local("Helvetica Neue Regular");
  font-weight: 100;
}
@font-face {
  font-family: "Helvetica Neue";
  src: local("Helvetica Neue Regular");
  font-weight: 200;
}
.f-min {
  font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E",
    "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}
.f-min-02 {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Sawarabi Mincho",
    "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.f-gothic {
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック",
    "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",
    Verdana, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.f-eb {
  font-family: "EB Garamond", serif;
}

/* セレクトボックスのデフォルトスタイルを初期化 */
#page-garage select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-shadow: none;
  cursor: pointer;
  background: #fff
    url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23555%22%2F%3E%3C%2Fsvg%3E)
    no-repeat right 5px top 55%;
  background-size: 16px 16px;
  border-radius: 4px;
  width: 63.5%;
}

@media screen and (min-width: 768px), print {
  /* common
-------------------------------------*/
  #page-garage {
    max-width: 1920px;
    margin-inline: auto;
    width: 100%;
    background-color: #4d4d4d;
    color: #ffffff;
  }
  .fadein {
    opacity: 0;
  }

  /* header
-------------------------------------*/
  #page-garage-header {
    width: 100%;
    padding: 10px 36px;
    margin-inline: auto;
  }
  #page-garage-header .header-inner {
    display: flex;
    justify-content: space-between;
    width: 100%;
  }
  #page-garage-header .logo {
    margin: 28px 0 0;
  }

  /* mv
-------------------------------------*/

  #page-garage .mv-area {
    position: relative;
  }
  #page-garage .mv-area .mv img {
    width: 100%;
  }
  #page-garage .mv-area .mv-ttl-box {
    position: absolute;
    top: 135px;
    left: 50%;
    transform: translateX(-50%);
  }
  #page-garage .mv-area .mv-ttl-box .subt {
    font-size: 28px;
    font-weight: 400;
    letter-spacing: 0.12em;
    text-align: center;
  }
  #page-garage .mv-area .mv-ttl-box .main-ttl {
    margin: 42px 0 0;
  }
  #page-garage .mv-area .mv-ttl-box .main-ttl img {
    /* width: 100%; */
  }

  /* scrolldown */
  #page-garage .scrolldown {
    position: absolute;
    left: 49.7%;
    bottom: 29px;
    z-index: 10;
  }
  #page-garage .scrolldown-text {
    font-size: 12px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: 0;
    rotate: 90deg;
    color: #222222;
    margin: 0 0px 0 0;
  }
  #page-garage .scrolldown-bar {
    position: absolute;
    right: 40px;
    top: -15px;
    width: 1px;
    height: 120px;
    background: #ffffff;
    overflow: hidden;
  }
  #page-garage .scrolldown-bar-active {
    position: absolute;
    bottom: 100%;
    left: 0;
    width: 2px;
    height: 50px;
    background: #222222;
    animation: 3s ease-in-out backwards infinite scrollDown;
  }
  @keyframes scrollDown {
    0% {
      bottom: 100%;
    }
    100% {
      bottom: -50px;
    }
  }

  /* concept
-------------------------------------*/
  #page-garage .top-concept {
    position: relative;
  }
  #page-garage .top-concept .concept-box {
    background: url("../images/garage-lp/concept-img.png") no-repeat left
        top/auto 100%,
      #918982;
    background-size: auto, cover;
    width: 91.66%;
    padding: 240px 220px 231px;
    position: relative;
  }
  #page-garage .top-concept .concept-box .sec-ttl {
    font-size: 80px;
    font-weight: 500;
    line-height: 1.3125;
    letter-spacing: 0;
    color: #c2bab3;
  }
  #page-garage .top-concept .concept-box .subt {
    font-size: 36px;
    font-weight: 400;
    line-height: 1.6111;
    letter-spacing: 0.12em;
    margin: 36px 0 0;
  }
  #page-garage .top-concept .concept-box .content {
    margin: 593px 0 0;
    position: relative;
    z-index: 3;
  }
  #page-garage .top-concept .concept-box .content .ttl {
    font-size: 28px;
    font-weight: 400;
    line-height: 1.6071;
    letter-spacing: 0.12em;
    margin: 0;
  }
  #page-garage .top-concept .concept-box .content .txt {
    font-size: 16px;
    font-weight: 500;
    line-height: 2.375;
    letter-spacing: 0.1em;
    margin: 67px 0 0;
  }
  #page-garage .top-concept .photo {
    position: absolute;
    top: 552px;
    right: 0;
    width: 69.79%;
    z-index: 1;
  }
  #page-garage .top-concept .photo img {
    width: 100%;
  }

  /* common-box
-------------------------------------*/
  #page-garage .common-box {
    margin: 320px 0 0;
    position: relative;
  }
  #page-garage .common-box .sec-photo {
    width: 1850px;
    margin-inline: auto;
  }
  #page-garage .common-box .sec-photo img {
    width: 100%;
  }
  #page-garage .common-box .ttl-frame {
    margin-top: -170px;
    width: 1440px;
    margin-inline: auto;
    position: relative;
  }
  #page-garage .common-box .ttl-frame .num-box {
    display: inline-flex;
    flex-direction: column;
    /* width: 6.3%; */
  }
  #page-garage .common-box .ttl-frame .num-box .num {
    font-size: 90px;
    font-weight: 500;
    line-height: 0.66;
    letter-spacing: 0;
    margin: 0;
  }
  #page-garage .common-box .ttl-frame .num-box span {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.2857;
    letter-spacing: 0;
    display: inline;
    position: relative;
  }
  #page-garage .common-box .ttl-frame .num-box span::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 17px;
    width: 23px;
    height: 1px;
    background: #ffffff;
  }
  #page-garage .common-box .ttl-frame .sec-ttl {
    width: 54.6%;
    margin: 59px 0 0 14px;
  }
  #page-garage .common-box .ttl-frame .sec-ttl img {
    width: 100%;
  }
  #page-garage .common-box .ttl-frame .subt {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: 0.1em;
    margin: 33px 0 0 40px;
  }
  #page-garage .common-box .txt {
    font-size: 20px;
    font-weight: 500;
    line-height: 2.1;
    letter-spacing: 0.1em;
    width: 1200px;
    margin-inline: auto;
    margin-top: 131px;
    margin-bottom: 0;
  }
  #page-garage .common-box .txt-bottom {
    margin-top: 111px;
  }
  /* concept01-04
-------------------------------------*/
  #page-garage .concept01 .photo02 {
    width: 57.81%;
    margin: 114px 240px 0 auto;
    margin-left: auto;
  }
  #page-garage .concept01 .photo02 img {
    width: 100%;
  }
  #page-garage .concept02 {
    margin-top: 311px;
  }
  #page-garage .concept02 .ttl-frame {
    margin-top: -181px;
  }
  #page-garage .concept02 .ttl-frame .sec-ttl {
    width: 72.92%;
    margin: 70px 0 0 14px;
  }
  #page-garage .concept02 .photo-frame {
    display: flex;
    justify-content: space-between;
    width: 1240px;
    margin-inline: auto;
    margin-top: 114px;
  }
  #page-garage .concept02 .photo-frame .photo02 {
    width: 43.54%;
  }
  #page-garage .concept02 .photo-frame .photo02 img {
    width: 100%;
  }
  #page-garage .concept02 .photo-frame .photo03 {
    margin: 140px 0 0;
    width: 43.54%;
  }
  #page-garage .concept02 .photo-frame .photo03 img {
    width: 100%;
  }
  #page-garage .concept02.common-box .txt.txt-bottom {
    margin-top: 0;
  }
  #page-garage .concept03 .ttl-frame {
    margin-top: -182px;
  }
  #page-garage .concept03 .ttl-frame .sec-ttl {
    width: 69.66%;
    margin: 68px 0 0 13px;
  }
  #page-garage .concept03 .photo-frame {
    margin: 112px 0 0;
    position: relative;
  }
  #page-garage .concept03 .photo-frame .photo02 {
    margin: 0;
    width: 51.5625%;
    padding: 0 0 630px;
  }
  #page-garage .concept03 .photo-frame .photo02 img {
    width: 100%;
  }
  #page-garage .concept03 .photo-frame .photo03 {
    margin: 0;
    width: 19.53125%;
    position: absolute;
    top: 370px;
    right: 240px;
  }
  #page-garage .concept03 .photo-frame .photo03 img {
    width: 100%;
  }
  #page-garage .concept03 .photo-frame .photo04 {
    margin: 0;
    width: 19.53125%;
    position: absolute;
    bottom: 0;
    right: 655px;
  }
  #page-garage .concept03 .photo-frame .photo04 img {
    width: 100%;
  }
  #page-garage .concept03 .txt-bottom {
    margin-top: 112px;
  }
  #page-garage .concept04 {
    margin-top: 312px;
    padding-bottom: 313px;
  }
  #page-garage .concept04 .ttl-frame {
    margin-top: -179px;
  }
  #page-garage .concept04 .ttl-frame .sec-ttl {
    width: 76.32%;
    margin: 68px 0 0 13px;
  }
  #page-garage .concept04 .photo01 {
    width: 76.04%;
    margin-left: auto;
    margin-top: 115px;
  }
  #page-garage .concept04 .photo01 img {
    width: 100%;
  }
  #page-garage .concept04 .lead {
    width: 1200px;
    margin: 117px auto 0;
    font-size: 28px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.1em;
  }
  #page-garage .concept04 .lead span {
    margin: 0 0 0 14px;
  }
  #page-garage .concept04 .txt-bottom {
    margin-top: 28px;
  }

  /* works
-------------------------------------*/
  #page-garage .works {
    background-color: #b2a59d;
  }
  #page-garage .works .ttl-frame {
    position: relative;
    top: -65px;
    text-align: center;
  }
  #page-garage .works .ttl-frame .sec-ttl {
    font-size: 160px;
    font-weight: 500;
    line-height: 1.3062;
    letter-spacing: 0;
    color: #4d4d4d;
  }
  #page-garage .works .ttl-frame .subt {
    font-size: 28px;
    font-weight: 400;
    line-height: 1.6071;
    letter-spacing: 0.12em;
    margin: 17px 0 0;
  }
  #page-garage .works .sliderArea {
    position: relative;
    margin: 30px 0 0;
  }
  #page-garage .works .sliderArea .slider {
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 1920px;
    margin: 0 100px 0 0;
    position: relative;
    z-index: 10;
  }
  #page-garage .works .sliderArea .slider .photo01 {
    width: 68.75%;
  }
  #page-garage .works .sliderArea .slider .photo02 {
    width: 30.2%;
  }
  #page-garage .works .sliderArea .arrow_box {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    position: absolute;
    bottom: 147px;
    right: 420px;
    gap: 20px;
  }
  #page-garage .works .sliderArea .arrow_box .prev-arrow,
  #page-garage .works .sliderArea .arrow_box .next-arrow {
    display: block;
    width: 60px;
    height: 60px;
    transition: all 0.3s ease;
    cursor: pointer;
    position: relative;
    z-index: 100;
    background-size: cover;
    background-repeat: no-repeat;
  }
  #page-garage .works .sliderArea .arrow_box .prev-arrow {
    background-image: url("../images/garage-lp/slide-prev.svg");
  }
  #page-garage .works .sliderArea .arrow_box .next-arrow {
    background-image: url("../images/garage-lp/slide-next.svg");
  }

  /* message
-------------------------------------*/
  #page-garage .message {
    position: relative;
    background-color: #b2a59d;
  }
  #page-garage .message .inner-box {
    background-color: #e5e5e5;
    width: 1740px;
    margin-inline: auto;
    padding: 312px 0 148px;
    margin-top: -66px;
  }
  #page-garage .message .inner-box .sec-ttl {
    font-size: 54px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.12em;
    text-align: center;
    color: #222222;
    margin: 0;
  }
  #page-garage .message .inner-box .sec-ttl .small {
    font-size: 40px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.12em;
    display: block;
    margin: 0;
  }
  #page-garage .message .photo {
    width: 100%;
    position: relative;
  }

  /* mail
-------------------------------------*/
  #page-garage #mail {
    width: 1740px;
    margin-inline: auto;
    background-color: #e5e5e5;
    padding: 140px 0 131px;
    color: #222222;
    margin-top: -15px;
    margin-bottom: -1px;
  }
  #page-garage #mail .form-Box-inner {
    max-width: 1000px;
    margin-inline: auto;
    position: relative;
    width: 95%;
  }
  #page-garage #mail .sec-ttl {
    font-size: 80px;
    font-weight: 500;
    line-height: 1.3125;
    letter-spacing: 0;
    text-align: center;
    color: #4d4d4d;
  }
  #page-garage #mail .subt {
    font-size: 24px;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0.1em;
    margin: 0 0 0;
    text-align: center;
  }
  #page-garage #mail .list {
    margin: 50px 0 0;
  }
  #page-garage #mail .list li {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.8571;
    letter-spacing: 0.05em;
  }

  /* form -------------------------------------*/
  .Form {
    margin: 35px 0 0;
  }
  .form-Box .error {
    margin-bottom: 16px;
  }
  .form-Box .attention-color {
    color: #f00;
  }
  .form-Box table {
    margin-bottom: 60px;
    font-size: 16px;
    line-height: 2;
    width: 100%;
    border-collapse: collapse;
    letter-spacing: 0.05em;
  }
  .form-Box tr {
    border-top: 1px solid #9eacb6;
  }
  .form-Box tr:last-child {
    border-bottom: 1px solid #9eacb6;
  }
  .form-Box th {
    font-size: 16px;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.05em;
    text-align: left;
    padding: 25px 39px;
    vertical-align: middle;
    width: 31%;
  }
  .form-Box th.required::after {
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue",
      "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro",
      "Hiragino Kaku Gothic Pro", Verdana, Meiryo, Osaka, "ＭＳ Ｐゴシック",
      "MS PGothic", sans-serif;
    position: absolute;
    content: "必須";
    color: #fff;
    background: #bb281f;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.05em;
    right: 6px;
    top: 50%;
    padding: 6px 15px;
    border-radius: 4px;
    transform: translateY(-50%);
  }
  .form-Box th p {
    margin: 0;
  }
  .form-Box th.required {
    position: relative;
  }
  .form-Box .post-number .input_area input {
    padding: 4.6% 10.7%;
    width: 100%;
  }
  .form-Box .post-number .input_area.flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .form-Box .post-number .input_area p {
    width: 30%;
  }
  .form-Box .post-number .input_area .subtxt {
    width: 67%;
  }
  .form-Box .address {
    border-top: none;
  }
  .form-Box .address {
    vertical-align: top;
  }
  .form-Box .address .input_area select {
    padding: 2.1% 2.7%;
    margin: 0 0 6px;
  }
  .form-Box .address .confirm_area p {
    display: none;
  }
  .form-Box .address .input_area input {
    width: 94%;
  }
  .form-Box .remarks {
    vertical-align: top;
    line-height: 1.75;
  }
  .form-Box td {
    text-align: left;
    width: 70%;
    vertical-align: middle;
    padding: 0 14px;
  }
  .form-Box td p {
    margin: 0;
  }

  .form-Box .button {
    border: 0;
    padding: 0;
    margin: 0;
    text-align: center;
  }
  .form-Box .button:hover {
    cursor: pointer;
    cursor: hand;
    opacity: 0.8;
  }
  .form-Box input[type="text"],
  .form-Box input[type="email"],
  .form-Box input[type="tel"],
  .form-Box input[type="date"],
  .form-Box input[type="datetime-local"],
  .form-Box select,
  .form-Box textarea {
    font-family: inherit;
    font-size: 16px;
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.05em;
    padding: 1.4% 2.7%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    background: #fff;
    width: 410px;
    border: none;
  }
  .form-Box textarea {
    width: 94.3%;
    height: 159px;
    margin: 15px 0 7px;
  }
  .pritextt p {
    text-align: center;
  }
  .wpcf7-checkbox span {
    margin: 0;
    font-size: 16px;
    font-weight: 500;
    line-height: 2.375;
    letter-spacing: 0.05em;
  }
  input[type="checkbox"] {
    width: 19px;
    height: 19px;
    padding: 5px 0 0 0;
    vertical-align: top;
    margin: 9px 3px 0 0;
  }
  #mail .pritextt {
    margin: 0 0 45px;
  }
  #mail .confirm_button,
  #mail #send_button,
  #mail #back_button {
    border: none;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 800px;
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    line-height: 2.25;
    letter-spacing: 0.05em;
    padding: 22px 0;
    margin-bottom: 20px;
    position: relative;
    top: 0;
    transition: 0.2s ease-in-out;
    margin: 0 auto;
    display: block;
    background: #b4501c;
    cursor: pointer;
  }
  #mail input[type="submit"] {
    background-color: #127749;
    color: #fff;
    width: 800px;
  }
  #mail #back_button {
    background: #333;
  }
  #mail #confirm_area {
    text-align: center;
  }
  #mail #confirm_area p {
    display: inline-block;
    position: relative;
  }
  #mail #send_area {
    text-align: center;
  }
  #mail #send_area p {
    display: inline-block;
    position: relative;
  }
  #mail #send_button:hover {
    opacity: 0.8;
  }
  .priv-title {
    text-align: center;
    margin-bottom: 20px;
  }
  .priv-text {
    padding: 20px;
    overflow-y: scroll;
    height: 240px;
    margin-bottom: 41px;
    background: #fff;
  }
  .priv-text .priv-ttl {
    margin-bottom: 10px;
    font-size: 16px;
    font-weight: bold;
  }
  .priv-text p {
    margin-bottom: 20px;
    font-size: 13px;
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: #ccc solid 1px;
  }
  .priv {
    text-align: center;
    margin-bottom: 30px;
  }
  .priv-text .tt {
    margin-bottom: 10px;
    font-size: 20px;
    color: #333;
    font-weight: bold;
  }

  #mail th.top {
    text-align: start;
  }

  #mail input#address01 {
    margin-bottom: 8px;
  }
}

@media screen and (min-width: 768px) and (max-width: 1919px) {
  /* mv
-------------------------------------*/
  #page-garage {
    max-width: 100.052vw;
    margin-inline: auto;
    width: 100%;
    background-color: #4d4d4d;
    color: #ffffff;
  }
  #page-garage .mv-area {
    position: relative;
  }
  #page-garage .mv-area .mv img {
    width: 100%;
  }
  #page-garage .mv-area .mv-ttl-box {
    position: absolute;
    top: 7.035vw;
    left: 50%;
    transform: translateX(-50%);
  }
  #page-garage .mv-area .mv-ttl-box .subt {
    font-size: 1.459vw;
    font-weight: 400;
    letter-spacing: 0.12em;
    text-align: center;
    font-size: clamp(1.125rem, 0.953rem + 0.66vw, 1.75rem);
  }
  #page-garage .mv-area .mv-ttl-box .main-ttl {
    margin: 2.189vw 0 0;
  }
  #page-garage .mv-area .mv-ttl-box .main-ttl img {
    width: 100%;
  }

  /* scrolldown */
  #page-garage .scrolldown {
    position: absolute;
    left: 49.7%;
    bottom: 1.511vw;
    z-index: 10;
  }
  #page-garage .scrolldown-text {
    /* font-size: 0.625vw; */
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: 0;
    rotate: 90deg;
    color: #222222;
    margin: 0 0px 0 0;
    font-size: clamp(0.625rem, 0.591rem + 0.13vw, 0.75rem);
  }
  #page-garage .scrolldown-bar {
    position: absolute;
    right: 3.084vw;
    top: -1.2vw;
    width: 1px;
    height: 6.253vw;
    background: #ffffff;
    overflow: hidden;
  }
  #page-garage .scrolldown-bar-active {
    position: absolute;
    bottom: 100%;
    left: 0;
    width: 0.104vw;
    height: 2.606vw;
    background: #222222;
    animation: 3s ease-in-out backwards infinite scrollDown;
  }
  @keyframes scrollDown {
    0% {
      bottom: 100%;
    }
    100% {
      bottom: -2.606vw;
    }
  }
}

@media screen and (min-width: 768px) and (max-width: 1919px) {
  /* concept
-------------------------------------*/
  #page-garage .top-concept {
    position: relative;
  }
  #page-garage .top-concept .concept-box {
    background: url("../images/garage-lp/concept-img.png") no-repeat left
        top/auto 100%,
      #918982;
    background-size: auto, cover;
    width: 91.66%;
    padding: 12.507vw 11.464vw 12.038vw;
    position: relative;
  }
  #page-garage .top-concept .concept-box .sec-ttl {
    /* font-size: 4.169vw; */
    font-weight: 500;
    line-height: 1.3125;
    letter-spacing: 0;
    color: #c2bab3;
    font-size: clamp(3.25rem, 2.769rem + 1.86vw, 5rem);
  }
  #page-garage .top-concept .concept-box .subt {
    /* font-size: 1.876vw; */
    font-weight: 400;
    line-height: 1.6111;
    letter-spacing: 0.12em;
    margin: 1.876vw 0 0;
    font-size: clamp(1.375rem, 1.134rem + 0.93vw, 2.25rem);
  }
  #page-garage .top-concept .concept-box .content {
    margin: 30.902vw 0 0;
    position: relative;
    z-index: 3;
  }
  #page-garage .top-concept .concept-box .content .ttl {
    /* font-size: 1.459vw; */
    font-weight: 400;
    line-height: 1.6071;
    letter-spacing: 0.12em;
    margin: 0;
    font-size: clamp(1.125rem, 0.953rem + 0.66vw, 1.75rem);
  }
  #page-garage .top-concept .concept-box .content .txt {
    /* font-size: 0.834vw; */
    font-weight: 500;
    line-height: 2.375;
    letter-spacing: 0.1em;
    margin: 3.491vw 0 0;
    font-size: clamp(0.875rem, 0.841rem + 0.13vw, 1rem);
  }
  #page-garage .top-concept .photo {
    position: absolute;
    top: 28.765vw;
    right: 0;
    width: 69.79%;
    z-index: 1;
  }
  #page-garage .top-concept .photo img {
    width: 100%;
  }
}

@media screen and (min-width: 768px) and (max-width: 1870px) {
  /* common-box
-------------------------------------*/
  #page-garage .common-box {
    margin: 17.112vw 0 0;
    position: relative;
  }
  #page-garage .common-box .sec-photo {
    width: 98.93vw;
    margin-inline: auto;
  }
  #page-garage .common-box .sec-photo img {
    width: 100%;
  }
  #page-garage .common-box .ttl-frame {
    margin-top: -9.037vw;
    width: 77.005vw;
    margin-inline: auto;
    position: relative;
  }
  #page-garage .common-box .ttl-frame .num-box {
    display: inline-flex;
    flex-direction: column;
  }
  #page-garage .common-box .ttl-frame .num-box .num {
    /* font-size: 4.813vw; */
    font-weight: 500;
    line-height: 0.66;
    letter-spacing: 0;
    margin: 0;
    font-size: clamp(2.5rem, 1.611rem + 3.43vw, 5.625rem);
    flex: 0 0 auto;
    display: inline;
  }
  #page-garage .common-box .ttl-frame .num-box span {
    /* font-size: 0.749vw; */
    font-weight: 500;
    line-height: 1.2857;
    letter-spacing: 0;
    display: inline;
    position: relative;
    font-size: clamp(0.438rem, 0.313rem + 0.48vw, 0.875rem);
    flex: 0 0 auto;
  }
  #page-garage .common-box .ttl-frame .num-box span::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0.909vw;
    width: 1.23vw;
    height: 0.053vw;
    background: #ffffff;
  }
  #page-garage .common-box .ttl-frame .sec-ttl {
    width: 54.6%;
    margin: 3.155vw 0 0 0.749vw;
  }
  #page-garage .common-box .ttl-frame .sec-ttl img {
    width: 100%;
  }
  #page-garage .common-box .ttl-frame .subt {
    /* font-size: 1.07vw; */
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: 0.1em;
    margin: 1.765vw 0 0 2.139vw;
    font-size: clamp(0.75rem, 0.608rem + 0.55vw, 1.25rem);
  }
  #page-garage .common-box .txt {
    /* font-size: 1.07vw; */
    font-weight: 500;
    line-height: 2.1;
    letter-spacing: 0.1em;
    width: 64.171vw;
    margin-inline: auto;
    margin-top: 7.005vw;
    margin-bottom: 0;
    font-size: clamp(1rem, 0.929rem + 0.27vw, 1.25rem);
  }
  #page-garage .common-box .txt-bottom {
    margin-top: 5.936vw;
  }

  /* concept01-04
-------------------------------------*/
  #page-garage .concept01 .photo02 {
    width: 57.81%;
    margin: 114px 240px 0 auto;
    margin-left: auto;
  }
  #page-garage .concept01 .photo02 img {
    width: 100%;
  }
  #page-garage .concept02 {
    margin-top: 16.684vw;
  }
  #page-garage .concept02 .ttl-frame {
    margin-top: -9.572vw;
  }
  #page-garage .concept02 .ttl-frame .sec-ttl {
    width: 72.92%;
    margin: 3.743vw 0 0 0.749vw;
  }
  #page-garage .concept02 .photo-frame {
    display: flex;
    justify-content: space-between;
    width: 75.31vw;
    margin-inline: auto;
    margin-top: 6.096vw;
  }
  #page-garage .concept02 .photo-frame .photo02 {
    width: 43.54%;
  }
  #page-garage .concept02 .photo-frame .photo02 img {
    width: 100%;
  }
  #page-garage .concept02 .photo-frame .photo03 {
    margin: 7.487vw 0 0;
    width: 43.54%;
  }
  #page-garage .concept02 .photo-frame .photo03 img {
    width: 100%;
  }
  #page-garage .concept02.common-box .txt.txt-bottom {
    margin-top: 0;
  }
  #page-garage .concept03 .ttl-frame {
    margin-top: -9.572vw;
  }
  #page-garage .concept03 .ttl-frame .sec-ttl {
    width: 69.66%;
    margin: 3.636vw 0 0 0.695vw;
  }
  #page-garage .concept03 .photo-frame {
    margin: 5.989vw 0 0;
    position: relative;
  }
  #page-garage .concept03 .photo-frame .photo02 {
    margin: 0;
    width: 51.5625%;
    padding: 0 0 33.69vw;
  }
  #page-garage .concept03 .photo-frame .photo02 img {
    width: 100%;
  }
  #page-garage .concept03 .photo-frame .photo03 {
    margin: 0;
    width: 19.53125%;
    position: absolute;
    top: 19.786vw;
    right: 12.834vw;
  }
  #page-garage .concept03 .photo-frame .photo03 img {
    width: 100%;
  }
  #page-garage .concept03 .photo-frame .photo04 {
    margin: 0;
    width: 19.53125%;
    position: absolute;
    bottom: 0;
    right: 35.027vw;
  }
  #page-garage .concept03 .photo-frame .photo04 img {
    width: 100%;
  }
  #page-garage .concept03 .txt-bottom {
    margin-top: 5.989vw;
  }
  #page-garage .concept04 {
    margin-top: 16.684vw;
    padding-bottom: 16.738vw;
  }
  #page-garage .concept04 .ttl-frame {
    margin-top: -9.572vw;
  }
  #page-garage .concept04 .ttl-frame .sec-ttl {
    width: 76.32%;
    margin: 3.636vw 0 0 0.695vw;
  }
  #page-garage .concept04 .photo01 {
    width: 76.04%;
    margin-left: auto;
    margin-top: 6.15vw;
  }
  #page-garage .concept04 .photo01 img {
    width: 100%;
  }
  #page-garage .concept04 .lead {
    width: 64.171vw;
    margin: 117px auto 0;
    /* font-size: 1.497vw; */
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.1em;
    font-size: clamp(1.125rem, 0.947rem + 0.69vw, 1.75rem);
  }
  #page-garage .concept04 .lead span {
    margin: 0 0 0 0.749vw;
  }
  #page-garage .concept04 .txt-bottom {
    margin-top: 1.497vw;
  }
}

@media screen and (min-width: 768px) and (max-width: 1919px) {
  /* works
-------------------------------------*/
  #page-garage .works {
    background-color: #b2a59d;
  }
  #page-garage .works .ttl-frame {
    position: relative;
    top: -3.387vw;
    text-align: center;
  }
  #page-garage .works .ttl-frame .sec-ttl {
    /* font-size: 8.338vw; */
    font-weight: 500;
    line-height: 1.3062;
    letter-spacing: 0;
    color: #4d4d4d;
    font-size: clamp(5.5rem, 4.263rem + 4.78vw, 10rem);
  }
  #page-garage .works .ttl-frame .subt {
    /* font-size: 1.459vw; */
    font-weight: 400;
    line-height: 1.6071;
    letter-spacing: 0.12em;
    margin: 0.886vw 0 0;
    font-size: clamp(1.125rem, 0.953rem + 0.66vw, 1.75rem);
  }
  #page-garage .works .sliderArea {
    position: relative;
    margin: 1.563vw 0 0;
  }
  #page-garage .works .sliderArea .slider {
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 100.052vw;
    margin: 0 5.211vw 0 0;
    position: relative;
    z-index: 10;
  }
  #page-garage .works .sliderArea .slider .photo01 {
    width: 68.75%;
  }
  #page-garage .works .sliderArea .slider .photo02 {
    width: 30.2%;
  }
  #page-garage .works .sliderArea .arrow_box {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    position: absolute;
    bottom: 7.66vw;
    right: 21.886vw;
    gap: 1.042vw;
  }
  #page-garage .works .sliderArea .arrow_box .prev-arrow,
  #page-garage .works .sliderArea .arrow_box .next-arrow {
    display: block;
    width: 3.127vw;
    height: 3.127vw;
    transition: all 0.3s ease;
    cursor: pointer;
    position: relative;
    z-index: 100;
    background-size: cover;
    background-repeat: no-repeat;
  }
  #page-garage .works .sliderArea .arrow_box .prev-arrow {
    background-image: url("../images/garage-lp/slide-prev.svg");
  }
  #page-garage .works .sliderArea .arrow_box .next-arrow {
    background-image: url("../images/garage-lp/slide-next.svg");
  }
}

@media screen and (min-width: 768px) and (max-width: 1760px) {
  /* message
-------------------------------------*/
  #page-garage .message {
    position: relative;
  }
  #page-garage .message .inner-box {
    background-color: #e5e5e5;
    width: 98.864vw;
    margin-inline: auto;
    padding: 17.727vw 0 8.409vw;
    margin-top: -3.75vw;
  }
  #page-garage .message .inner-box .sec-ttl {
    /* font-size: 3.068vw; */
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.12em;
    text-align: center;
    color: #222222;
    margin: 0;
    font-size: clamp(1.5rem, 0.923rem + 2.23vw, 3.375rem);
  }
  #page-garage .message .inner-box .sec-ttl .small {
    /* font-size: 2.273vw; */
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.12em;
    display: block;
    margin: 0;
    font-size: clamp(1.125rem, 0.702rem + 1.64vw, 2.5rem);
  }
  #page-garage .message .photo {
    width: 100%;
    position: relative;
  }
  #page-garage .message .photo img {
    width: 100%;
  }
}

@media screen and (min-width: 768px) and (max-width: 1760px) {
  /* mail
-------------------------------------*/
  #page-garage #mail {
    width: 98.864vw;
    margin-inline: auto;
    background-color: #e5e5e5;
    padding: 7.955vw 0 8.295vw;
    color: #222222;
    margin-top: -2.852vw;
    margin-bottom: -0.057vw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1000px) {
  #mail .confirm_button,
  #mail #send_button,
  #mail #back_button {
    width: 80vw;
  }
}

@media screen and (max-width: 767px) {
  /* header
-------------------------------------*/
  #page-garage-header {
    width: 100%;
    max-width: 100vw;
    padding: 5vw 5.4vw;
  }
  #page-garage-header .header-inner {
    display: flex;
    justify-content: space-between;
    width: 100%;
  }
  #page-garage-header .logo {
    margin: 1vw 0 0;
  }
  #page-garage-header .logo img {
    width: 28.6vw;
  }
  #page-garage-header .menu-trigger div {
    /* width: 7.3vw; */
    /* height: 6.2vw; */
  }

  /* mv
-------------------------------------*/
  #page-garage {
    max-width: 100vw;
    margin-inline: auto;
    width: 100%;
    background-color: #4d4d4d;
    color: #ffffff;
    padding: 0 0 14vw;
  }
  #page-garage .mv-area {
    position: relative;
  }
  #page-garage .mv-area .mv img {
    width: 100%;
  }
  #page-garage .mv-area .mv-ttl-box {
    position: absolute;
    top: 47.6vw;
    left: 50%;
    transform: translateX(-50%);
  }
  #page-garage .mv-area .mv-ttl-box .subt {
    font-size: 4.348vw;
    font-weight: 400;
    letter-spacing: 0.12em;
    text-align: center;
    margin: 0;
  }
  #page-garage .mv-area .mv-ttl-box .main-ttl {
    margin: 8vw 0 0;
  }
  #page-garage .mv-area .mv-ttl-box .main-ttl img {
    /* width: 100%; */
  }

  /* scrolldown */
  #page-garage .scrolldown {
    position: absolute;
    left: 48.7%;
    bottom: 7vw;
    z-index: 10;
  }
  #page-garage .scrolldown-text {
    font-size: 2.898vw;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: 0;
    rotate: 90deg;
    color: #222222;
    margin: 0 0px 0 0;
  }
  #page-garage .scrolldown-bar {
    position: absolute;
    left: 1vw;
    top: -4vw;
    width: 1px;
    height: 29vw;
    background: #ffffff;
    overflow: hidden;
  }
  #page-garage .scrolldown-bar-active {
    position: absolute;
    bottom: 100%;
    left: 0;
    width: 2px;
    height: 14.5vw;
    background: #222222;
    animation: 3s ease-in-out backwards infinite scrollDown;
  }
  @keyframes scrollDown {
    0% {
      bottom: 100%;
    }
    100% {
      bottom: -50px;
    }
  }

  /* concept
-------------------------------------*/
  #page-garage .top-concept {
    position: relative;
  }
  #page-garage .top-concept .concept-box {
    background: linear-gradient(#918982 15.6%, transparent 0%),
      url(../images/garage-lp/concept-img_sp.png) no-repeat left bottom / auto
        100%;
    width: 91.1vw;
    padding: 24vw 0vw 22vw 5vw;
    position: relative;
    background-size: auto, contain;
  }
  #page-garage .top-concept .concept-box .sec-ttl {
    font-size: 12.56vw;
    font-weight: 500;
    line-height: 1.28846;
    letter-spacing: 0;
    color: #c2bab3;
  }
  #page-garage .top-concept .concept-box .subt {
    font-size: 5.314vw;
    font-weight: 400;
    line-height: 1.5909;
    letter-spacing: 0.12em;
    margin: 4vw 0 0;
  }
  #page-garage .top-concept .concept-box .content {
    margin: 76vw 0 0;
    position: relative;
    z-index: 3;
  }
  #page-garage .top-concept .concept-box .content .ttl {
    font-size: 4.348vw;
    font-weight: 400;
    line-height: 1.6111;
    letter-spacing: 0.12em;
    margin: 0;
  }
  #page-garage .top-concept .concept-box .content .txt {
    font-size: 3.382vw;
    font-weight: 500;
    line-height: 2.2857;
    letter-spacing: 0.05em;
    margin: 5vw 0 0;
  }
  #page-garage .top-concept .photo {
    position: absolute;
    top: 67vw;
    right: 0;
    width: 91.1vw;
    z-index: 1;
  }
  #page-garage .top-concept .photo img {
    width: 100%;
  }

  /* common-box
-------------------------------------*/
  #page-garage .common-box {
    margin: 34vw 0 0;
    position: relative;
  }
  #page-garage .common-box .sec-photo {
    width: 100vw;
    margin-inline: auto;
  }
  #page-garage .common-box .sec-photo img {
    width: 100%;
  }
  #page-garage .common-box .ttl-frame {
    margin-top: -17vw;
    width: 82vw;
    margin-inline: auto;
    position: relative;
  }
  #page-garage .common-box .ttl-frame .num-box {
    display: flex;
    flex-direction: column;
    width: 11vw;
  }
  #page-garage .common-box .ttl-frame .num-box .num {
    font-size: 9.662vw;
    font-weight: 500;
    line-height: 0.8;
    letter-spacing: 0;
    margin: 0;
  }
  #page-garage .common-box .ttl-frame .num-box span {
    font-size: 1.687vw;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0;
    display: inline;
    position: relative;
  }
  #page-garage .common-box .ttl-frame .num-box span::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 3vw;
    width: 2vw;
    height: 1px;
    background: #ffffff;
  }
  #page-garage .common-box .ttl-frame .sec-ttl {
    width: 60.9vw;
    margin: 2vw 0 0 1vw;
  }
  #page-garage .common-box .ttl-frame .sec-ttl img {
    width: 100%;
  }
  #page-garage .common-box .ttl-frame .subt {
    font-size: 2.898vw;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: 0.1em;
    margin: 2.7vw 0 0 2.2vw;
  }
  #page-garage .common-box .txt {
    font-size: 3.865vw;
    font-weight: 500;
    line-height: 2.125;
    letter-spacing: 0.1em;
    width: 89.4vw;
    margin-inline: auto;
    margin-top: 13vw;
    margin-bottom: 0;
  }
  #page-garage .common-box .txt-bottom {
    margin-top: 13vw;
  }

  /* concept01-04
-------------------------------------*/
  #page-garage .concept01 .photo02 {
    width: 91.1vw;
    margin-left: auto;
    margin-top: 13vw;
  }
  #page-garage .concept01 .photo02 img {
    width: 100%;
  }
  #page-garage .concept02 {
    margin-top: 32vw;
    display: flex;
    flex-direction: column;
    padding: 0 0 0;
  }
  #page-garage .concept02 .ttl-frame {
    margin-top: -17vw;
  }
  #page-garage .concept02 .ttl-frame .sec-ttl {
    width: 83.4vw;
    margin: 2vw 0 0 1vw;
  }
  #page-garage .concept02 .photo-frame {
    display: flex;
    justify-content: space-between;
    width: 82.3vw;
    margin-inline: auto;
    margin-top: 12.4vw;
    order: 0;
    gap: 5vw;
  }
  #page-garage .concept02 .photo-frame .photo02 {
    width: 68.5vw;
  }
  #page-garage .concept02 .photo-frame .photo02 img {
    width: 100%;
  }
  #page-garage .concept02 .photo-frame .photo03 {
    margin: 15vw 0 0;
    width: 68.5vw;
  }
  #page-garage .concept02 .photo-frame .photo03 img {
    width: 100%;
  }
  #page-garage .concept02.common-box .txt.txt-bottom {
    margin-top: 13vw;
    order: 1;
  }
  #page-garage .concept03 {
    margin: 32vw 0 0;
  }
  #page-garage .concept03 .ttl-frame {
    margin-top: -15vw;
  }
  #page-garage .concept03 .ttl-frame .sec-ttl {
    width: 80.5vw;
    margin: 2vw 0 0 1vw;
  }
  #page-garage .concept03 .photo-frame {
    margin: 12.8vw 0 0;
    position: relative;
  }
  #page-garage .concept03 .photo-frame .photo02 {
    margin: 0;
    width: 91.1vw;
    padding: 0 0 60vw;
  }
  #page-garage .concept03 .photo-frame .photo02 img {
    width: 100%;
  }
  #page-garage .concept03 .photo-frame .photo03 {
    margin: 0;
    width: 33.9vw;
    position: absolute;
    top: 68vw;
    right: 14vw;
  }
  #page-garage .concept03 .photo-frame .photo03 img {
    width: 100%;
  }
  #page-garage .concept03 .photo-frame .photo04 {
    margin: 0;
    width: 33.9vw;
    position: absolute;
    top: 87vw;
    left: 14vw;
  }
  #page-garage .concept03 .photo-frame .photo04 img {
    width: 100%;
  }
  #page-garage .concept03 .txt-bottom {
    margin-top: 30vw;
  }
  #page-garage .concept04 {
    margin-top: 32vw;
    padding-bottom: 32.4vw;
  }
  #page-garage .concept04 .ttl-frame {
    margin-top: -17vw;
  }
  #page-garage .concept04 .ttl-frame .sec-ttl {
    width: 45.5vw;
    margin: 2vw 0 0 1vw;
  }
  #page-garage .concept04 .photo01 {
    width: 82.3vw;
    margin: 13.2vw auto 0;
  }
  #page-garage .concept04 .photo01 img {
    width: 100%;
  }
  #page-garage .concept04 .lead {
    margin: 8vw auto 0;
    font-size: 4.348vw;
    font-weight: 500;
    line-height: 1.8888;
    letter-spacing: 0.1em;
    width: 89.4vw;
  }
  #page-garage .concept04 .lead span {
    margin: 0 0 0 2vw;
  }
  #page-garage .concept04 .txt-bottom {
    margin-top: 4.4vw;
  }

  /* works
-------------------------------------*/
  #page-garage .works {
    background-color: #b2a59d;
    padding: 0 0 34vw;
  }
  #page-garage .works .ttl-frame {
    position: relative;
    top: -8.4vw;
    text-align: center;
  }
  #page-garage .works .ttl-frame .sec-ttl {
    font-size: 21.208vw;
    font-weight: 500;
    line-height: 1.3068;
    letter-spacing: 0;
    color: #4d4d4d;
    margin: 0;
  }
  #page-garage .works .ttl-frame .subt {
    font-size: 4.348vw;
    font-weight: 400;
    line-height: 1.6111;
    letter-spacing: 0.12em;
    margin: 1.8vw 0 0;
  }
  #page-garage .works .sliderArea {
    position: relative;
    margin: 0vw 0 0;
  }
  #page-garage .works .sliderArea .slider {
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 100vw;
    margin: 0 10vw 0 0;
    position: relative;
    z-index: 10;
  }
  #page-garage .works .sliderArea .slider .photo01 {
    width: 68.75%;
  }
  #page-garage .works .sliderArea .slider .photo02 {
    width: 30.2%;
  }
  #page-garage .works .sliderArea .arrow_box {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    position: absolute;
    top: 46vw;
    left: 50%;
    gap: 5vw;
    transform: translateX(-50%);
  }
  #page-garage .works .sliderArea .prev-arrow,
  #page-garage .works .sliderArea .next-arrow {
    display: block;
    width: 14.5vw;
    height: 14.5vw;
    transition: all 0.3s ease;
    cursor: pointer;
    position: relative;
    z-index: 100;
    background-size: cover;
    background-repeat: no-repeat;
  }
  #page-garage .works .sliderArea .arrow_box .prev-arrow {
    background-image: url("../images/garage-lp/slide-prev.svg");
  }
  #page-garage .works .sliderArea .arrow_box .next-arrow {
    background-image: url("../images/garage-lp/slide-next.svg");
  }

  /* message
-------------------------------------*/
  #page-garage .message {
    position: relative;
    margin: 0;
    background-color: #b2a59d;
  }
  #page-garage .message .inner-box {
    background-color: #e5e5e5;
    width: 94.3vw;
    margin-inline: auto;
    padding: 19vw 0 11.2vw;
    margin-top: 0;
  }
  #page-garage .message .inner-box .sec-ttl {
    font-size: 5.797vw;
    font-weight: 400;
    line-height: 0.8;
    letter-spacing: 0.12em;
    text-align: center;
    color: #222222;
    margin: 0;
  }
  #page-garage .message .inner-box .sec-ttl .small {
    font-size: 4.348vw;
    font-weight: 400;
    line-height: 1.6111;
    letter-spacing: 0.12em;
    display: block;
    margin: 0;
  }
  #page-garage .message .photo {
    width: 100vw;
    position: relative;
    margin: 0;
  }
  #page-garage .message .photo img {
    width: 100%;
  }

  /* mail
-------------------------------------*/
  #page-garage #mail {
    width: 94.3vw;
    margin-inline: auto;
    background-color: #e5e5e5;
    padding: 15vw 0 13vw;
    color: #222222;
    margin-top: 0;
    margin-bottom: -1vw;
  }
  #page-garage #mail .form-Box-inner {
    margin-inline: auto;
    position: relative;
    width: 95%;
  }
  #page-garage #mail .sec-ttl {
    font-size: 14.46vw;
    font-weight: 500;
    line-height: 1.3;
    letter-spacing: 0;
    text-align: center;
    color: #4d4d4d;
    margin: 0;
  }
  #page-garage #mail .subt {
    font-size: 5.314vw;
    font-weight: 400;
    line-height: 1.909;
    letter-spacing: 0;
    margin: 3vw 0 0;
    text-align: center;
  }
  #page-garage #mail .list {
    margin: 7vw auto 0;
    width: 82.3vw;
  }
  #page-garage #mail .list li {
    font-size: 3.382vw;
    font-weight: 500;
    line-height: 1.8571;
    letter-spacing: 0.05em;
  }

  /* form -------------------------------------*/
  .Form {
    margin: 9vw auto 0;
    width: 89.4vw;
  }
  .form-Box .error {
    margin-bottom: 10vw;
  }
  .form-Box .attention-color {
    color: #f00;
  }
  .form-Box .table-wrap {
    width: 89.4vw;
  }
  .form-Box table {
    margin-bottom: 6vw;
    font-size: 3.382vw;
    line-height: 2.2857;
    border-collapse: collapse;
    letter-spacing: 0.05em;
    margin: 0 auto 12vw;
    table-layout: fixed;
    width: 87.1vw;
  }
  .form-Box tr {
    border-bottom: 1px solid #9eacb6;
  }
  .form-Box tr:nth-child(1) {
    border-top: 1px solid #9eacb6;
    padding-top: 4vw;
  }
  .form-Box th {
    font-weight: 400;
    line-height: 2.5714;
    letter-spacing: 0.05em;
    text-align: left;
    vertical-align: middle;
    width: 100%;
    display: block;
  }
  .form-Box th.required::after {
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue",
      "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro",
      "Hiragino Kaku Gothic Pro", Verdana, Meiryo, Osaka, "ＭＳ Ｐゴシック",
      "MS PGothic", sans-serif;
    position: absolute;
    content: "必須";
    color: #fff;
    background: #bb281f;
    font-size: 3vw;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.05em;
    padding: 1vw 1vw;
    border-radius: 1.2vw;
    top: 50%;
    transform: translateY(-50%);
    right: 1vw;
    white-space: nowrap;
  }
  .form-Box th p {
    margin: 0;
    line-height: 1.6;
  }
  .form-Box th.required {
    position: relative;
  }
  .form-Box .post-number .input_area input {
    padding: 2.8% 2.7%;
    width: 100%;
  }
  .form-Box .post-number .input_area.flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: column;
    gap: 1.5vw;
  }
  .form-Box .post-number .input_area p {
    width: 100%;
  }
  .form-Box .post-number .input_area .subtxt {
    width: 100;
  }
  .form-Box .address {
    border-top: none;
  }
  .form-Box .address th {
    padding: 2vw 4vw 4vw;
  }
  .form-Box .address td {
    margin: 0 0 2vw;
  }
  .form-Box .address .input_area select {
    padding: 4.56% 2%;
    margin: 0 0 1.4vw;
  }
  .form-Box .address .confirm_area p {
    display: none;
  }
  .form-Box .address .input_area input {
    width: 100%;
    margin: 0 0 1.5vw;
    padding: 2.73% 2.7%;
  }
  .form-Box .remarks th {
    vertical-align: top;
    line-height: 1.75;
  }
  .form-Box .remarks td {
    margin: 0;
  }
  .form-Box .remarks p .ttl {
    margin: 0 0 0 3.4vw;
  }
  .form-Box td {
    text-align: left;
    width: 100%;
  }
  .form-Box td p {
    margin: 0;
  }
  .form-Box .button {
    border: 0;
    padding: 0;
    margin: 0;
    text-align: center;
  }
  .form-Box .button:hover {
    cursor: pointer;
    cursor: hand;
    opacity: 0.8;
  }
  .form-Box input[type="text"],
  .form-Box input[type="email"],
  .form-Box input[type="tel"],
  .form-Box input[type="date"],
  .form-Box input[type="datetime-local"],
  .form-Box select,
  .form-Box textarea {
    font-family: inherit;
    font-weight: 500;
    line-height: 2.2857;
    letter-spacing: 0.05em;
    padding: 0.8% 2.7%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    background: #fff;
    width: 100%;
    border: none;
    margin: 0;
    font-size: 16px;
  }
  .form-Box textarea {
    width: 100%;
    height: 34vw;
    margin: 2vw 0 2vw;
    line-height: 1.6;
  }
  .pritextt p {
    font-size: 3.865vw;
    line-height: 1.75;
  }
  #mail .pritextt {
    margin: 0 0 7vw 34.7vw;
    width: 52vw;
  }
  #mail .confirm_button,
  #mail #send_button,
  #mail #back_button {
    border: none;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 82.2vw;
    margin-inline: auto;
    color: #fff;
    font-size: 3.865vw;
    font-weight: 500;
    line-height: 2.25;
    letter-spacing: 0.05em;
    padding: 5.34vw 0;
    margin-bottom: 10vw;
    position: relative;
    top: 0;
    transition: 0.2s ease-in-out;
    margin: 0 auto;
    display: block;
    background: #b4501c;
    cursor: pointer;
  }
  #mail #confirm_area {
    text-align: center;
  }
  #mail #confirm_area p {
    display: inline-block;
    position: relative;
  }
  #mail #send_area {
    text-align: center;
  }
  #mail #send_area p {
    display: inline-block;
    position: relative;
  }
  #mail #send_button:hover {
    opacity: 0.8;
  }
  #mail .required p::after {
    content: none;
  }
  #page-garage select {
    width: 100%;
  }
  .form-Box td.add-td .input_area {
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 2vw 0;
  }
  #mail input#address01 {
    margin-bottom: 2vw;
  }
  input[type="submit"] {
    background-color: #127749;
    color: #fff;
    width: 82.2vw;
  }
  #mail #back_button {
    background: #333;
    width: 82.2vw;
  }
  .priv-title {
    text-align: center;
    margin-bottom: 4vw;
  }
  .priv-text {
    padding: 3vw;
    overflow-y: scroll;
    height: 58.7vw;
    margin-bottom: 9vw;
    background: #fff;
  }
  .priv-text .priv-ttl {
    margin-bottom: 2vw;
    font-size: 1.5rem;
    font-weight: bold;
  }
  .priv-text p {
    margin-bottom: 4vw;
    font-size: 3.2vw;
    margin-bottom: 4vw;
    padding-bottom: 4vw;
    border-bottom: #ccc solid 0.2vw;
  }
  .priv {
    text-align: center;
    margin-bottom: 5vw;
  }
  .priv-text .tt {
    margin-bottom: 3vw;
    font-size: 4.8vw;
    font-weight: bold;
  }
}

/* ========================================
  @media screen and (max-width: 330px)
======================================== */
@media screen and (max-width: 330px) {
#page-garage select {
  width: 100%;
  font-size: 10px;
}

}