@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
}
@media screen and (max-width: 767px) {
  .inner {
    width: 94%;
  }
  .inner02 {
    width: 94%;
  }
  .pc {
    display: none
  }
  .sp {
    display: block
  }

}
/* ==============================================================================
   header
============================================================================== */
#header {
  background: #000000;
  height: 70px;
}
#header .logo {
  padding: 17px 0 0 3px;
  width: 421px;
  height: auto;
}
#header .logo img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  #header {
    background: #000000;
    height: 50px;
  }
  #header .logo {
    padding: 12px 0 0 0px;
    width: 70%;
    height: auto;
  }
}
/* ==============================================================================
   mainimg
============================================================================== */
#mainimg {
  width: 100%;
  height: 404px;
  background: url("../images/bg_mainimg01.png") no-repeat center top, #F5F5F5;
  background-size: auto 404px;
  padding: 54px 0 0 0;
}
#mainimg .line01 {
  margin: 0 0 15px 0;
  background: linear-gradient(transparent 65%, #FFFF00 0%);
  font-size: 2.4rem;
  font-weight: bold;
  display: inline-block;
}
#mainimg .line02 {
  margin: 0 0 15px 0;
  font-size: 4.8rem;
  font-weight: bold;
  line-height: 1.2;
  text-shadow: 1px 2px 2px rgba(255,255,255,0.6);
}
#mainimg .line02 span {
  font-size: 3.2rem;
}
#mainimg .line03 {
  width: 460px;
  display: flex;
  justify-content: space-between;
}
#mainimg .line03 .box01 {
  width: 235px;
  height: 103px;
  background: url("../images/bg_mainimgBox01.png") no-repeat;
  font-size: 22px;
  font-weight: bold;
  color: #145fb6;
  text-align: center;
  padding: 35px 0 0 5px;
}
#mainimg .line03 .box02 {
  width: 235px;
  height: 103px;
  background: url("../images/bg_mainimgBox02.png") no-repeat;
  font-size: 22px;
  font-weight: bold;
  color: #145fb6;
  text-align: center;
  padding: 23px 0 0 10px;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  #mainimg {
    width: 100%;
    height: 300px;
    background: url("../images/bg_mainimg01.png") no-repeat center top, #F5F5F5;
    background-size: auto 100%;
    padding: 30px 0 0 0;
  }
  #mainimg .line01 {
    margin: 0 0 15px 0;
    font-size: 5.33vw;
  }
  #mainimg .line02 {
    line-height: 1.4;
    margin: 0 0 15px 0;
    font-size: 8.53vw;
  }
  #mainimg .line02 span {
    font-size: 4.27vw;
  }
  #mainimg .line03 {
    width: 100%;
  }
  #mainimg .line03 .box01 {
    width: 48%;
    height: auto;
    background-size: 100%;
    font-size: 4.27vw;
    padding: 26px 0 10px 0px;
  }
  #mainimg .line03 .box02 {
    width: 48%;
    height: auto;
    background-size: 100%;
    font-size: 4.27vw;
    padding: 15px 0 10px 0px;
  }
}
/* ==============================================================================
   lead
============================================================================== */
.lead {
  padding: 53px 0 67px;
  text-align: center;
}
.lead .leadtxt {
  font-size: 26px;
  font-weight: bold;
  color: #145fb6;
  line-height: 1.5;
}
.lead .leadtxt02 {
  font-size: 32px;
  font-weight: bold;
  color: #222222;
  line-height: 2;
}
.lead .leadtxt02 img {
  vertical-align: bottom;
  padding: 0 10px 0 0;
}
@media screen and (max-width: 767px) {
  .lead {
    padding: 30px 0 60px 0;
  }
  .lead .leadtxt {
    font-size: 4.27vw;
    font-weight: bold;
    color: #145fb6;
    line-height: 1.5;
  }
  .lead .leadtxt02 {
    font-size: 5.33vw;
    font-weight: bold;
    color: #222222;
    line-height: 2;
  }
  .lead .leadtxt02 img {
    vertical-align: bottom;
    padding: 0 10px 0 0;
    width: 80%;
  }
}
/* ==============================================================================
   ofstep
============================================================================== */
.ofstep {
  background: url("../images/bg_ofstep01.png") repeat-x left bottom, #145FB6;
  position: relative;
}
.ofstep .pointo {
  position: absolute;
  width: 328px;
  border: 4px #145FB6 solid;
  background: #FFF;
  border-radius: 30px;
  text-align: center;
  font-size: 22px;
  font-weight: bold;
  color: #222222;
  padding: 16px 0 15px 0;
  line-height: 1;
  display: inline-block;
  margin: 0 0 30px -164px;
  ;
  top: -32px;
}
.ofstep .ttl {
  padding: 61px 0 26px 0;
  text-align: center;
  font-size: 32px;
  font-weight: bold;
  color: #FFFFFF;
}
.ofstep .ttl span {
  font-size: 60px;
}
@media screen and (max-width: 767px) {
  .ofstep .pointo {
    font-size: 5.33vw;
    padding: 12px 0 10px 0;
    ;
    top: -25px;
  }
  .ofstep .ttl {
    padding: 40px 0 26px 0;
    font-size: 6.4vw;
  }
  .ofstep .ttl span {
    font-size: 10.67vw;
  }
}
/* ==============================================================================
   flow
============================================================================== */
.flow {
  display: flex;
  justify-content: space-between;
}
.flowBox {
  width: 272px;
}
.flowBox .ttl01 {
  position: relative;
  background: #FFF;
  color: #222222;
  font-size: 22px;
  height: 47px;
  font-weight: bold;
  text-align: center;
  padding: 10px 0 0 15px;
}
.flowBox .ttl01 .noicon {
  position: absolute;
  top: -10px;
  left: 10px;
  background: #000000;
  color: #FFFFFF;
  width: 46px;
  height: 46px;
  font-size: 22px;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
}
.flowBox .img {
  height: 165px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.flowBox .txt {
  color: #FFF;
  font-size: 15px;
  line-height: 1.6;
}
.ofstep .ofbnr {
  border: 10px #ECF3FA solid;
  background: #DDE8F4;
  color: #145FB6;
  font-size: 30px;
  font-weight: bold;
  text-align: center;
  margin: 54px 0 60px 0;
  padding: 17px 0;
}
.ofstep .ofbnr .btn01 {
  margin: 20px 0;
  position: relative;
  background: #FFAE00;
  color: #FFF;
  font-size: 30px;
  font-weight: bold;
  text-align: center;
  width: 568px;
  height: 81px;
  display: inline-block;
  border-radius: 10px;
}
.ofstep .ofbnr .btn01::before {
  content: "";
  background: url("../images/ico_ofbnrbtn01.png") no-repeat;
  position: absolute;
  width: 89px;
  height: 89px;
  top: -40px;
  left: 20px;
}
.ofstep .ofbnr .btn01 a {
  display: block;
  color: #FFF;
  padding: 20px 0;
  text-decoration: none;
  border-radius: 10px;
  box-shadow: 14px 13px 55px -43px #777777;
}
.ofstep .ofbnr .btn01 a:hover {
  background: #FFD06B;
  border-radius: 10px;
  box-shadow: 14px 13px 55px -43px #777777;
}
@media screen and (max-width: 767px) {
  .flow {
    display: block;
  }
  .flowBox {
    width: 100%;
    margin-bottom: 50px;
  }
  .flowBox .ttl01 {
    font-size: 6.4vw;
  }
  .flowBox .ttl01 .noicon {
    font-size: 6.4vw;
  }
  .flowBox .txt {
    font-size: 4.27vw;
  }
  .ofstep .ofbnr {
    border: 5px #ECF3FA solid;
    font-size: 6vw;
    margin: 54px 0 60px 0;
    padding: 17px 0;
  }
  .ofstep .ofbnr .btn01 {
    margin: 20px 0 0px 0;
    font-size: 6.4vw;
    width: 96%;
    height: 70px;
  }
  .ofstep .ofbnr .btn01::before {
    content: "";
    background: url("../images/ico_ofbnrbtn01.png") no-repeat;
    background-size: 100%;
    position: absolute;
    width: 60px;
    height: 60px;
    top: -40px;
    left: 0px;
  }
}
/* ==============================================================================
   crucial
============================================================================== */
.crucial {}
.crucial .inner{
    padding: 0 0 80px 0;
}
.crucial .crucialmain {
  height: 365px;
  background: url("../images/bg_crucial01.png") no-repeat center top, #404C4C;
  background-size: auto 365px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.crucial .crucialmain .txt {
  color: #FFF;
  font-size: 40px;
  font-weight: bold;
  text-align: center;
  line-height: 1;
}
.crucial .crucialmain .txt p {
  padding: 0;
  margin-bottom: 15px;
}
.crucial .crucialBox {
  padding: 87px 0 0px 0;
  display: flex;
  justify-content: space-between;
}
.crucial .crucialBox .txts {
  width: 508px;
}
.crucial .crucialBox .txts .ttl {
  color: #145FB6;
  font-size: 30px;
  font-weight: bold;
  line-height: 2;
  margin-bottom: 25px;
}
.crucial .crucialBox .txts p {
  color: #222;
  font-size: 16px;
  line-height: 2;
}
.crucial .crucialBox .img {
  width: 354px;
}
.crucial .box02 .img {
order: 1;
}
.crucial .box02 .txts {
order: 2;
}  

@media screen and (max-width: 767px) {
  .crucial .crucialmain {
    height: 200px;
    background: url("../images/bg_crucial01.png") no-repeat center top, #404C4C;
    background-size: auto 100%;
  }
  .crucial .crucialmain img {
    width: 300px;
  }
  .crucial .crucialmain .txt {
    color: #FFF;
    font-size: 6.4vw;
    font-weight: bold;
    text-align: center;
    line-height: 1;
  }
  .crucial .crucialmain .txt p {
    padding: 0;
    margin-bottom: 15px;
  }
  .crucial .crucialBox {
    display: block;
    padding: 30px 0 0px 0;
  }
  .crucial .crucialBox .txts {
    width: 100%;
  }
  .crucial .crucialBox .txts .ttl {
    font-size: 6.4vw;
    margin-bottom: 10px;
  }
  .crucial .crucialBox .txts p {
    font-size: 4.27vw;
  }
  .crucial .crucialBox .img {
    width: 100%;
  }
  .crucial .crucialBox .img img {
    width: 100%;
  }

    
}
/* ==============================================================================
   case
============================================================================== */
.case {
  background: #F3F3F3;
  padding: 108px 0 92px 0;
  text-align: center;
}
.case .ttl {
  color: #222;
  font-size: 40px;
  font-weight: bold;
}
.case ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.case li {
  width: 280px;
  box-shadow: 10px 4px 15px -5px #dedede;
  background: #FFF;
  margin-bottom: 28px;
}
.case .caseBox {
  padding: 20px 15px;
}
.case .caseBox.box01 .ttl01 {
  color: #F39800;
}
.case .caseBox.box01 .cat {
  background: #F39800;
}
.case .caseBox.box02 .ttl01 {
  color: #145FB6;
}
.case .caseBox.box02 .cat {
  background: #145FB6;
}
.case .caseBox.box03 .ttl01 {
  color: #60B54F;
}
.case .caseBox.box03 .cat {
  background: #60B54F;
}
.case .caseBox.box04 .ttl01 {
  color: #FF4DFF;
}
.case .caseBox.box04 .cat {
  background: #FF4DFF;
}
.case .caseBox .ttl01 {
  font-size: 14px;
  font-weight: bold;
  border-bottom: 1px #CCC dashed;
  padding: 0 0 15px 0;
  margin: 0 0 16px 0;
}
.case .caseBox .conts {
  display: flex;
  justify-content: space-between;
}
.case .caseBox .conts .txts {
  text-align: left;
}
.case .caseBox .conts .cat {
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  padding: 8px 0;
  color: #FFFFFF;
  width: 87px;
  margin-bottom: 5px;
}
.case .caseBox .conts .ttl02 {
  font-size: 20px;
  font-weight: bold;
  color: #222;
  margin-bottom: 4px;
}
.case .caseBox .conts .price {
  font-size: 24px;
  font-weight: bold;
  color: #da172e;
}
.case .caseBox .conts .delivery {
  font-size: 12px;
  color: #222;
}
.case .caseBox .conts .img {
  width: 100px;
  height: 130px;
  overflow: hidden;
  margin-left: 10px;
    flex-shrink: 0;
}
.case .caseBox .conts .img img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .case {
    padding: 50px 0;
  }
  .case .ttl {
    font-size: 6.4vw;
  }
  .case ul {
    display: block;
  }
  .case li {
    width: 100%;
  }
  .case .caseBox .ttl01 {
    font-size: 3.73vw;
  }
  .case .caseBox .conts .cat {
    font-size: 3.73vw;
  }
  .case .caseBox .conts .ttl02 {
    font-size: 5.33vw;
  }
  .case .caseBox .conts .price {
    font-size: 5.8vw;
  }
  .case .caseBox .conts .delivery {
    font-size: 3.2vw;
  }
}
/* ==============================================================================
   soubun
============================================================================== */
.soubun {}
.soubun .inner {
  padding: 94px 0 145px 0;
}
.soubun .inner .txt {
  text-align: center;
  font-size: 32px;
  font-weight: bold;
  margin-bottom: 15px;
}
.soubun .inner .txt span {
  font-size: 52px;
}
.soubun .inner .bnr {
  text-align: center;
  margin-bottom: 62px;
}
.soubun .inner .result_items {}
.soubun .inner .result_items ul {
  text-align: center;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.soubun .inner .result_items ul li {
  width: 145px;
  margin-bottom: 25px;
}
.soubun .inner .result_items ul li .thumb {
  height: 107px;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .soubun .inner {
    padding: 50px 0;
  }
  .soubun .inner .txt {
    font-size: 6.4vw;
    margin-bottom: 15px;
  }
  .soubun .inner .txt span {
    font-size: 10vw;
  }
  .soubun .inner .bnr {
    margin-bottom: 40px;
  }
  .soubun .inner .bnr img {
    width: 100%;
    height: auto;
  }
  .soubun .inner .result_items {}
  .soubun .inner .result_items ul {
    text-align: center;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .soubun .inner .result_items ul li {
    width: 48%;
    margin-bottom: 20px;
    font-size: 3.73vw;
  }
  .soubun .inner .result_items ul li .thumb {
    height: 107px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .soubun .inner .result_items ul li .thumb img {
    width: 100%;
    height: auto;
  }
}
/* ==============================================================================
  faq
============================================================================== */
.faq {
  background: #F3F3F3;
}
.faq .inner {
  padding: 78px 0 90px 0;
}
.faq .inner .ttl {
  text-align: center;
  font-size: 36px;
  font-weight: bold;
}
.faq .inner .faqbox {
  margin-bottom: 20px;
}
.faq .inner .faqbox .ttl01 {
  color: #145FB7;
  font-size: 18px;
  font-weight: bold;
}
.faq .inner .faqbox .ttl01 .ico {
  background: #145FB7;
  color: #FFF;
  font-size: 18px;
  font-weight: bold;
  display: inline-block;
  width: 60px;
  height: 60px;
  text-align: center;
  padding: 18px 0 0 0;
  margin: 0 16px 0 0;
}
.faq .inner .faqbox p {
  color: #222;
  font-size: 16px;
  padding: 20px 0 0 80px;
}
@media screen and (max-width: 767px) {
  .faq .inner {
    padding: 50px 0;
  }
  .faq .inner .ttl {
    font-size: 6.4;
  }
  .faq .inner .faqbox {
    margin-bottom: 20px;
  }
  .faq .inner .faqbox .ttl01 {
    font-size: 4.8vw;
    line-height: 1.2;
    position: relative;
    padding: 0 0 0 80px;
  }
  .faq .inner .faqbox .ttl01 .ico {
    position: absolute;
    left: 0;
    font-size: 4.8vw;
    text-align: center;
    padding: 18px 0 0 0;
    margin: 0 16px 0 0;
  }
  .faq .inner .faqbox p {
    color: #222;
    font-size: 16px;
    padding: 30px 0 0 0px;
  }
}
/* ==============================================================================
  links
============================================================================== */
.links {}
.links .inner {
  padding: 90px 0 72px 0;
}
.links .linksBox {
  display: flex;
  justify-content: space-between
}
.links .linksBox .img {
  width: 440px;
    font-size: 12px;
}
.links .linksBox .txts {
  width: 440px;
}
.links .linksBox .ttl {
  color: #145FB7;
  font-size: 32px;
  font-weight: bold;
  text-decoration: underline;
}
.links .linksBox .btn02 {
  margin: 20px 0;
  position: relative;
  background: #FFAE00;
  color: #FFF;
  font-size: 30px;
  font-weight: bold;
  text-align: center;
  width: 440px;
  height: 70px;
  display: inline-block;
  border-radius: 10px;
}
.links .linksBox .btn02 a {
  display: block;
  color: #FFF;
  padding: 15px 0;
  text-decoration: none;
  border-radius: 10px;
  box-shadow: 14px 13px 55px -43px #777777;
}
.links .linksBox .btn02 a:hover {
  background: #FFD06B;
  border-radius: 10px;
  box-shadow: 14px 13px 55px -43px #777777;
}
.links .linksBox02 {
  display: flex;
  justify-content: space-between;
  margin: 124px 0 0 0;
}
@media screen and (max-width: 767px) {
  .links .linksBox {
    display: block;
  }
  .links .inner {
    padding: 50px 0;
  }
  .links .linksBox .img {
    width: 100%;
    margin-bottom: 20px;
  }
  .links .linksBox .img img {
    width: 100%;
  }
  .links .linksBox .txts {
    width: 100%;
  }
  .links .linksBox .ttl {
    text-align: center;
    font-size: 5.8vw;
  }
  .links .linksBox .btn02 {
    margin: 20px 0;
    font-size: 5.8vw;
    width: 100%;
    height: 60px;
  }
  .links .linksBox02 {
    display: block;
    justify-content: space-between;
    margin: 20px 0 0 0;
  }
  .links .linksBox02 .link {
    margin-bottom: 20px
  }
  .links .linksBox02 .link img {
    width: 100%;
    height: auto;
  }
}
/* ==============================================================================
   footer
============================================================================== */
#footer {
  background: #000000;
  color: #FFF;
  padding: 42px 0 67px 0;
  text-align: center;
}
#footer small {
  font-size: 12px;
}
#nav {
  text-align: center;
  margin-bottom: 35px;
}
#nav ul {
  text-align: center;
}
#nav ul li {
  display: inline-block;
  font-size: 14px;
  font-weight: bold;
  padding: 0 14px;
}
#nav ul li a {
  color: #FFF;
  text-decoration: none
}
#nav ul li a:hover {
  text-decoration: underline;
}
@media screen and (max-width: 767px) {
  #footer {
    padding: 42px 0 15px 0;
  }
  #footer small {
    font-size: 3.2vw;
  }
  #nav {
    margin-bottom: 35px;
  }
  #nav ul {
    text-align: left;
  }
  #nav ul li {
    display: block;
    font-size: 3.73vw;
    font-weight: bold;
    padding: 0 14px;
    margin-bottom: 20px
  }
  #nav ul li a {
    color: #FFF;
    text-decoration: none
  }
  #nav ul li a:hover {
    text-decoration: underline;
  }
}
/* ==============================================================================
   form
============================================================================== */
.form {}
.form .ttlstep {
  font-size: 26px;
  font-weight: bold;
  border-bottom: 3px #145FB6 solid;
  color: #145FB6;
  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;
}
#offermain{
padding: 85px 0 10px 0;
    
}
#offermain .ttl{
    text-align: center;
    font-size: 32px;
    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 .ttl{
    font-size: 6.4vw;
    
}
    
}
/* ==============================================================================
   step01
============================================================================== */
.step1 {
  background: #F3F3F3;
  padding: 87px 0;
}
.step1 .select01 {
  margin-bottom: 45px;
}
.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 .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;
}
@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 ;
}
    
}

/* ==============================================================================
   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 .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 .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;
}

.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;
}
.step3 .noukibox .noukiinput{
}
.step3 .noukibox .noukiinput input{
    border: 2px #D2D2D2 solid;
    padding: 15px;
    font-size: 15px;
    color: #222;
    width: 192px;
}
@media screen and (max-width: 767px) {
    
.step3 {
  padding: 30px 0;
}
.step3 label{
    font-size: 3.73vw;
}

.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;
}

.buttonbox{
    padding: 50px 0 0 0;
    text-align: center;
}
.buttonbox .submitBtn{
    background: #145FB6;
    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;
    border-radius: 10px;
    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;
    border-radius: 10px;
    line-height: 1;
}

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

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

.confirm table{
   width: 100%;
    border-top: 2px #CBCBCB solid;
    border-right: 2px #CBCBCB solid;
    border-left: 2px #CBCBCB solid;
}
.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;
}
}

#footercv{
    padding: 5px 0;
    position: fixed;
    bottom: 0;
    left: 0;
    background: #FFFFFF;
    width: 100%;
    text-align: center;
}
#footercv a:hover img{
    opacity: 0.8;
}
#footercv img{
    width: 100%;
}