
.kv {
position: relative;
padding: 100px 0 92px;
min-height: 1300px;
background: linear-gradient(#064ac7 0%, #085acb 11.8%, #15cfe6 100%);
box-sizing: border-box;
}

.kv .inner {
width: 860px;
}

.kv h1 {
font-weight: bold;
font-size: 40px;
text-align: center;
margin-top: 114px;
color: #fff;
}

.kv .imgList {
width: 463px;
margin: 0 auto;
padding: 40px 0 41px;
}

.kv .imgList ul {
display: flex;
justify-content: space-between;
align-items: flex-end;
white-space: nowrap;
}

.kv .imgList ul li {
padding: 5px;
}
.kv .imgList ul li:first-child {
padding: 5px 10px 5px 0;
}
.kv .imgList ul li:last-child {
padding: 5px 0 5px 10px;
}

.kv .ttl {
font-weight: bold;
font-size: 30px;
margin: 60px auto 36px;
text-align: center;
color: #fff;
}

.kv .inner > ul {
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
white-space: nowrap;
}

.kv .inner > ul li {
width: 400px;
height: 80px;
background: transparent;
border: 3px solid #fff;
font-weight: bold;
font-size: 22px;
line-height: 85px;
text-align: center;
color: #fff;
}

.kv .lead {
margin-top: 47px;
font-weight: bold;
font-size: 28px;
letter-spacing: 0.02em;
line-height: 45px;
text-align: left;
color: #fff;
}

.kv .cta {
  margin-top: 105px;
}

.kv .cta p {
font-weight: bold;
font-size: 20px;
line-height: 85px;
text-align: center;
color: #fff;
}

.kv .cta .btn {
width: 300px;
height: 60px;
border-radius: 30px;
background: #fd5b5b;
line-height: 60px;
margin: 0 auto;
}

.kv .cta .btn a {
display: block;
font-weight: bold;
font-size: 20px;
letter-spacing: 0.2em;
color: #fff;
}

.value .title {
height: 132px;
background: linear-gradient(#064ac7 0%, #085acb 0%, #15cfe6 100%);
color: #fff;
}

.value .title .inner {
position: relative;
height: 100%;
}

.value .title .inner .titleBox {
position: absolute;
bottom: 0;
left: 0;
padding: 0 0 7.5px 0;
}

.value .title .inner .titleBox .box01 {
float: left;
}

.value .title .inner .titleBox .box02 {
float: left;
}

.value .title .inner .titleBox .box01 span {
font-weight: normal;
font-size: 17px;
letter-spacing: 0.1em;
margin-right: 45px;
display: inline-block;
border-right: 1px solid #fff;
padding: 7.5px 31.5px 7.5px 30px;
}

.value .title .inner .titleBox .box02 h2 {
font-weight: bold;
font-size: 17px;
padding: 7.5px 30px 7.5px 0;
}

.value .inner p.lead {
font-weight: bold;
font-size: 22px;
line-height: 1.59;
margin: 28px auto 0;
}

.solution h3 {
margin: 56px 0 42px;
padding: 0px 0 0px 90px;
line-height: 1.39;
background: url("../img/ico_solution_01.svg") no-repeat left center;
background-size: contain;
font-weight: bold;
font-size: 23px;
}

.solution02 h3 {
background: url("../img/ico_solution_03.svg") no-repeat left center;
background-size: contain;
padding: 10px 0 10px 90px;
margin: 42px auto;
}

.solution03 h3 {
background: url("../img/ico_solution_02.svg") no-repeat left center;
background-size: contain;
padding: 10px 0 10px 90px;
margin: 44px 0 32px;
}

.solution h3 span {
display: block;
color: #0A4F9A;
font-size: 15px;
letter-spacing: 1px;
line-height: 1.5;
}

.solution ul {
display: flex;
flex-wrap: wrap;
}

.solution ul li {
width: 194px;
margin: 0 28px 35px 0;
}

.solution ul li:nth-child(4n) {
margin: 0 0 35px;
}

.solution ul li h4 {
display: flex;
align-items: flex-end;
margin: 0 0 12px;
color: #6E7CBC;
font-weight: bold;
font-size: 17px;
letter-spacing: 0.03em;
line-height: 1.5;
}

.solution02 ul li h4 {
color: #58C4DE;
}

.solution03 ul li h4 {
color: #2EB9AF;
}

.solution ul li .txt {
margin: 12px 0 0;
font-size: 13px;
line-height: 1.54;
}

.flow {
margin-top: 100px;
}

.flow h3 {
font-weight: bold;
font-size: 23px;
letter-spacing: 0.02em;
line-height: 1.52;
margin: 0 0 26px;
}

.flow p {
font-weight: 500;
font-size: 15px;
letter-spacing: 0.02em;
line-height: 1.66;
}

.flow ol {
display: flex;
flex-wrap: wrap;
list-style: none;
margin: 54px auto 107px;
}

.flow ol li {
position: relative;
width: 240px;
height: 120px;
border-radius: 10px;
border: 4px solid #70bfd2;
margin-right: 69px;
box-sizing: border-box;
}

.flow ol li:nth-child(3n) {
margin-right: 0;
}

.flow ol li::after {
content: url(../img/ico_arw_02.svg);
width: 25px;
height: 20px;
position: absolute;
top: 50%;
right: -53px;
transform: translateY(-50%);
}

.flow ol li:nth-child(3n)::after {
content: "";
}

.flow ol li span {
position: absolute;
left: 14px;
top: 50%;
transform: translateY(-50%);
border-radius: 50%;
width: 36px;
height: 36px;
background: #70bfd2;
text-align: center;
font-weight: bold;
font-size: 20px;
line-height: 1.7;
color: #fff;
}

.flow ol li p {
font-weight: bold;
font-size: 17px;
line-height: 1.58;
position: absolute;
top: 50%;
left: 64px;
transform: translateY(-50%);
}

.message .title {
height: 300px;
background: linear-gradient(#064ac7 0%, #085acb 0%, #15cfe6 100%);
color: #fff;
}

.message .title .inner {
padding: 50px 0 60px;
}

.message .title h2 {
font-weight: bold;
font-size: 27px;
line-height: 1.66;
text-align: center;
}

.message .title p {
font-weight: bold;
font-size: 23px;
line-height: 1.52;
text-align: center;
margin: 24px auto 0;
}

.message .cta {
height: 385px;
}

.message .cta .inner {
  padding-top: 126px;
}

.message .cta p {
font-weight: bold;
font-size: 20px;
line-height: 1;
text-align: center;
color: #73716F;
}

.message .cta .btn {
width: 300px;
height: 60px;
border-radius: 30px;
background: #fd5b5b;
line-height: 60px;
margin: 24px auto 0;
}

.message .cta .btn a {
display: block;
font-weight: bold;
font-size: 20px;
letter-spacing: 0.2em;
color: #fff;
}

.about .title {
height: 132px;
background: linear-gradient(#064ac7 0%, #085acb 0%, #15cfe6 100%);
color: #fff;
}

.about .title .inner {
position: relative;
height: 100%;
}

.about .title .inner .titleBox {
position: absolute;
bottom: 0;
left: 0;
padding: 0 0 7.5px 0;
}

.about .title .inner .titleBox .box01 {
float: left;
}

.about .title .inner .titleBox .box02 {
float: left;
}

.about .title .inner .titleBox .box01 span {
font-weight: normal;
font-size: 17px;
letter-spacing: 0.1em;
margin-right: 45px;
display: inline-block;
border-right: 1px solid #fff;
padding: 7.5px 28.5px 7.5px 30px;
}

.about .title .inner .titleBox .box02 h2 {
font-weight: bold;
font-size: 17px;
padding: 7.5px 30px 7.5px 0;
}

.about > .inner {
width: 635px;
padding: 100px 0;
}

.about table {
margin: 0;
}
.about table th,
.about table td {
font-size: 17px;
letter-spacing: 0.03em;
line-height: 40px;
position: relative;
}

.about table th {
width: 118px;
color: #6E7CBC;
text-align: left;
}

.about table td a {
border: 1px solid #0363cc;
font-size: 13px;
letter-spacing: 0.1em;
color: #0a4f9a;
padding: 0 5px;
position: absolute;
top: 75%;
right: -60px;
line-height: 1.5;
transform: translateY(-50%);
}

.about table td a:hover {
background: #beebf5;
opacity: 0.5;
}

.contact .title {
height: 132px;
background: linear-gradient(#064ac7 0%, #085acb 0%, #15cfe6 100%);
color: #fff;
}

.contact .title .inner {
position: relative;
height: 100%;
}

.contact .title .inner .titleBox {
position: absolute;
bottom: 0;
left: 0;
padding: 0 0 7.5px 0;
}

.contact .title .inner .titleBox .box01 {
float: left;
}

.contact .title .inner .titleBox .box02 {
float: left;
}

.contact .title .inner .titleBox .box01 span {
font-weight: normal;
font-size: 17px;
letter-spacing: 0.1em;
margin-right: 47.5px;
display: inline-block;
border-right: 1px solid #fff;
padding: 7.5px 10.5px 7.5px 30px;
}

.contact .title .inner .titleBox .box02 h2 {
font-weight: bold;
font-size: 17px;
padding: 7.5px 30px 7.5px 0;
}

.contact > .inner {
padding: 90px 0 147px;
}

.contact p {
font-weight: normal;
font-size: 14px;
letter-spacing: 0.05em;
line-height: 1.57;
}

.contact .inner .note01 {
margin-top: 30px;
}
.contact .inner .note02 {
margin-top: 10px;
padding-left: 14px;
position: relative;
}
.contact .inner .note02::before {
content: "※";
position:absolute;
top: 0;
left: 0;
}

.contact .table_koumoku {
margin-top: 57px;
}

.contact .table_request,
.contact .table_contact {
margin-top: 15px;
}

.contact table {
width: 100%;
}

.contact .required {
color: #C12436;
}

.contact table td, .contact table th {
vertical-align: top;
}

.contact table th {
width: 21.39%;
text-align: left;
padding: 15px 0;
font-size: 16px;
color: #49739D;
}
.contact table tr:last-child th,
.contact table tr:last-child td{
  padding: 5px 0 0 0;
}

.contact table td {
padding: 15px 0;
text-align: left;
font-size: 16px;
}

.contact table td span {
font-size: 16px;
}

.contact table td input[type="text"],
.contact table td input[type="email"],
.contact table td input[type="tel"] {
width: 100%;
height: 40px;
border-radius: 1px;
background: #fff;
border: 1px solid #49739d;
font-size: 100%;
font-family: inherit;
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
box-sizing: border-box;
}

.contact table td textarea {
font-family: inherit;
padding: 8px 1px;
width: 100%;
height: 261px;
border-radius: 1px;
background: #fff;
border: 1px solid #49739d;
font-size: 100%;
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
box-sizing: border-box;
}

.contact input[type="submit"]{
border: none;
width: 200px;
height: 56px;
border-radius: 28px;
background: #0363cc;
font-weight: normal;
font-size: 13px;
letter-spacing: 0.2em;
color: #fff;
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
cursor: pointer;
}

.contact table td .koumoku {
background-color: #fff;
padding: 25px 30px 12px 25px;
border-radius: 1px;
border: 1px solid #49739d;
}

.radio-field {
margin-bottom: 14px;
}

.radio-field input {
  display: none;
}

.radio-field input + .radio-field-text{
padding: 4px 0 4px 40px;
position:relative;
margin-right: 20px;
}

.radio-field input + .radio-field-text::before{
  content: "";
  display: block;
  position: absolute;
  top: 2px;
  left: 0;
  width: 19px;
  height: 19px;
  border: 1px solid #707070;
  border-radius: 50%;
}

.radio-field input:checked + .radio-field-text{
  color: #49739D;
}

.radio-field input:checked + .radio-field-text::after{
  content: "";
  display: block;
  position: absolute;
  top: 7px;
  left: 5px;
  width: 11px;
  height: 11px;
  background: #49739D;
  border-radius: 50%;
}

.privacy-description {
  margin-top: 49px;
  color: #49739d;
}

.checkbox-field label {
  margin-right: 20px;
  display: inline-block;
}

.checkbox-field input {
  display: none;
}

.checkbox-field input + span {
  padding: 4px 0 4px 40px;
  position:relative;
}

.checkbox-field-text {
  font-size: 16px;
  color: #49739D;
}

.checkbox-field input + span::before {
  content: "";
  display: block;
  background: #fff;
  position: absolute;
  top: 2px;
  left: 0;
  width: 19px;
  height: 19px;
  border: 1px solid #707070;
  border-radius: 50%;
}

.checkbox-field input:checked + span{
  color: #49739D;
}

.checkbox-field input:checked + span::after{
content: "";
display: block;
position: absolute;
top: 7px;
left: 5px;
width: 11px;
height: 11px;
background: #49739D;
border-radius: 50%;
}

.privacyBox {
height: 200px;
overflow-y: scroll;
border: 1px solid #49739D;
border-radius: 1px;
padding: 20px;
background: #f5f5f5;
margin: 20px auto;
color: #666;
}

.privacyBox h2 {
font-size: 18px;
margin: 0 auto 10px;
}

.privacyBox h3 {
font-size: 16px;
margin: 15px auto 10px;
}

.privacyBox p {
font-size: 12px;
}

.btn_submit {
margin-top: 109px;
text-align: center;
}

/* .confirm page */

.error_messe {
color: red;
}

.confirmPage .title {
height: 132px;
background: linear-gradient(#064ac7 0%, #085acb 0%, #15cfe6 100%);
color: #fff;
}

.confirmPage .title .inner {
position: relative;
height: 100%;
width: 860px;
margin: 0 auto;
}

.confirmPage .title .inner .titleBox {
position: absolute;
bottom: 0;
left: 0;
padding: 0 0 7.5px 0;
}

.confirmPage .title .inner .titleBox .box01 {
float: left;
}

.confirmPage .title .inner .titleBox .box02 {
float: left;
}

.confirmPage .title .inner .titleBox .box01 span {
font-weight: normal;
font-size: 17px;
letter-spacing: 0.1em;
margin-right: 47.5px;
display: inline-block;
border-right: 1px solid #fff;
padding: 7.5px 10.5px 7.5px 30px;
}

.confirmPage .title .inner .titleBox .box02 h2 {
font-weight: bold;
font-size: 17px;
padding: 7.5px 30px 7.5px 0;
}

.confirmPage > .inner {
padding: 90px 0 147px;
}

#formWrap {
  padding-top: 132px;
  min-height: 70vh;
}

#formWrap .inner {
padding: 90px 0 147px;
}

#formWrap h3 {
font-size: 23px;
margin-bottom: 20px;
}

#formWrap p {
font-weight: normal;
font-size: 14px;
letter-spacing: 0.05em;
line-height: 1.57;
}

.errBox {
margin: 20px auto;
}

.errBox p {
line-height: 2!important;
}

.btn_back {
margin-top: 49px;
text-align: center;
}

#formWrap input[type="button"] {
width: 200px;
height: 56px;
border: 1px solid #0363cc;
border-radius: 28px;
background: #fff;
font-weight: normal;
font-size: 13px;
letter-spacing: 0.2em;
color: #0363cc;
box-sizing: border-box;
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
cursor: pointer;
}

#formWrap table {
margin-top: 57px;
width: 100%;
}

#formWrap table td, #formWrap table th {
vertical-align: top;
}

#formWrap table th {
width: 21.39%;
text-align: left;
padding: 15px 0;
font-size: 16px;
color: #49739D;
}
#formWrap table tr:last-child th,
#formWrap table tr:last-child td{
  padding: 5px 0 0 0;
}

#formWrap table td {
padding: 15px 0;
text-align: left;
font-size: 16px;
}


.btns {
text-align: center;
margin-top: 49px;
}

#formWrap .btns input:nth-child(3n){
margin: 0 20px 0 0;
}

#formWrap input[type="submit"] {
border: none;
width: 200px;
height: 56px;
border-radius: 28px;
background: #0363cc;
font-weight: normal;
font-size: 13px;
letter-spacing: 0.2em;
color: #fff;
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
cursor: pointer;
}

/* .footer */

footer {
width: 100%;
height: 132px;
background: linear-gradient(#064ac7 0%, #085acb 0%, #15cfe6 100%);
}

footer .inner {
padding: 29px 0 26px;
}

footer .pagetop,
footer .btn_contact {
display: none;
}

footer h2 {
width: 123px;
margin: 0 0 10px;
}

footer .ftNav {
display: flex;
}

footer .ftNav .box01,
footer .ftNav .box02 {
width: 50%;
}

footer .ftNav ul {
display: flex;
flex-wrap: nowrap;
justify-content: flex-end;
}

footer .ftNav ul li {
margin-right: 24px;
}

footer .ftNav ul li:last-child {
margin-right: 0;
}

footer .ftNav ul li a {
font-weight: normal;
font-size: 15px;
letter-spacing: 0.1em;
color: #fff;
}

footer .copy {
margin: 35px 0 0;
font-weight: normal;
font-size: 13px;
letter-spacing: 0.1em;
text-align: right;
color: #fff;
}

/* thanks page */
.thanks .title {
height: 132px;
background: linear-gradient(#064ac7 0%, #085acb 0%, #15cfe6 100%);
color: #fff;
}

.thanks .title .inner {
position: relative;
height: 100%;
width: 860px;
padding-top: 0;
}

.thanks .title .inner .titleBox {
position: absolute;
bottom: 0;
left: 0;
padding: 0 0 7.5px 0;
}

.thanks .title .inner .titleBox .box01 {
float: left;
}

.thanks .title .inner .titleBox .box02 {
float: left;
}

.thanks .title .inner .titleBox .box01 span {
font-weight: normal;
font-size: 17px;
letter-spacing: 0.1em;
margin-right: 45.5px;
display: inline-block;
border-right: 1px solid #fff;
padding: 7.5px 32.5px 7.5px 14px;
}

.thanks .title .inner .titleBox .box02 h2 {
font-weight: bold;
font-size: 17px;
padding: 7.5px 30px 7.5px 0;
}

.thanks > .inner {
  padding: 82px 0;
  min-height: 47vh;
}

.thanks h3 {
font-weight: bold;
font-size: 23px;
letter-spacing: 0.02em;
line-height: 1.52;
margin: 0 0 26px;
}

.thanks p {
font-weight: normal;
font-size: 14px;
letter-spacing: 0.05em;
line-height: 1.57;
}

.thanks .btn_back a {
width: 200px;
height: 56px;
border: 1px solid #49739d;
border-radius: 28px;
background: #fff;
font-weight: normal;
font-size: 13px;
letter-spacing: 0.2em;
color: #49739d;
box-sizing: border-box;
cursor: pointer;
display: block;
margin: 0 auto;
padding: 17px 0px;
}

@media screen and (max-width:767px) {

.kv {
padding: 75px 0 44px;
min-height: 952px;
}

.kv .inner {
width: 81.87%;
margin: 0 auto;
}

.kv h1 {
margin-top: 0;
font-size: 25px;
font-weight: bold;
line-height: 1.72;
}

.kv .imgList {
width: 100%;
margin: 0 auto;
padding: 47.1px 0 42.4px;
}

.kv .ttl {
font-size: 17px;
margin: 0 auto 36px;
}



.kv .inner > ul {
display: block;
}

.kv .inner > ul li {
width: 100%;
height: 60px;
font-size: 15px;
background: transparent;
border: 3px solid #fff;
line-height: 60px;
}

.kv .inner > ul li:first-child {
margin-bottom: 10px;
}

.kv .lead {
width: 100%;
font-size: 18px;
line-height: 28px;
}

.kv .cta {
margin-top: 46px;
}

.kv .cta p {
font-size: 14px;
line-height:1;
margin-bottom: 11px;
}

.kv .cta .btn {
margin: 0 auto;
width: 155px;
height: 31px;
border-radius: 15.5px;
background: #fd5b5b;
}

.kv .cta .btn a {
font-size: 12px;
letter-spacing: 0.2em;
line-height: 31px;
}

.value .title .inner .titleBox {
display: flex;
align-items: flex-end;
}

.value .title .inner .titleBox .box01,
.value .title .inner .titleBox .box02 {
float: none;
}

.value .title .inner .titleBox .box01 span {
margin-right: 23.5px;
padding: 7.5px 26.5px 7.5px 0px;
}

.value .title .inner .titleBox .box02 h2 {
font-size: 15px;
padding: 0;
}

.value .inner p.lead {
font-size: 19px;
line-height: 30px;
}

.solution .inner {
  width: 100%;
}

.solution h3 {
margin: 48px 0 36px;
padding: 0px 0 0px 78px;
font-weight: bold;
font-size: 20px;
}

.solution ul {
justify-content: space-between;
}
.solution ul li {
width: 47%;
margin: 0 0 35px 0;
}

.solution ul li h4 {
  font-size: 14px;
  line-height: 1.28;
}

.solution02 h3 {
padding: 5px 0 5px 78px;
margin: 29px auto 27.6px;
}

.solution03 h3 {
padding: 20px 0 5px 78px;
}

.flow {
margin-top: 52px;
}

.flow h3 {
font-weight: bold;
font-size: 19px;
letter-spacing: 0.02em;
line-height: 1.57;
margin: 0 0 22px;
}

.flow ol {
justify-content: center;
margin: 43px auto 75px;
}

.flow ol li {
width: 70%;
margin-right: 0;
margin-bottom: 73px;
}

.flow ol li::after {
content: url("../img/ico_arw_03.svg");
top: 141px;
right: 50%;
transform: translateX(50%);
}

.flow ol li:nth-child(3n) {
margin-bottom: 0;
}

.message .title {
height: 403px;
}

.message .title .inner {
padding: 67px 0 54px;
}

.message .title h2 {
font-size: 23px;
line-height: 1.73;
}

.message .cta {
height: 194px;
}

.message .cta .inner {
padding-top: 71px;
}

.message .cta p {
font-size: 14px;
margin-bottom: 11px;
}

.message .cta .btn {
margin: 0 auto;
width: 155px;
height: 31px;
border-radius: 15.5px;
line-height: 31px;
}

.message .cta .btn a {
font-size: 12px;
}

.about .title .inner .titleBox {
display: flex;
align-items: flex-end;
}

.about .title .inner .titleBox .box01,
.about .title .inner .titleBox .box02 {
float: none;
}

.about .title .inner .titleBox .box01 span {
margin-right: 23.5px;
padding: 7.5px 23.5px 7.5px 0px;
}

.about .title .inner .titleBox .box02 h2 {
font-size: 15px;
}

.about > .inner {
width: 80%;
padding: 60px 0;
}

.about table {
margin: 0;
}

.about table th,
.about table td {
width: 100%;
float: left;
}

.about table td a {
position: unset;
top: 0;
right: 0px;
transform: none;
margin: 0 0 0 5px;
padding: 4px;
}

.contact .title .inner .titleBox {
display: flex;
align-items: flex-end;
}

.contact .title .inner .titleBox .box01,
.contact .title .inner .titleBox .box02 {
float: none;
}

.contact .title .inner .titleBox .box01 span {
margin-right: 23.5px;
padding: 7.5px 22.5px 7.5px 0px;
}

.contact .title .inner .titleBox .box02 h2 {
font-size: 15px;
}

.contact > .inner {
padding: 50px 0 103px;
}

.contact .table_koumoku {
margin-top: 32px;
}

.contact table th,
.contact table td {
width: 100%;
float: left;
}

.contact .table_request,
.contact .table_contact {
margin-top: 0;
}

.contact table th {
  padding: 11px 0 0 0;
}

.contact table td {
padding: 0;
}

.contact table td span {
font-size: 14px;
}

.radio-field input + .radio-field-text {
display: block;
}

.privacy-description {
margin-top: 22px;
}

/* .confirm page */
.confirmPage .title .inner {
position: relative;
width: 90.6%;
height: 100%;
}

.confirmPage .title .inner .titleBox {
display: flex;
align-items: flex-end;
}

.confirmPage .title .inner .titleBox .box01,
.confirmPage .title .inner .titleBox .box02 {
float: none;
}

.confirmPage .title .inner .titleBox .box01 span {
margin-right: 23.5px;
padding: 7.5px 22.5px 7.5px 0px;
}

.confirmPage .title .inner .titleBox .box02 h2 {
font-size: 15px;
}

#formWrap table th,
#formWrap table td {
width: 100%;
float: left;
}


#formWrap .btns input:nth-child(3n){
margin: 0 auto 20px;
}

footer {
height: 278px;
padding: 41px 0 18px;
}

footer .inner {
width: 90.6%;
padding: 0;
}

footer .ftNav {
display: block;
}

footer .ftNav .box01,
footer .ftNav .box02 {
width: 100%;
}

footer .ftNav .box01 {
margin: 0 0 22px;
}

footer h2 {
margin: 0 auto;
}

footer .ftNav ul {
flex-wrap: wrap;
flex-direction: column;
align-items: center;
}

footer .ftNav .box02 ul li {
font-size: 13px;
}

footer .ftNav .box02 ul li:first-child {
margin: 0px 66px 6% 30px;
}

footer .ftNav .box02 ul li:nth-child(2n) {
margin: 0px 33px 6% 30px;
}

footer .ftNav .box02 ul li:last-child {
margin: 0 0 0 30px;
}

footer .copy {
font-size: 11px;
margin: 43px 0 0;
}

footer .pagetop {
display: block;
margin: 0 0 24%;
position: fixed;
right: 6.4%;
bottom: 0;
border-radius: 50%;
text-align: center;
z-index: 3;
width: 55px;
height: 55px;
background: #fff;
border: 2px solid #8a84d3;
opacity: 0.5;
}

footer .pagetop a {
font-size: 12px;
letter-spacing: 0.1em;
color: #8a84d3;
position: relative;
display: block;
width: 55px;
height: 55px;
}

footer .pagetop a img {
width: 22px;
display: block;
position: absolute;
top: 14px;
left: 50%;
transform: translateX(-50%);
}

footer .pagetop a span {
position: absolute;
bottom: 13px;
left: 50%;
transform: translateX(-50%);
}

footer .btn_contact {
display: block;
width: 100%;
position: fixed;
bottom: 0;
left: 0;
z-index: 3;
color: #fff;
height: 80px;
background: #fc9e5a;
}

footer .btn_contact span {
display: block;
text-align: center;
font-size: 11px;
margin: 11px auto 8px;
}

footer .btn_contact a {
display: block;
color: #fff;
margin: 0 auto;
font-size: 15px;
text-align: center;
font-weight: 500;
letter-spacing: 0.1em;
line-height: 30px;
width: 273px;
height: 36px;
border-radius: 18px;
background: transparent;
border: 2px solid #fff;
box-sizing: border-box;
}

footer .btn_contact a img {
width: 27px;
margin: 1px 17px 0 0;
}

/* thanks page */

.thanks .title .inner {
width: 90.6%;
padding-top: 0;
}

.thanks .title .inner .titleBox {
display: flex;
align-items: flex-end;
}

.thanks .title .inner .titleBox .box01,
.thanks .title .inner .titleBox .box02 {
float: none;
}

.thanks .title .inner .titleBox .box01 span {
margin-right: 23.5px;
padding: 7.5px 11.5px 7.5px 0px;
}

.thanks .title .inner .titleBox .box02 h2 {
font-size: 15px;
padding: 0;
}

.thanks > .inner {
width: 90.6%;
padding-top: 48px;
}

}
