@charset "UTF-8";
/* CSS Document */

article > h1{
  max-width: 1000px;
  font-family: 'Cormorant Garamond', serif;
  font-size: 28px;
  line-height: 1;
  letter-spacing: 0.2em;
  margin: 0 auto 25px;
  padding: 0 20px;
  box-sizing: border-box;
}

article > h1 span{
  font-family: 'Noto Serif JP',"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 11px;
  letter-spacing: normal;
  color: #b9b9b9;
  padding-left: 10px;
}

.mv{
  margin: 0 20px;
  height: 640px;
  overflow: hidden;
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 961px) {
  .mv img{
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    pointer-events: none;
  }
}


.info{
  position: relative;
  padding-top: 115px;
  margin-bottom: 160px;
}

.info::before{
  content: "";
  width: 70vw;
  min-width: 800px;
  height: 500px;
  background: #f7f7f7;
  position: absolute;
  top: -150px;
  left: 0;
}

.info.check{
  margin-bottom: 120px;
}

.info.check::before{
  height: 450px;
}

.info.thanks{
  padding: 115px 0;
  margin-bottom: 0;
}

.info.thanks::before{
  top: 0;
  height: 100%;
}

.info div{
  padding-left: 80px;
}

.info h2{
  font-size: 22px;
  line-height: 1;
  padding-bottom: 20px;
  margin-bottom: 20px;
  position: relative;
}

.info h2::before{
  content: "";
  width: 80px;
  height: 2px;
  background: #000;
  position: absolute;
  bottom: 0;
  left: 0;
}

.info p{
  width: 820px;
  font-size: 16px;
  line-height: 2.2;
}

.form_box{
  font-family:  'Noto Sans JP',"游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
}

.form_box > div{
  padding: 0 50px;
}

.form_box dl{
  padding: 0 40px;
}

.form_box dl > div{
  display: flex;
  justify-content: space-between;
}

.form_box dl > div + div{
  margin-top: 30px;
}

.form_box dl > div dt{
  width: 25%;
  font-size: 16px;
  line-height: 1.4;
  text-align: right;
  padding: 10px 0;
}

.form_box dl > div dt span{
  font-size: 14px;
  color: #b70c0c;
}

.form_box dl > div dd{
  width: 70%;
  font-size: 16px;
  line-height: 1.4;
}

.form_box dl > div dd p{
  font-family:  'Noto Sans JP',"游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
	width: 100%;
	font-size: 16px;
	line-height: 1.4;
	padding: 10px 15px;
  background: #f8f8f8;
  min-height: 1em;
}


.form_box  input[type="text"] ,
.form_box  input[type="email"],
.form_box  input[type="tel"],
.form_box  input[type="number"],
textarea{
  font-family:  'Noto Sans JP',"游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
	width: 100%;
	font-size: 16px;
	line-height: 1.4;
	padding: 10px 15px;
	border-radius: 0; 
  border: 1px solid #efefef; 
  box-sizing: border-box;
	display: inline-block;
  vertical-align: bottom;
  box-shadow: 0;
  -webkit-appearance: none; 
  letter-spacing: .02em;
  background: #f8f8f8;
}

textarea{
  resize: vertical;
  height: 200px;
}

.policy{
  height: 180px;
  background: #f2f2f2;
  margin: 40px 0;
  padding: 30px 20px;
  overflow: auto;
  box-sizing: border-box;
}

.policy h3{
  font-size: 16px;
  line-height: 1;
  margin-bottom: 10px;
}

.policy ul{
  counter-reset: count 0;
}

.policy li{
  font-size: 14px;
  line-height: 1.5;
  padding-left: 1.3em;
}

.policy li + li{
  margin-top: 10px;
}

.policy li::before {
  content: counter(count) ". ";
  counter-increment: count 1;
  width: 1.3em;
  margin-left: -1.3em;
  display: inline-block;
}

.form_box > div > p{
  font-size: 15px;
  line-height: 1.3;
  text-align: center;
}

.btn_box{
  text-align: center;
  margin-top: 80px;
}

.btn_box input[type="submit"],
.btn_box input[type="button"],
.btn_box a{
  font-family: 'Cormorant Garamond', serif;
	font-size: 18px;
	line-height: 1;
  color: #797979;
  text-align: center;
	padding: 0;
  margin: 0;
  display: inline-block;
	border-radius: 0; 
  border: none;
	text-overflow: ellipsis;
  box-shadow: 0;
	-webkit-appearance:none;
  appearance:none;	
	box-sizing: border-box;
  cursor: pointer;
  transition: 0.3s;
  position: relative;
  vertical-align: middle;
}

.btn_box a + a{
  margin-top: 40px;
}

.btn_box a.btn_fbk,
.btn_box a.btn_top{
  font-size: 18px;
	line-height: 1;
  color: #FFF;
  background: #c4c4c4;
  text-align: center;
	padding: 15px 20px;
  margin-top: 40px;
  border-radius: 50px;
  display: inline-block;
}

.btn_box a.btn_top{
  background: #858484;
  margin-top: 150px;
}

span.sb_aw{
  font-family: 'Noto Serif JP',"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  width: 70px;
  height: 70px;
  background: #858484;
  border-radius: 50%;
  display: inline-block;
  position: relative;
  vertical-align: middle;
  margin-left: 20px;
transition: 0.6s;
}

span.sb_aw span{
  font-size: 24px;
  line-height: 1;
  color: #dcdcdc;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  transition: 0.6s ease-in;
}

.btn_box a:hover span.sb_aw span{
  transform: translate(-20%,-50%);
  transition: 0.6s ease-out;
}

.btn_box a:hover span.sb_aw{
  background: #B7B7B7;
  opacity: 1;
}

.form_box dl > div dd p.error{
  font-size: 14px ;
  line-height: 1;
  margin-top: 5px;
  color: #A50104;
  padding: 0 !important;
  background: none;
}

.gbox{
  margin: 50px auto 0;
  text-align: center;
}

.g-recaptcha{
  display: inline-block !important;
}

.gbox p.error{
  font-size: 14px ;
  line-height: 1;
  margin-top: 5px;
  color: #A50104;
}
  

@media screen and (max-width: 860px) {
  
  article > h1{
    font-size: 5vw;
    line-height: 1;
    letter-spacing: 0.1em;
    margin: 0 auto 5vw;
    padding: 0 6vw;
  }

  article > h1 span{
    font-size: 3vw;
    padding-left: 1em;
  }

  .mv{
    margin: 0;
    height: auto;
    background: none;
  }

  .mv img{
    display: block;
  }

  .info{
    padding: 10vw 4vw;
    margin-bottom: 10vw;
  }

  .info::before{
    min-width: inherit;
    top: 0;
    width: 90%;
    height: 100%;
  }
  
  .info.check{
    margin-bottom: 10vw;
  }

  .info.check::before{
    height: 100%;
  }
  
  .info.thanks{
    padding: 10vw 4vw;
    margin-bottom: 0;
  }
  
  .info div{
    padding-left: 0;
  }

  .info h2{
    font-size: 4.5vw;
    line-height: 1.3;
    padding-bottom: 4vw;
    margin-bottom: 4vw;
    position: relative;
  }

  .info h2::before{
    content: "";
    width: 10vw;
    height: 1px;
    background: #000;
    position: absolute;
    bottom: 0;
    left: 0;
  }

  .info p{
    width: 95%;
    font-size: 3.6vw;
    line-height: 2;
  }
  
  .form_box > div{
    padding: 0;
  }

  .form_box dl{
    padding: 0;
  }

  .form_box dl > div{
    display: block;
  }

  .form_box dl > div + div{
    margin-top: 8vw;
  }

  .form_box dl > div dt{
    width: 100%;
    font-size: 3.8vw;
    line-height: 1;
    text-align: left;
    padding: 0 0 2vw;
  }

  .form_box dl > div dt span{
    font-size: 3.3vw;
  }

  .form_box dl > div dd{
    width: 100%;
    font-size: 3.8vw;
    line-height: 1.4;
  }

  .form_box dl > div dd p{
    width: 100%;
    font-size: 3.8vw;
    line-height: 1.4;
    padding: 2vw 4vw;
    box-sizing: border-box;
    min-height: 2em;
  }
  
  .form_box  input[type="text"] ,
  .form_box  input[type="email"],
  .form_box  input[type="tel"],
  .form_box  input[type="number"],
  textarea{
    font-family:  'Noto Sans JP',"游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
    width: 100%;
    font-size: 3.8vw;
    line-height: 1.4;
    padding: 1.5vw 2vw;
  }

  textarea{
    height: 40vw;
  }

  .policy{
    height: 40vw;
    background: #f2f2f2;
    margin: 10vw 0;
    padding: 4vw 4vw;
    overflow: auto;
  }

  .policy h3{
    font-size: 3.5vw;
    margin-bottom: 1vw;
  }

  .policy li{
    font-size: 3.3vw;
  }

  .policy li + li{
    margin-top: 2vw;
  }

  .form_box > div > p{
    font-size: 3.3vw;
    line-height: 1.3;
    text-align: center;
  }

  .btn_box{
    text-align: center;
    margin-top: 10vw;
  }

  .btn_box input[type="submit"],
  .btn_box input[type="button"],
  .btn_box a{
    font-size: 3.8vw;
    line-height: 1;
  }

  .btn_box a + a{
    margin-top: 8vw;
  }

  .btn_box a.btn_fbk,
  .btn_box a.btn_top{
    font-size: 3.8vw;
    line-height: 1;
    padding: 2vw 4vw;
    margin-top: 8vw;
    border-radius: 10vw;
  }
  
  .btn_box a.btn_top{
    margin-top: 20vw;
  }

  span.sb_aw{
    width: 15vw;
    height: 15vw;
    margin-left: 5vw;
  }

  span.sb_aw span{
    font-size: 4vw;
    line-height: 1;
  }

  .form_box dl > div dd p.error{
    font-size: 3.3vw ;
    line-height: 1;
    margin-top: 1vw;
  }
  
  .gbox{
    margin: 10vw auto 0;
    text-align: center;
  }

  .g-recaptcha{
    display: inline-block !important;
  }

  .gbox p.error{
    font-size: 3.3vw ;
    line-height: 1.3;
    margin-top: 1vw;
  }

}






