@charset "UTF-8";
/* 
  css設定 @charsetが消されるsass仕様へのハック用コメントです。削除しないでください。新規作成時も必須！
 */
/*==================================================================================
 common
==================================================================================*/
html {
  font-size: .3125vw;
}

.allWrap {
  padding-top: 50rem;
}

.commonCatch01 {
  font-size: 22rem;
}

.commonCatch02 {
  font-size: 18rem;
}

.commonCatch03 {
  font-size: 16rem;
}

.commonLead01 {
  line-height: 2;
  font-size: 14rem;
}
.commonLead01.lineHeightSmall {
  line-height: 1.5;
}

.commonLead02 {
  line-height: 1.9;
  font-size: 12rem;
}
.commonLead02.lineHeightSmall {
  line-height: 1.5;
}

.commonTitle01 {
  padding-bottom: 40rem;
  font-size: 18rem;
}
.commonTitle01 .en {
  padding-bottom: 8rem;
}

section.contact form,
#contact article.contents form {
  font-size: 14rem;
}
section.contact form dl,
#contact article.contents form dl {
  flex-direction: column;
  gap: 10rem 0;
}
section.contact form dt,
section.contact form dd,
#contact article.contents form dt,
#contact article.contents form dd {
  font-size: 14rem;
}
section.contact form dt,
#contact article.contents form dt {
  flex: 0 0 auto;
  padding-top: 0;
}
section.contact form dd,
#contact article.contents form dd {
  flex: 0 0 auto;
}
section.contact select,
#contact article.contents select {
  height: 40rem;
  text-indent: .5em;
  font-size: 14rem;
}
section.contact input[type="text"],
section.contact input[type="email"],
section.contact input[type="tel"],
section.contact textarea,
#contact article.contents input[type="text"],
#contact article.contents input[type="email"],
#contact article.contents input[type="tel"],
#contact article.contents textarea {
  padding: 0 .5em;
  height: 40rem;
  font-size: 14rem;
}
section.contact textarea,
#contact article.contents textarea {
  padding: .5em;
  min-height: 180rem;
}
section.contact .privacy,
#contact article.contents .privacy {
  padding-top: 40rem;
}
section.contact .privacy .lead,
#contact article.contents .privacy .lead {
  padding-bottom: 12rem;
}
section.contact .privacy label,
#contact article.contents .privacy label {
  cursor: pointer;
  font-size: 14rem;
}
section.contact .privacy label input,
#contact article.contents .privacy label input {
  position: relative;
  top: -2rem;
  margin-right: 15rem;
}
section.contact .buttons,
#contact article.contents .buttons {
  flex-direction: column;
  justify-content: normal;
  gap: 15rem 0;
  padding-top: 30rem;
}
section.contact .buttons button[type="submit"],
section.contact .buttons input[type="submit"],
section.contact .buttons a,
#contact article.contents .buttons button[type="submit"],
#contact article.contents .buttons input[type="submit"],
#contact article.contents .buttons a {
  width: 80%;
  height: 50rem;
  line-height: 50rem;
  font-size: 14rem;
}

/*==================================================================================
 siteHeader
==================================================================================*/
.siteHeader {
  position: fixed;
  padding: 0 10rem;
  height: 50rem;
  background: rgba(26, 44, 86, 0.9);
}
.siteHeader .headerLogo {
  width: 180rem;
}
.siteHeader .menuButton {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 40rem;
  height: 16rem;
}
.siteHeader .menuButton span {
  position: relative;
  width: 100%;
  height: 1rem;
  background: #fff;
  transition: transform .3s, opacity .3s, top .3s, left .3s;
}
.siteHeader .menuButton.open span {
  background: #fff;
}
.siteHeader .menuButton.open span:first-child {
  top: 8rem;
  transform: rotate(30deg);
}
.siteHeader .menuButton.open span:nth-child(2) {
  left: 100%;
  opacity: 0;
}
.siteHeader .menuButton.open span:last-child {
  top: -7rem;
  transform: rotate(-30deg);
}
.siteHeader .globalNavi {
  display: flex;
  align-items: center;
  display: none;
  position: absolute;
  top: 50rem;
  right: 0;
  left: 0;
  height: calc(100svh - 50rem);
  background: rgba(26, 44, 86, 0.9);
}
.siteHeader .globalNavi .links {
  flex: 0 0 100%;
  flex-direction: column;
  justify-content: center;
  gap: 35rem 0;
  padding-bottom: 30rem;
}
.siteHeader .globalNavi .links > li > a {
  font-size: 24rem;
}
.siteHeader .globalNavi .links .dropDown {
  display: flex !important;
  padding: 35rem 0 0;
  gap: 35rem 0;
  position: static;
  background: none;
}
.siteHeader .globalNavi .links .dropDown a {
  padding: 5rem;
  font-size: 24rem;
  color: #fff;
}

/*==================================================================================
 siteFooter
==================================================================================*/
.siteFooter {
  padding: 40rem 0 20rem;
}
.siteFooter .footerNavi {
  padding-bottom: 50rem;
}
.siteFooter .footerNavi .links {
  flex-wrap: wrap;
  gap: 15rem 20rem;
}
.siteFooter .footerNavi .links a {
  display: block;
  min-width: 5em;
  font-size: 16rem;
}
.siteFooter .logo {
  margin: auto;
  padding-bottom: 20rem;
  width: 240rem;
}
.siteFooter address {
  padding-bottom: 20rem;
  font-size: 14rem;
}
.siteFooter .numbers {
  flex-direction: column;
  justify-content: normal;
  gap: 10rem 0;
  padding-bottom: 30rem;
}
.siteFooter .numbers li {
  font-size: 14rem;
}
.siteFooter .numbers li a {
  font-size: 14rem;
}
.siteFooter .copyright {
  font-size: 11rem;
}

/*==================================================================================
 top
==================================================================================*/
#top main {
  padding-bottom: 100rem;
}
#top .mainVisual {
  height: 110vw;
}
#top .mainVisual h2 {
  left: 5%;
  bottom: 5%;
  line-height: 1.4;
  font-size: 22rem;
  text-shadow: 0rem 0rem 3rem #000, 0rem 0rem 3rem #000, 0rem 0rem 3rem #000;
}
#top .mainVisual h2 .en {
  padding-bottom: 10rem;
}
#top section.business {
  margin-bottom: 100rem;
  padding: 80rem 12rem 90rem;
}
#top section.business:before {
  height: 60rem;
}
#top section.business > header {
  padding-bottom: 40rem;
}
#top section.business > header .catch {
  padding-bottom: 20rem;
}
#top section.business > header .lead {
  text-align: left;
}
#top section.business .businessList {
  gap: 50rem 0;
}
#top section.business .businessList li .image {
  height: 50vw;
}
#top section.business .businessList li .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#top section.business .businessList li dl {
  flex-direction: column;
  align-items: normal;
  gap: 12rem 0;
  padding: 20rem;
  height: auto;
}
#top section.business .businessList li dt {
  font-size: 20rem;
  min-width: 0;
}
#top section.business .businessList li dd {
  font-size: 14rem;
}
#top section.business .businessList li:nth-child(2) dd .linkButton {
  position: static;
  padding-top: 10rem;
  width: 200rem;
}
#top section.company > header .titleArea,
#top section.contact > header .titleArea {
  display: block;
  text-align: center;
}
#top section.company > header .titleArea h3,
#top section.contact > header .titleArea h3 {
  margin-top: 0;
  padding-bottom: 30rem;
}
#top section.company > header .titleArea h3:after,
#top section.contact > header .titleArea h3:after {
  display: none;
}
#top section.company > header .titleArea .image,
#top section.contact > header .titleArea .image {
  height: 150rem;
}
#top section.company > header .textArea,
#top section.contact > header .textArea {
  margin-top: -110rem !important;
  width: 90%;
  padding: 30rem 20rem 20rem;
}
#top section.company > header .textArea .lead,
#top section.contact > header .textArea .lead {
  padding-top: 15rem;
}
#top section.company {
  padding-bottom: 100rem;
}
#top section.company > header {
  padding-bottom: 30rem;
}
#top section.company .outlines dl {
  flex-direction: column;
  gap: 5rem 0;
  padding: 12rem 15rem;
  font-size: 14rem;
}
#top section.company .outlines dt,
#top section.company .outlines dd {
  line-height: 1.7;
}
#top section.company .outlines dt {
  flex: 0 0 auto;
  font-weight: bold;
}
#top section.contact > header {
  padding-bottom: 60rem;
}
#top section.contact > header .textArea {
  padding: 20rem 20rem;
}
#top section.contact > header .textArea .catch {
  line-height: 1.7;
}

/*==================================================================================
 lower
==================================================================================*/
/*==================================================================================
 lower common
==================================================================================*/
.allWrap.lower main {
  padding-bottom: 80rem;
}
.allWrap.lower .sections:not(:last-of-type) {
  padding-bottom: 80rem;
}
.allWrap.lower .commonPageTitle01 {
  margin-bottom: 50rem;
  padding-top: 0;
  height: 200rem;
  font-size: 40rem;
}
.allWrap.lower .sectionTitle01 {
  gap: 8rem 0;
  margin-bottom: 30rem;
  padding-right: 10rem;
  font-size: 30rem;
}
.allWrap.lower .sectionTitle01:after {
  top: 16rem;
}

/*==================================================================================
 business
==================================================================================*/
#business .sections {
  scroll-margin-top: 63rem;
  margin-top: 13rem;
}
#business .sections > header .logo {
  top: -13rem;
  width: 140rem;
}
#business .sections > header .lead {
  position: static;
  margin-top: -15rem;
  padding-bottom: 30rem;
}
#business section.carSales .businesses {
  gap: 30rem 0;
}
#business section.carSales .businesses li {
  padding-bottom: 0;
}
#business section.carSales .businesses li .image {
  width: auto;
}
#business section.carSales .businesses li dl {
  position: static;
  padding: 20rem;
  width: auto;
}
#business section.carSales .businesses li dt {
  padding-bottom: 10rem;
  font-size: 20rem;
}
#business section.carSales .businesses li dd {
  font-size: 13rem;
}
#business section.carSales .businesses li dd a {
  margin-top: 8rem;
  width: 220rem;
}
#business section.service .services {
  flex-direction: column;
  justify-content: normal;
  gap: 30rem 0;
}
#business section.service .services li {
  flex: 0 0 auto;
}
#business section.service .services li .text {
  padding: 15rem 8rem;
  font-size: 22rem;
}
#business section.service .services li .text .ja {
  padding-top: 8rem;
}

/*==================================================================================
 contact
==================================================================================*/
#contact article.contents {
  padding: 0 12rem 60rem;
}
#contact article.contents dt {
  font-weight: bold;
}

/*# sourceMappingURL=smartphone.css.map */
