@charset "utf-8";
html {
  font-size: 62.5%;
}
.inner {
  width: 890px;
  margin: 0 auto;
}
.inner02 {
  width: 905px;
  margin: 0 auto;
}
* {
  box-sizing: border-box;
}
.pc {
  display: block
}
.sp {
  display: none
}

img{
  width: auto !important;
}
@media screen and (max-width: 767px) {
  .inner {
    width: 94%;
  }
  .inner02 {
    width: 94%;
  }
  .pc {
    display: none
  }
  .sp {
    display: block
  }

}


/* ==============================================================================
   form
============================================================================== */
.form {}
.form .ttlstep {
  font-size: 26px;
  font-weight: bold;
  border-bottom: 3px #000 solid;
  color: #000;
  margin-bottom: 40px;
  padding-bottom: 12px;
}
.form .ttlstep .ttl01 {
  font-size: 24px;
}
.form .ttlstep .ttl02 {
  font-size: 36px;
}
.form .ttlstep img {
  vertical-align: -5px;
  padding: 0 13px;
}
#offermain00{
padding: 0;
}
#offermain{
padding: 45px 0 30px 0;
    background: #F3F3F3;
    
}
#offermain .inner{
    display: flex;
    justify-content: center;
}

#offermain .minitttl{
    display: block;
    background: #000000;
    color: #FFF;
    font-size: 26px;
    text-align: center;
    padding: 15px 40px;
    margin: 0 15px 0 0;
	line-height: 1.8;
}
#offermain .ttl{
    text-align: center;
    font-size: 54px;
    font-weight: bold;
    
}
@media screen and (max-width: 767px) {
    
.form .ttlstep {
  font-size: 5.33vw;
  margin-bottom: 20px;
  padding-bottom: 12px;
}
.form .ttlstep .ttl01 {
  font-size: 5.33vw;
}
.form .ttlstep .ttl02 {
  font-size: 6.4vw;
}
.form .ttlstep img {
  vertical-align: 0px;
  padding: 0 5px;
  width: auto;
  height: 20px;
}
#offermain{
padding: 30px 0 10px 0;
    
}
    
#offermain .minitttl{
    font-size: 4.8vw;
    padding: 15px 20px;
}
 
    
#offermain .ttl{
    padding-top: 12px;
    font-size: 6.0vw;
    
}
    
}

#sec00{
    padding: 30px 0 80px;
}
#sec00 .mainimg{
    text-align: center;
}
.ttlred{
    border: #FF0004 solid 3px ;
    color: #FF0004;
    font-weight: bold;
    background: #FFFFFF;
    width: 800px;
    border-radius: 10px;
    padding: 10px;
    text-align: center;
    font-size: 30px;
    margin: -120px auto 30px auto;
}
.privacytxt01{
    font-size: 12px;
    text-align: center;
    margin-bottom: 5px;
}
.privacytxt02{
    font-size: 16px;
    text-align: center;
   margin-bottom: 15px;
}
.privacytxt01 a{
    color: #145fb6;
}
.privacytxt02 a{
    color: #145fb6;
}
@media screen and (max-width: 767px) {
#sec00{
    padding: 30px;
}
#sec00 .mainimg{
    text-align: center;
}
 #sec00 .mainimg img{
    width: 100% !important;
    height: auto;
}
.ttlred{
    border: #FF0004 solid 3px ;
    color: #FF0004;
    font-weight: bold;
    background: #FFFFFF;
    width: 90%;
    border-radius: 10px;
    padding: 10px;
    text-align: center;
    font-size: 4.8vw;
    margin: 0px auto 30px auto;
}

}
/* ==============================================================================
   step01
============================================================================== */
.step1 {
  background: #F3F3F3;
  padding: 87px 0;
}
.step1 .select01 {
  margin-bottom: 10px;
font-size: 24px;
    font-weight: bold;
    margin-bottom: 15px;
    color: #145FB6;
}

.step1 .select01 input[type=radio] {
  display: none;
}
.step1 .select01 label {
  display: inline-block;
  width: 182px;
  height: 54px;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  border: 3px #145FB6 solid;
  padding: 17px 0;
  margin: 0 5px 0 0;
  background: #FFFFFF;
  border-radius: 10px;
  color: #145FB6;
  line-height: 1;
}
.step1 .select01 input[type="radio"]:checked + label {
  background: #145FB6; /* マウス選択時の背景色を指定する */
  color: #ffffff; /* マウス選択時のフォント色を指定する */
}
.step1 .red {
  margin-bottom: 20px;
}


.step1 .selectcat {
  display: block;
  display: flex;
  justify-content: space-between;
}
.step1 .selectcat .arrow {
  display: flex;
  justify-content: center;
  align-items: center;
}
.step1 .selectcat .box {
  width: 251px;
}
.step1 .selectcat .box .ttl {
  background: #145FB6;
  color: #FFF;
  font-size: 16px;
  padding: 10px 12px;
}
.step1 .selectcat .box select {
  width: 251px;
  border-bottom: 2px #145FB6 solid;
  border-left: 2px #145FB6 solid;
  border-right: 2px #145FB6 solid;
}
.step1 .selectcat .box select option {
  background: #FFFFFF;
  border-bottom: 2px #BDD7EE solid;
  padding: 10px;
  color: #555;
}
.step1 .selectcat .box select option:nth-child(odd) {
  background: #DEEBF7;
}







.step1 .free {

    background: #FFFFFF;
    padding: 20px;
    border: 2px #145FB6 solid;
}

.step1 .cboxttl {
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 15px;
    color: #145FB6;
}
.step1 .cboxcheck {
  font-size: 18px;
  margin-bottom: 30px;
}
.step1 .cboxcheck label{
    margin-right: 10px;
}



@media screen and (max-width: 767px) {
    
.step1 {
  padding: 30px 0;
}
.step1 .select01 {
  margin-bottom: 30px;
}


.step1 .select01 label {
  width: 47%;
  height: 54px;
  font-size: 4.27vw;
  margin: 0 1% 0 1%;
}
    
.step1 .selectcat {
  display: block;
}
.step1 .selectcat .arrow {
  display: none;
}
.step1 .selectcat .box {
  width: 100%;
}
.step1 .selectcat .box .ttl {
  background: #145FB6;
  font-size: 4.27vw;
}
.step1 .selectcat .box select {
  width: 100%;
    padding: 10px ;
}
    
 .step1 .cboxcheck {
  font-size: 4.27vw;
  margin-bottom: 30px;
}
 .step1 .cboxcheck input{
    -webkit-appearance: auto !important;
}
.step1 .cboxcheck label{
    margin-right: 10px;
}

   
    
    
    
    
    
}

/* ==============================================================================
   step02
============================================================================== */
.step2 {
  background: #FFF;
  padding: 67px 0 132px 0;
}
.formttl{
    font-size: 16px;
    font-weight: bold;
    color: #222;
    margin-bottom: 10px;
}
.formttl .hissu{
    display: inline-block;
    color: #ffae00;
    border: 2px #ffae00 solid;
    border-radius: 5px;
    text-align: center;
    width: 72px;
    line-height: 1;
    padding: 7px 0 7px 0;
    margin-right: 10px;
}
.formttl .nini{
    display: inline-block;
    color: #145FB6;
    border: 2px #145FB6 solid;
    border-radius: 5px;
    text-align: center;
    width: 72px;
    line-height: 1;
    padding: 7px 0 7px 0;
    margin-right: 10px;
}
.formttl .txtat{
    display: inline-block;
    color: #222;
    margin: 0 0 0 30px;
    font-size: 15px;
    font-weight: normal;
}


.step2 .txt{
    margin-bottom: 30px;
}

.step2 input[type="text"] {
    border: 2px #D2D2D2 solid;
    padding: 15px;
    font-size: 15px;
    color: #222;
    width: 600px;
    margin: 0 0 30px 0;
}


.step2 .txt textarea{
    width: 100%;
    height: 575px;
    padding: 30px 42px;
    border: 2px #E5E5E5 solid;
    color: #222222;
    line-height: 2;
    font-size: 15px;
font-family: メイリオ, Meiryo,  游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

@media screen and (max-width: 767px) {
    
.step2 {
  padding: 30px 0;
}
.formttl{
    font-size: 4.27vw;
}
.formttl .txtat{
    margin: 15px 0 0 0px;
    font-size: 3.73vw;
}
.step2 .txt{
    margin-bottom: 30px;
}

.step2 .txt textarea{
    width: 100%;
    height: 300px;
    padding: 20px;
    font-size: 3.73vw;
}
    
    
}


/* ==============================================================================
   step02 upload
============================================================================== */

.step2 .upload{
    background: #F3F3F3;
    padding: 32px 34px 15px 34px ;
}
.step2 .upload input[type="file"]{
    display: none;
}
.step2 .upload label{
    display: inline-block;
    width: 188px;
    border: 2px #FFFFFF solid;
    padding: 15px 0;
    text-align: center;
    font-size: 16px;
    font-weight: bold;
    color: #FFFFFF;
    background: #A0A0A0;
    border-radius: 10px;
}

.step2 .upload .filetxt{
    font-size: 16px;
    font-weight: bold;
    color: #145FB6;
    display: inline-block;
    margin: 0 0 0 24px;
}

.step2 .upload .uploadacttl{
    margin: 17px 0 0 0;
    cursor: pointer;
    font-size: 15px;
    color: #222;
    text-decoration: underline
}

.step2 .upload02{
    display: none;
    background: #F3F3F3;
    padding: 0 34px 32px 34px ;
}
.step2 .upload02 input[type="file"]{
    display: none;
}
.step2 .upload02 label{
    display: inline-block;
    width: 188px;
    border: 2px #FFFFFF solid;
    padding: 15px 0;
    text-align: center;
    font-size: 16px;
    font-weight: bold;
    color: #FFFFFF;
    background: #A0A0A0;
    border-radius: 10px;
}

.step2 .upload02 .filetxt{
    font-size: 16px;
    font-weight: bold;
    color: #145FB6;
    display: inline-block;
    margin: 0 0 0 24px;
}


@media screen and (max-width: 767px) {
.step2 input[type="text"]{
    padding: 10px;
    font-size: 3.73vw;
    width: 100%;
}
.step2 .upload{
    padding: 15px ;
}
.step2 .upload label{
    width: 100%;
    font-size: 4.27vw;
}

.step2 .upload .filetxt{
    font-size: 4.27vw;
    margin: 24px 0 0 0 ;
    text-align: center;
}

.step2 .upload .uploadacttl{
    margin: 17px 0 0 0;
    cursor: pointer;
    font-size: 15px;
    color: #222;
    text-decoration: underline
}

.step2 .upload02{
    padding: 15px ;
}
.step2 .upload02 label{
    width: 100%;
    font-size: 4.27vw;
}

.step2 .upload02 .filetxt{
    font-size: 4.27vw;
    margin: 24px 0 0 0 ;
    text-align: center;
}
    
    
}
/* ==============================================================================
   step03
============================================================================== */
.step3 {
  background: #F3F3F3;
  padding: 87px 0 97px 0;
}

.step3 input[type="radio"]{
 width: 26px;
height: 26px;
    background: #FFFFFF;
    border: 2px #D2D2D2 solid;
    
}
.step3 label{
}
.step3 input[type="radio"]:checked {
      background: #145FB6;
}
.step3 input[type="text"] {
    border: 2px #D2D2D2 solid;
    padding: 15px;
    font-size: 15px;
    color: #222;
    width: 300px;
    margin: 0 0 30px 0;
}
.step3 input[type="date"] {
    border: 2px #D2D2D2 solid;
    padding: 15px;
    font-size: 15px;
    color: #222;
    width: 300px;
    margin: 0 0 30px 0;
}


.step2 .timebox{
  padding: 15px 00;
  display: flex;
}
.step2 .timebox .timeselect{
margin: 0 0 19px 15px;
}
.step2 .timebox .timeselect select{
    border: 2px #D2D2D2 solid;
    padding: 14px;
    font-size: 15px;
    color: #222;
    width: 100px;
}
.step2 .timebox .timeinput{
}
.step2 .timebox .timeinput input{
    border: 2px #D2D2D2 solid;
    padding: 15px;
    font-size: 15px;
    color: #222;
    width: 192px;
}


.step3 .price{
  padding: 20px 0 32px 0;
    margin-bottom: 22px;
    border-bottom: 2px #D2D2D2 solid
}
.step3 .pricebox{
  padding: 27px 0 0 0;
  display: flex;
    flex-wrap:wrap;
}
.step3 .pricebox .priceselect{
margin: 0 15px 19px 0;
}
.step3 .pricebox .priceselect select{
    border: 2px #D2D2D2 solid;
    padding: 15px;
    font-size: 15px;
    color: #222;
    width: 300px;
}
.step3 .pricebox .priceinput{
}
.step3 .pricebox .priceinput input{
    border: 2px #D2D2D2 solid;
    padding: 15px;
    font-size: 15px;
    color: #222;
    width: 192px;
}

.step3 .pricebox .cyui{
    width: 100%;
}

.step3 .nouki{
  padding: 18px 0 0 0;
}
.step3 .noukibox{
  padding: 27px 0 0 0;
  display: flex;
}
.step3 .noukibox .noukiselect{
margin: 0 15px 19px 0;
}
.step3 .noukibox .noukiselect select{
    border: 2px #D2D2D2 solid;
    padding: 15px;
    font-size: 15px;
    color: #222;
    width: 300px;
    background: #FFFFFF
}
.step3 .noukibox .noukiinput{
}
.step3 .noukibox .noukiinput input{
    border: 2px #D2D2D2 solid;
    padding: 15px;
    font-size: 15px;
    color: #222;
    width: 192px;
    background: #FFFFFF
}
@media screen and (max-width: 767px) {
    
.step3 {
  padding: 30px 0;
}
.step3 label{
    font-size: 3.73vw;
}
.step3 input[type="text"]{
    padding: 10px;
    font-size: 3.73vw;
    width: 100%;
}
.step3 .price{
  padding: 10px 0 32px 0;
    margin-bottom: 22px;
    border-bottom: 2px #D2D2D2 solid
}
.step3 .pricebox{
  padding: 27px 0 0 0;
  display: block;
    flex-wrap:wrap;
}
.step3 .pricebox .priceselect{
margin: 0 0 19px 0;
width: 100%;
}
.step3 .pricebox .priceselect select{
    padding: 10px;
    font-size: 3.73vw;
    width: 100%;
}
.step3 .pricebox .priceinput input{
    padding: 10px;
    font-size: 3.73vw;
    width: 90%;
}

.step3 .pricebox .cyui{
    width: 100%;
}

.step3 .nouki{
  padding: 18px 0 0 0;
}
.step3 .noukibox{
  padding: 27px 0 0 0;
    display: block;
}
.step3 .noukibox .noukiselect{
margin: 0 0 19px 0;
    width: 100%;
}
.step3 .noukibox .noukiselect select{
    padding: 10px;
    font-size: 3.73vw;
    width: 100%;
}
.step3 .noukibox .noukiinput input{
    padding: 10px;
    font-size: 3.73vw;
    width: 85%;
}
    
.step2 .timebox{
  padding: 15px 0;
    display: flex;
}
.step2 .timebox .timeselect{
margin: 0 0 19px 0;
    width: 100%;
}
.step2 .timebox .timeselect select{
    padding: 9px;
    font-size: 3.73vw;
    width: 30%;
}
.step2 .timebox .timeinput input{
    padding: 10px;
    font-size: 3.73vw;
    width: 90%;
}
    
}

/* ==============================================================================
   step04
============================================================================== */
.step4 {
  background: #FFF;
  padding: 87px 0 150px 0;
}

form .validation{
    display: none;
    color: #FF0004;
    font-size: 14px;
    padding: 0 0 5px 0;
}
.step4 input[type="text"]{
    border: 2px #D2D2D2 solid;
    padding: 15px;
    font-size: 15px;
    color: #222;
    width: 600px;
    margin: 0 0 30px 0;
}

.step4 .mininput {
    width: 300px !important;
}



.buttonbox{
    padding: 50px 0 0 0;
    text-align: center;
}
.buttonbox .submitBtn{
    background: #000;
    color: #ffffff;
width: 200px;
    height: 54px;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    border: 3px #145FB6 solid;
    padding: 17px 0;
    margin: 0 0 0 0;
    line-height: 1;
}

.buttonbox .submitBtn:hover{
    background: #FFFFFF;
    color: #145FB6;
}
.buttonbox .submitBtn02{
    background: #CCC;
    color: #ffffff;
width: 200px;
    height: 54px;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    border: 3px #145FB6 solid;
    padding: 17px 0;
    margin: 0 20px 0 0;
    line-height: 1;
}

.buttonbox .submitBtn02:hover{
    background: #FFFFFF;
    color: #222;
}

.confirm{
    padding: 20px 0 80px 0;
}

.confirm table{
   width: 100%;
    max-width: 1000px;
    border-top: 2px #CBCBCB solid;
    border-right: 2px #CBCBCB solid;
    border-left: 2px #CBCBCB solid;
}
.confirm table tbody{
  width: 100%;
}
.confirm table th{
   width: 30%;
    padding: 15px;
    background: #145FB6;
    text-align: left;
    color: #FFF;
    vertical-align: middle;
    border-bottom: 2px #CBCBCB solid;
}
.confirm table td{
   width: 70%;
    padding: 15px;
    background: #FFF;
    border-bottom: 2px #CBCBCB solid;
}

.thanks{
    padding: 20px 0 80px 0;
    font-size: 20px;
    text-align: center;
}
@media screen and (max-width: 767px) {
    
.step4 {
  padding: 30px 0;
}

form .validation{
    font-size: 3.73vw;
}
.step4 input[type="text"]{
    padding: 10px;
    font-size: 3.73vw;
    width: 100%;
}

.buttonbox{
    padding: 30px 0 0 0;
}
.buttonbox .submitBtn{
width: 100%;
    height: auto;
    font-size: 4.27vw;
    padding: 17px 0;
}
.buttonbox .submitBtn02{
width: 100%;
    height: auto;
    font-size: 4.27vw;
    padding: 17px 0;
    margin-bottom: 20px;
}

.confirm{
    padding: 0 0 30px 0;
}

.confirm table{
   width: 100%;
}
.confirm table th{
   width: 30%;
    padding: 10px;
    font-size: 3.73vw
}
.confirm table td{
   width: 70%;
    padding: 10px;
    font-size: 3.73vw
}

.thanks{
    padding: 0 0 30px 0;
    font-size: 4.27vw;
}  
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: #FFFFFF;
	background-image: url(../images/ico_arrow01.png);
	background-repeat: no-repeat;
	background-position: right 10px center;

}
input{
    -webkit-appearance: none;
}
}

