@charset "UTF-8";

@import url("define.css");

html{
    font-size: 62.5%;
}

.font-audi{
  font-family: 'Audi Type', sans-serif;
}

body {
  color: black;
  font-size:        var(--global--font-size);
  font-family:      var(--global--font-primary);
  line-height:      var(--global--line-height);
}

.sul-document{
  background: black;
}
header{
  height: 72px;
  background: white;
}

.logo{
  width: 69px;
}
h1{
  font-weight: 500;
  font-size: 5.2rem;
}
h2{
  font-size:3rem;
  font-weight: 500;
}
.main-img-block{
  position: relative;
}
.main-copy-block{
  position: absolute;
  color: white;
  left: 4vw;
  top: 16.6vw;
}
/*
.btn-try{
  background: black;
  color: white;
  font-size:1.8vw;
  width: 23vw;
  height: 6vw;
  transition: 0.3s;
}*/
.btn-try{
  background: black;
    color: white;
    font-size: 1.8rem;
    width: 252px;
    height: 64px;
    transition: 0.3s;
}
.btn-try:hover,
.btn-try:focus{
  background:#666666;
  transition: 0.3s;
  opacity: 1;
}

footer{
  color: white;
  background: black;
  padding: 4rem 6rem;
}
.footer-caption{
  font-size:1.8rem;
}
.copyright{
  color:#B3B3B3;
}

body.home main{
  flex:1;
  background:url(../img/bg_main.jpg) no-repeat;
  background-size: cover;
  background-position:center bottom;
  min-height: 65vw;
}

.audi-christmas-title{
  position:absolute;
  left: 4vw;
  top: 6vw;
  width: 40vw;
}

.audi-logo-large{
  position:absolute;
  right: 4vw;
  top: 3vw;
  width: 40vw;
}

.audi-christmas-title2{
  position:absolute;
  left: 4vw;
  top: 6vw;
  max-width: 730px;
  width: 40vw;
}

.audi-logo-large2{
  position:absolute;
  right: 4vw;
  top: 3vw;
  max-width: 856px;
  width: 40vw;
}

.sp-main-img{
  display:none;
}
/*
@media screen and (max-width: 1980px){
  body.home main{
    background-size: 110%;
  }
}
@media screen and (max-width: 1280px){
  body.home main{
    background-size: 140%;
  }
}
@media screen and (max-width: 1100px){
  body.home main{
    background-size: 160%;
  }
}
*/
@media screen and (max-width: 680px)
{
  html{
    font-size:50%;
  }
  .logo{
    width:18.4%;
  }
  header{
    height: auto;
    padding: 3.7vw;
  }
  .main-img-block{
    display: flex;
    flex-direction: column;

  }
  .audi-christmas-title,
  .audi-logo-large,
  .audi-christmas-title2,
  .audi-logo-large2
  {
    display: none;
  }
  .sp-main-img{
    display:block;
  }
  .main-copy-block{
    position: relative;
    background: black;
    left: auto;
    top: auto;
    right: auto;
    bottom: auto;
    padding: 6rem 3rem;
  }
  .ico-sns{
    max-width: 4.3rem;
  }
 
  h1{
    font-size: 7.4vw;
  }
  h2{
    font-size:4vw;
  }
  .btn-try{
    background: #666666;
    font-size:4vw;
    width: 100%;
    height: 7rem;
    padding: 2rem;
  }
  footer{
    border-top: 1px solid #666666;
    padding: 3rem;
  }
  .footer-caption{
    font-size:3vw;
  }
  .footer-caption small{
    display: inline-block;
    text-align:left;
    transform-origin: 0;
    transform: scale(0.9);
  }
  .copyright{
    font-size:2.8vw;
  }
}


/****************************************************************
  Form
****************************************************************/
body.form .sul-document{
  display: flex;
  background: black;
}
body.form main{
  background: url(../img/form_bg.jpg) no-repeat;
  background-size:cover;
  background-position:center bottom;
  color: white;
  display: flex;
  align-items: center;
  justify-content:center;
}
body.form main .container{
  width: 100%;
  max-width:800px;
  margin: auto;
}
.form-title{
  font-size:3rem;
}
.form-title small{
  margin-left: 1rem;
  font-size: 1.5rem;
}
.form-row{
  position: relative;
  /*border-bottom: 1px solid white;*/
  padding: 0 0 2rem 0;
}
.form-row:after{
  content: "";
  display: block;
  height: 1px;
  width: 100%;
  bottom: 0;
  left: 0;
  background:white;
  position: absolute;
}
.form-row label{
  color: white;
  font-size:2.2rem;
  transform: translateY(50px);
  transition: 0.3s;
}

.form-row.active label{
  transform-origin: 0;
  transform: translateY(0px);
  transform: scale(0.7);
  transition: 0.3s;
}

.form-row label.textarea{
  transform: translateY(170px);
  transition: 0.3s;
}
.form-row.active label.textarea{
  transform: translateY(0px);
  transform: scale(0.7);
  transition: 0.3s;
}

.form-row label small{
  margin-left: 1rem;
  font-size:1.5rem;
  color: #B3B3B3;
}
.form-row input,
.form-row textarea{
  line-height:1.4;
  padding-left: 0;
  padding-right: 0;
  font-size: 4.4rem;
  border: none;
  padding: 0;
  background: transparent;
}
.form-row textarea{
  font-size: 2.6rem;
}
.btn-submit{
  background: black;
  border: 1px solid white;
  color: white;
  width: 100%;
  max-width:340px;
  font-size:2.5rem;
  transition: 0.3s;
  padding: 2rem;
}
.btn-submit:hover,
.btn-submit:focus{
  background:#666666;
  transition: 0.3s;
  padding: 2rem;
  opacity: 1;
}

.notice-block{
  display: flex;
  justify-content:center;
  align-items:center;
  padding: 10rem;
}
.notice-block p,
.notice-block li{
  font-size: 1.8rem;
}
#btn-close{
  position: absolute;
  top: 5rem;
  left: 5rem;
}
@media screen and (max-width: 680px)
{
  body.form main{
    background: url(../img/bg_plain-sp.png) no-repeat;
    background-size:cover;
    background-position:center;
  }
  body.form main .container{
    margin: 5rem 3rem;
  }
  .form-row label.textarea{
    transform: translateY(50px);
    transition: 0.3s;
  }
  .form-row.high:after{
    transform: translateY(-95px);
    transition: 0.3s;
  }
  .form-row.active.high:after{
    transform: translateY(0px);
    transition: 0.3s;
  }
  .notice-block{
    padding: 10rem 3rem;
  }
  .notice-block p,
  .notice-block li{
    font-size: 1.6rem;
  }
  #btn-close{
    position: absolute;
    top: 3rem;
    left: 3rem;
  }
}

/****************************************************************
  confirm
****************************************************************/

main.confirm{
  min-height:100vh;
}
.message-card-block{
  width: 100%;
  max-width:1660px;
  min-width:1440px;
  margin:3rem auto 7rem auto;
  color: black;
}

.dear-name,
.from-name{
  font-size: 3rem;
}
.dear-name small,
.from-name small{
  font-size: 2rem;
}
.message-block{
  font-size:2.2rem;
  padding: 0;
  line-height:7.6rem;
  height: calc( 7.6rem * 5 + 2px );
  background:url(../img/line_svg.svg);
}
.audi-concept-caption{
  font-size:1.2rem;
  position: absolute;
  bottom: 2rem;
  left: 6rem;
}

@media screen and (max-width: 680px)
{
  .message-card-block{
    min-width:auto;
    padding: 3rem;
    margin:0 auto;
  }
  .dear-name{
    font-size: 4.5vw;
  }
  .from-name{
    font-size: 3.5vw;
  }
  .dear-name small,
  .from-name small{
    font-size: 2vw;
  }
  .message-block{
    font-size:3.2vw;
    padding: 0;
    line-height:8vw;
    height: calc( 8vw * 7 + 2px );
    background:url(../img/line_svg.svg);
    background-size: 100%;
  }

  .audi-concept-caption{
    font-size:1.2rem;
    position: absolute;
    bottom: auto;
    left: auto;
    right: 3rem;
    top: 1rem;
  }

}



/****************************************************************
  send
****************************************************************/
.send-message-main{
  background: white;
  color: black;
  width: 1153px;
  margin:7rem auto 3rem auto;
}

.send-message-main h2{
  font-size: 2.6rem;
  text-align: center;
  line-height:1.6;
}
.send-message-block{
  width: 100%;
  max-width: 662px;
  margin:auto;
  font-size: 2.2rem;
}
.send-message-block small{
  font-size:1.5rem;
}

.send-title {
  font-weight: 300;
}
.send-message{
  font-weight: bold;
}

@media screen and (max-width: 680px)
{
  .send-message-main{
    width: 100%;
    margin: 3rem auto 3rem auto;
  }
  .send-message-main h2{
    font-size: 5vw;
  }
  .send-message-block{
    font-size: 3.5vw;
    
  }
  .send-message-block small{
    font-size:2vw;
  }
    

}