@charset "utf-8";

/*
==================================================
00 - common 共通のスタイル
==================================================
*/

body {
  color: #313131;
  min-width: 1000px;
}

.img-center,
.sec-ttl,
.txt-center {
  text-align: center;
}

.inner {
  width: 960px;
  margin: 0 auto;
}


.wrap {
  overflow: hidden;
}

.textImg{
  text-align: center;
  padding-top:92px;
}



.header-top{
  height: 42px;
  line-height: 42px;
  color: #fff;
  font-size: 17px;
}

.header-top span{
  display: inline-block;
  border: 1px solid #fff;
  width: 190px;
  text-align: center;
  line-height: 28px;
  margin-right:10px;
}

/*-------------------------------------*/
/*--　fv　--*/
#fv{
  background-color: #fdec8e;
  height: 1348px;
  margin-top: 123px;
}
#fv > .corona-area{
  text-align: center;
  background-color:#0952b2;
}
#fv > div{
  background:url(../img/fv_2.png) no-repeat center top;
  width: 100%;
  margin: auto;
  height: 1348px;
  text-align:center;
  position: relative;
}
#fv > div > p{
  position: absolute;
  left: -220px;
  top: 754px;
  width: 100%;
  font-weight: 700;
  z-index: 20;
  font-size: 32px;
  color: #0a43a7;
}

#fv > div > p.campaignDay {
  color: #FFEA04;
  font-size: 62px;
  top: 35px;
  left: -329px;
  transform: rotateZ(-2deg);
  -webkit-transform : rotate(-2deg) ;
  -ms-transform : rotate(-1deg) ;
}
#fv > div > p > span{
  font-weight: 700;
  color:#ff0079;
}
#fv > div > p > strong{
  display: block;
  color: #000;
  font-weight: 700;
  font-size: 14px;
  padding-top: 10px;
}

#fv .female-staff-img {
  position: absolute;
  top: 856px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

.creditcard {
  position: absolute;
  z-index: 100;
  bottom: 200px;
  left:50%;
  transform: translateX(-50%);
}

#fv .bottom-img {
  position: absolute;
  z-index: 100;
  bottom: 0;
  left:50%;
  transform: translateX(-50%);
}

/*-------------------------------------*/
/*--　info　--*/
.info{
  background: url(../img/info_bg.png) repeat-x;
  width: 100%;
  padding-bottom: 35px;
  position: relative;
}

.info h2{
  padding-top: 1px;
  text-align: center;
}

.info_tel{
  float: left;
padding-top: 16px;
padding-left: 28px;
}

.info_btn{
  float: right;
padding-top: 18px;
padding-right: 20px;
}

.info .info_line_image {
  text-align: center;
  margin-top: 40px;
}

/*-------------------------------------*/
/*--　crown3　--*/
.crown3 {
  margin: 0 auto;
  padding: 50px 0 0;
  height: 1020px;
  text-align: center;
  box-sizing: border-box;
  background:#fff0b3 url(../img/3crown_bg.png) center top no-repeat;
}
.crown3 h2{
  margin: 0 auto;
}
.crown3 h3{
  margin: -20px auto auto;
}

/*-------------------------------------*/
/*--　sec1　--*/
#sec1{
  position: relative;
  z-index: 0;
  padding: 0 0 90px 0;
  background-color: #dcdcdc;
}
#sec1::before{
  position: absolute;
  z-index: 1;
  top: 0;
  background:url(../img/dot_bk_top.png) repeat-x left top;
  height: 400px;
  width: 100%;
  content: '';
}
#sec1::after{
  position: absolute;
  z-index: 1;
  bottom: 0;
  background:url(../img/dot_bk_bottom.png) repeat-x left bottom;
  height: 400px;
  width: 100%;
  content: '';
}
.sec1-problem{
  position: relative;
  z-index: 10;
  width: 100%;
}
.sec1-title{
  text-align: center;
  padding-top: 90px;
}
.sec1-p{
  text-align: center;
  margin: 32px 0 52px;
  font-size:20px;
  line-height:1.5em;
}
.sec1-ul{
  width: 980px;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.sec1-ul li{
  position: relative;
  margin: auto 0 160px auto;
}
.sec1-ul li:nth-child(2) {
  margin: auto 20px 160px 20px;
}
.sec1-ul li:nth-child(5) {
  margin: auto 0 160px 20px;
}
.sec1-ul li > p{
  position: absolute;
  z-index: 10;
}
.sec1-dl{
}
.sec1-dl dt{
}
.sec1-dl dd{
  text-align: center;
  font-size:18px;
  line-height:1.3em;
  padding:24px 0 0 0;
}
#sec1 > .sec1-problem > .bottom{
  position: relative;
  z-index: 2;
  margin: -470px auto auto;
  background:url(../img/base2.png) no-repeat center bottom;
  width: 1020px;
  height:569px;
}

/*-------------------------------------*/
/*--　sec2　--*/
#sec2{
  background:url(../img/sec2_bg.png) repeat-x center top;
  height: 1510px;
  margin-top:-1px;
}

#sec2{
  text-align: center;
  padding-top:62px;
  padding-bottom:20px;
}

/*-------------------------------------*/
/*--　sec3　--*/
#sec3{
  padding-bottom: 100px;
  background:url(../img/sec3_bg2.png);
}
#sec3 .corona-area{
  text-align: center;
  background-color:#0952b2;
  margin-bottom: 78px;
}
.sec03-list{
  position: relative;
  font-size:40px;
  font-weight: bold;
  color:#0045a0;
  text-align: center;
  margin-top: 30px;
}

.sec03-list dt{
  position: absolute;
  top:30px;
  left: 0;
  right: 0;
  width: 100%;
}

#sec3 .textImg{
  padding-top:78px;
  text-align: center;
}

/*-------------------------------------*/
/*--　sec4　--*/
#sec4{
  background-image: url(../img/sec4_bg.png);
  background-repeat:repeat-x;
  background-position: center;
  height:1646px;
}

#sec4{
  text-align: center;
  padding-top: 42px;
  position: relative;
  min-height: 1645px;
}

.before_after{
  margin-bottom: 63px;
  position: absolute;
  top:424px;
  left: 0;
  right: 0;
  width: 100%;
  text-align: center;
}

.before_after p{
  padding-bottom:42px;

}

/*-------------------------------------*/
/*--　sec5　--*/
#sec5{
  background: url(../img/sec5_bg.png) repeat-x center 0;
  height:736px;
}

#sec5 .textImg{
  padding:72px 0 42px;
}

#sec5 li{
  float: left;
  padding:3% 1% 0 0;
}

#sec5 ul{
  width:980px;
  margin: 0 auto;
  display:table;
}

#sec5 li{
  float: left;
  padding:3% 1% 0 0;
}

/*-------------------------------------*/
/*--　sec6　--*/
#sec6{
  background: #fff8d2 url(../img/sec6_bg.png)repeat-x center 0;
}

#sec6 h2{
  padding:102px 0 47px;
}

#sec6 .flow li{
  text-align: center;
}

#sec6 .flow li:nth-child(n+2){
  padding-top:25px;
}

.banner-box {
  width: 100%;
  background: url(../img/banner_bg.png) repeat-x center top;
  margin-top:40px;
}

.banner{
  padding-top:44px;
}

/*-------------------------------------*/
/*--　voice　--*/
#voice{
  padding-bottom: 160px;
  background-image: url(../img/faq_bg2.png),url(../img/bg_under.png);
  background-repeat: no-repeat;
  background-position: center top,left -100px bottom;
  /*height:1278px;*/
}

#voice h2{
  padding:45px 0 88px;
}

.voice-ul{
  width: 900px;
  margin: auto;
}
.voice-ul li{
  -moz-transform: rotate(3deg);
  -webkit-transform: rotate(3deg);
  -o-transform: rotate(3deg);
  -ms-transform: rotate(3deg);
  transform: rotate(3deg);
  display: block;
  padding: 20px;
  margin: auto auto 30px auto;
  background-color: #fff8d7;
  border: 4px solid #000;
  box-shadow:6px 6px 0px 0px #000
}
.voice-ul li > p{
  -moz-transform: rotate(-3deg);
  -webkit-transform: rotate(-3deg);
  -o-transform: rotate(-3deg);
  -ms-transform: rotate(-3deg);
  transform: rotate(-3deg);
  display: inline-block;
}
.voice-ul li > p > strong{
  color: #0a43a7;
  font-size: 20px;
  font-weight: 700;
  display: block;
  padding: 10px 0 0 0;
}
.voice-ul li > p > span{
  display: block;
  padding: 20px 0 40px 0;
  line-height: 1.5;
  font-size: 20px;
}



/*-------------------------------------*/
/*--　faq　--*/
#faq{
  background-image: url(../img/faq_bg2.png),url(../img/bg_under.png);
  background-repeat: no-repeat;
  background-position: center top,left -100px bottom;
  /*height:1526px;*/
  padding-bottom: 70px;
}

#faq h2{
  padding:45px 0 88px;
}

#faq ul li{
  vertical-align:middle;
  padding:30px 0;
  border-bottom:1px solid #b5b5b5;
}

#faq ul li dl dt{
  min-height: 44px;
  background: url(../img/faq_1.png) no-repeat;
  color:#0045a0;
  font-weight: bold;
  font-size:25px;
  line-height: 1.5;
  margin-bottom: 5px;
  padding: 0 20px 0 54px;
}

#faq ul li dl dd{
  font-size:16px;
  line-height:2em;
}

#faq ul li dl dd img{
  margin:0.2em 0.5em 0.2em 0 ;
}
/*
==================================================
00 - header ヘッダーのスタイル
==================================================
*/

#header {
  width: 100%;
  background: url(../img/header_bg.png) repeat-x center 0;
  height: 123px;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index:9999;
}

.header-logo {
  float: left;
  margin-top:22px;
}

.header-bottom{
  height: 71px;
}

.header-contact{
  float: right;
}

.header-contact dl{
  float: left;
  background:url(../img/tel.png) no-repeat left center;
  padding-left: 60px;
  min-height: 50px;
  margin-top:15px;
  margin-right:15px
}

.header-contact dt{
  font-size: 13px;
  line-height: 1.4em;
}

.header-contact dd{
  font-size: 35px;
  font-weight: bold;
}

.header-contact p{
  float: left;
  margin-top:12px;
}

.header-btn {
  position:relative;
}

#form_header {
  width: 100%;
  background: url(../img/header_bg.png) repeat-x center 0;
  height: 123px;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index:9999;
}

.header-logo {
  float: left;
  margin-top:22px;
}

.header-bottom{
  height: 71px;
}

.header-contact{
  float: right;
}

.header-contact dl{
  float: left;
  background:url(../img/tel.png) no-repeat left center;
  padding-left: 60px;
  min-height: 50px;
  margin-top:15px;
  margin-right:15px
}

.header-contact dt{
  font-size: 13px;
  font-weight: bold;
  line-height: 1.4em;
}

.header-contact dd{
  font-size: 35px;
  font-weight: bold;
}

.header-contact p{
  float: left;
  margin-top:12px;
}


.caution{
  margin: 0 auto;
  padding: 34px 0;
  width: 1030px;
}



/*
==================================================
00 - footer フッターのスタイル
==================================================
*/

#footer {
  width: 100%;
  background:#dcdcdc;
}

#footer table{
  position:relative;
  top:50px;
  left: 0;
  right: 0;
}

#footer th{
  padding-right:33px;
  font-size: 18px;
}

#footer td{
  font-size: 18px;
  line-height:40px;
}
#footer td p{
  margin: 0 0 20px;
  font-size: 18px;
  line-height:25px;
}
.copyright {
  background:#c0bdbd;
  color:#000000;
  display: block;
  text-align: center;
  margin-top: 100px;
  padding: 10px;
}

/*
==================================================
00 - form フォームのスタイル
==================================================
*/

/* フォーム */
.form-inner,
.confirm-inner,
.thanks-inner{
  width:858px;
  margin:0 auto;
  margin-top: 126px;
}

.sec-ttl{
  padding:52px 0 13px;
}

.form-img{
  text-align: center;
  padding-bottom:36px;
}

.form-inner .txt,
.confirm-inner .txt{
  padding-bottom:50px;
  font-size: 17px;
}

.form-table{
  text-align: center;
  width:100%;
}

.form-inner dl{
  margin-bottom:30px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -webkit-align-items: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.confirm-table{
  width:100%;
}

.confirm-inner dt,
.form-inner dt{
  font-size:20px;
  font-weight: bold;
  width: 300px;
  padding: 20px;
  margin-right:15px;
  text-align: left;
}

.form-inner {
  padding-top:10px;
}

.confirm-inner dd{
  padding-top:20px;
  padding-bottom:20px;
}

.form-inner label,
.confirm-inner label{
  display: block;
}


.form-inner dt span,
.confirm-inner dt span{
  background-color: #ff9a18;
  font-size:17px;
  font-weight: bold;
  display: inline-block;
  width: 65px;
  text-align: center;
  line-height: 25px;
  float: right;
}

.form-table dd input[type=text],
.form-table dd input[type=tel],
.form-table dd input[type=email]{
  background:#e7e7e7;
  border: 1px solid #f6f6f6;
  color:#333;
  line-height:45px;
  padding: 0 1em;
  width: 500px;
}

.form-table dd textarea{
  resize: vertical;
  min-height: 200px;
  margin-top:10px;
  background:#e7e7e7;
  border: 1px solid #f6f6f6;
  color:#333;
  width: 500px;
  line-height:20px;
}

.form-table dd select {
  width: 500px;
  height: 40px;
  padding: 0 1em;
  color:#333;
  background:#e7e7e7;
  border: 1px solid #f6f6f6;
}

.form-btn-list{
  padding:71px 0 57px;
}

.textarea{
  vertical-align:top;
}

.confirm-inner dl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.confirm-inner dl+dl{
  border-top:1px solid #000000;
}

.thanks-txt{
  font-size: 16px;
  line-height: 25px;
  padding:45px 0 80px;
}
/* フォームのボタン */

.input{
  border: none;
}

.form-btn-list {
  width: 100%;
  text-align: center;
  font-size: 0;
  margin-bottom: 60px;
}

.confirm-inner .btn-list{
  text-align: center;
}

.form-btn-list > li {
  display: inline-block;
  vertical-align: top;
}

.form-btn-list > li + li {
  margin-left: 15px;
}

#back-btn {
  cursor: pointer;
}


.btn-list {
  width: 100%;
  text-align: center;
  font-size: 0;
  margin:75px 0 105px 15px;
}

.btn-list > li {
  display: inline-block;
  vertical-align: top;
  margin-right: 30px;
}

.top-txt{
  text-align: center;
  padding-bottom:700px;
}

/* フォームのエラー */

.error {
  display: block;
  width: 100%;
  color: #df3434;
  font-size: 14px;
  padding-bottom: 8px;
}

.error > span {
font-size: 14px;
font-weight: 700;
background: red;
color: #fff;
padding: 10px;
border-radius: 3px;
position: relative;
display: inline-block;
}

.error > span:after {
position: absolute;
bottom: -16px;
left: 10px;
content: "";
width: 0;
height: 0;
border: 10px solid transparent;
border-top: 10px solid red;
}

