@charset "UTF-8";

/* =====================================
	index
===================================== */

.visual{
    position: relative;
    width: 100%;
    height: 702px;
    background: url("../img/visual01.jpg") center;
    background-size: cover;
}

.visual::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 702px;
    background: url("../img/bg01.png") repeat;
}

.visual .inner{
    position: relative;
    width: 1128px;
    height: 702px;
    margin: 0 auto;
}

.visual h2{
    position: absolute;
    top: 130px;
    left: 5px;
}

.visual a{
    position: absolute;
    top: 544px;
    left: 167px;
}

.visual .person01{
    position: absolute;
    top: 39px;
    left: 666px;
}

.worry{
    padding: 100px 0 120px;
}

.worry h3 img{
    margin: 0 auto 50px;
}

.worry ul{
    display: flex;
    justify-content: space-between;
    width: 1128px;
    margin: 0 auto 20px;
}

.worry ul + ul{
    width: 554px;
    margin: 0 auto;
}

.worry ul li{
    width: 267px;
    border: 1px solid #466bb0;
    padding: 144px 0 35px;
}

.worry ul li:nth-child(1){
    background: url("../img/icon01.png") no-repeat center top 30px;
    background-size: 98px auto;
}

.worry ul li:nth-child(2){
    background: url("../img/icon02.png") no-repeat center top 30px;
    background-size: 98px auto;
}

.worry ul li:nth-child(3){
    background: url("../img/icon03.png") no-repeat center top 30px;
    background-size: 98px auto;
}

.worry ul li:nth-child(4){
    background: url("../img/icon04.png") no-repeat center top 30px;
    background-size: 98px auto;
}

.worry ul + ul li:nth-child(1){
    background: url("../img/icon05.png") no-repeat center top 30px;
    background-size: 98px auto;
}

.worry ul + ul li:nth-child(2){
    background: url("../img/icon06.png") no-repeat center top 30px;
    background-size: 98px auto;
}

.worry ul li dt{
    font-size: 2.0rem;
    text-align: center;
    color: #5e7cb8;
    font-weight: bold;
}

.worry ul li dd{
    text-align: center;
    margin: 20px 0 0;
}

.feature{
    position: relative;
    width: 100%;
    background: #000;
    background-image: url("../img/pic01.jpg"), url("../img/pic02.jpg");
    background-position: top left, top right;
    background-repeat: no-repeat, no-repeat;
}

.feature::after{
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 48px 59.5px 0 59.5px;
    border-color: #ffffff transparent transparent transparent;
}

.feature .ttlArea{
    padding-top: 121px;
    height: 507px;
}

.feature .ttlArea h3 img{
    margin: 0 auto;
}

.feature .ttlArea p img{
    margin: 50px auto 0;
}

.feature .qna{
    padding: 97px 0 120px;
    background: url("../img/arrow01.png") no-repeat center bottom 320px;
}

.feature .qna h4 img{
    margin: 0 auto 60px;
}

.feature .qna ul{
    margin: 0 auto;
    width: 1128px;
    display: flex;
    justify-content: space-between;
}

.feature .qna li{
    width: calc(100% / 3);
}

.feature .qna li dt img{
    margin: 0 auto 26px;
}

.feature .qna li dd{
    text-align: center;
    color: #fff;
}

.feature .factory{
    margin-top: 265px;
}

.feature .factory dt{
    text-align: center;
    color: #fff;
    font-size: 2.0rem;
    font-weight: bold;
}

.feature .factory dd img{
    margin: 25px auto 0;
}

.feature .cnt .box{
    width: 100%;
    height: 508px;
    position: relative;
}

.feature .cnt .box:nth-child(1){
    background: url("../img/pic03.jpg") no-repeat center left;
}

.feature .cnt .box:nth-child(2){
    background: url("../img/pic04.jpg") no-repeat center right;
}

.feature .cnt .box:nth-child(3){
    background: url("../img/pic05.jpg") no-repeat center left;
}

.feature .cnt .box:nth-child(4){
    background: url("../img/pic06.jpg") no-repeat center right;
}

.feature .cnt .box .txtArea{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%);
    margin-left: -590px;
}

.feature .cnt .box:nth-child(odd) .txtArea{
    margin-left: 80px;
}

.feature .cnt .box .txtArea p{
    color: #fff;
    font-size: 1.6rem;
    line-height: 2;
}

.feature .cnt .box .txtArea p img{
    margin: 30px 0;
}

.company{
    padding: 70px 0 100px;
}

.company h3 img{
    margin: 0 auto 43px;
}

.company ul{
    width: 840px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0 auto;
}

.company ul li{
    margin-bottom: 30px;
}

.company p{
    font-size: 20px;
    text-align: center;
}

.request{
    width: 100%;
    background: #000;
    padding: 100px 0;
}

.request h3 img{
    margin: 0 auto 20px;
}

.request dl{
    color: #fff;
    display: flex;
    flex-wrap: wrap;
    width: 1070px;
    margin: 0 auto;
}

.request dl dt{
    width: 100%;
    font-size: 2.0rem;
    font-weight: bold;
}

.request ul li > dl > dt{
    margin: 10px 0 14px;
}

.request ul li > dl > dd{
    padding: 10px 20px;
    line-height: 1;
    border: 1px solid #fff;
    margin: 0 20px 10px 0;
}

.request ul li:last-child > dl > dd{
    margin: 0 20px 20px 0;
}

.request ul li > dl dl dt{
    padding-top: 10px;
}

.request ul li > dl dl dd{
    padding: 15px 0 10px;
    line-height: 1.44;
}

.voice{
    padding: 100px 0 90px;
    background: #eeeeee;
}

.voice h3 img{
    margin: 0 auto 50px;
}

.voice ul{
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 1128px;
}

.voice ul li{
    width: 356px;
    background: #fff;
    padding: 10px 20px 35px;
    box-shadow: 3px 3px 9px -3px rgba(0,0,0,0.2);
    margin-bottom: 30px;
}

.voice ul li img{
    margin-bottom: 10px;
}

.voice ul li h4{
    margin: 13px 0 5px;
    font-size: 1.8rem;
    font-weight: bold;
}

.reason{
    position: relative;
    padding: 100px 0 120px;
    width: 100%;
    background: url("../img/bg02.jpg") no-repeat center;
    background-size: cover;
}

.reason::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url("../img/bg01.png") repeat;
}

.reason h3 img{
    position: relative;
    margin: 0 auto 26px;
    z-index: 10;
}

.reason p img{
    position: relative;
    margin: 0 auto 50px;
    z-index: 10;
}

.reason ul{
    position: relative;
    display: flex;
    justify-content: space-between;
    width: 1128px;
    margin: 0 auto;
    z-index: 10;
}

.reason ul li{
    width: 268px;
    padding: 130px 30px 30px;
    color: #fff;
    font-size: 1.4rem;
}

.reason ul li:nth-child(1){
    background: rgba(0,0,0,0.6) url("../img/icon07.png") no-repeat center top 39px;
    background-size: 67px auto;
}

.reason ul li:nth-child(2){
    background: rgba(0,0,0,0.6) url("../img/icon08.png") no-repeat center top 39px;
    background-size: 67px auto;
}

.reason ul li:nth-child(3){
    background: rgba(0,0,0,0.6) url("../img/icon09.png") no-repeat center top 39px;
    background-size: 67px auto;
}

.reason ul li:nth-child(4){
    background: rgba(0,0,0,0.6) url("../img/icon10.png") no-repeat center top 39px;
    background-size: 67px auto;
}

.reason ul li dt{
    font-size: 2.0rem;
    font-weight: bold;
    text-align: center;
    margin-bottom: 10px;
}

.form{
    padding: 100px 0 120px;
}

.form h3 img{
    margin: 0 auto 50px;
}

.form .form-body {
    width: 500px;
    margin: 0 auto;
}

.form .policy {
  background: #eee;
  border-radius: 10px;
  margin: 40px auto 0;
  padding: 30px;
  width: 500px;
}

.form .policy h4 {
  font-weight: bold;
  margin-bottom: 15px;
}
.field {
    margin-bottom: 18px;
}


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

.visual{
    height: auto;
    background: none;
}

.visual::before{
    display: none;
}

.visual .inner{
    width: 100%;
    height: auto;
}

.visual h2{
    position: static;
    top: auto;
    left: auto;
}

.visual h2 img{
    width: 100%;
}

.visual a{
    position: static;
    top: auto;
    left: auto;
    margin: 3.33vw auto;
    display: table;
}

.visual a img{
    width: 88.8vw;
}

.worry{
    padding: 16vw 0;
}

.worry h3 img{
    margin: 0 auto 5.33vw;
    width: 85.867vw;
}

.worry ul{
    width: 92vw;
    margin: 0 auto;
    flex-wrap: wrap;
}

.worry ul + ul{
    width: 92vw;
    margin: 0 auto;
}

.worry ul li{
    width: 44.4vw;
    padding: 24.266vw 0 6vw;
    margin-bottom: 3.33vw;
}

.worry ul li:nth-child(1){
    background: url("../img/icon01.png") no-repeat center top 5.33vw;
    background-size: 15.733vw auto;
}

.worry ul li:nth-child(2){
    background: url("../img/icon02.png") no-repeat center top 5.33vw;
    background-size: 15.733vw auto;
}

.worry ul li:nth-child(3){
    background: url("../img/icon03.png") no-repeat center top 5.33vw;
    background-size: 15.733vw auto;
}

.worry ul li:nth-child(4){
    background: url("../img/icon04.png") no-repeat center top 5.33vw;
    background-size: 15.733vw auto;
}

.worry ul + ul li:nth-child(1){
    background: url("../img/icon05.png") no-repeat center top 5.33vw;
    background-size: 15.733vw auto;
    margin-bottom: 0;
}

.worry ul + ul li:nth-child(2){
    background: url("../img/icon06.png") no-repeat center top 5.33vw;
    background-size: 15.733vw auto;
    margin-bottom: 0;
}

.worry ul li dt{
    font-size: 3.321vw;
}

.worry ul li dd{
    margin: 3.33vw 0 0;
}

.feature{
    background: #000;
}

.feature::after{
    display: none;
}

.feature .ttlArea{
    padding-top: 0;
    height: auto;
}

.feature .ttlArea h3 img{
    width: 100%;
}

.feature .ttlArea p img{
    width: 100%;
    margin: 0 auto;
}

.feature .qna{
    padding: 13.33vw 0;
    background: url("../img/arrow01.png") no-repeat center bottom 48vw;
    background-size: 39.733vw auto;
}

.feature .qna h4 img{
    margin: 0 auto 10.4vw;
    width: 65.866vw;
}

.feature .qna ul{
    width: 92vw;
    flex-wrap: wrap;
}

.feature .qna li{
    width: calc(100% / 2);
    margin-bottom: 6.66vw;
}

.feature .qna li:last-child{
    width: 100%;
    margin-bottom: 0;
}

.feature .qna li dt img{
    margin: 0 auto 4vw;
}

.feature .qna li:nth-child(1) dt img{
    width: 33.733vw;
}

.feature .qna li:nth-child(2) dt img{
    width: 34.67vw;
}

.feature .qna li:nth-child(3) dt img{
    width: 69.733vw;
}

.feature .qna li dd{
    font-size: 2.9867vw;
    letter-spacing: 0;
}

.feature .factory{
    margin-top: 40.66vw;
}

.feature .factory dt{
    font-size: 3.98vw;
}

.feature .factory dd img{
    margin: 4vw auto 0;
    width: 92vw;
}

.feature .cnt .box{
    height: auto;
}

.feature .cnt .box:nth-child(1){
    background: url("../img/sp/pic03.jpg") no-repeat top left;
    background-size: 51.33vw auto;
}

.feature .cnt .box:nth-child(2){
    background: url("../img/sp/pic04.jpg") no-repeat top right;
    background-size: 49.866vw auto;
}

.feature .cnt .box:nth-child(3){
    background: url("../img/sp/pic05.jpg") no-repeat top left;
    background-size: 47.33vw auto;
}

.feature .cnt .box:nth-child(4){
    background: url("../img/sp/pic06.jpg") no-repeat top right;
    background-size: 49.866vw auto;
}

.feature .cnt .box .txtArea{
    position: relative;
    top: auto;
    left: auto;
    transform: translateY(0);
    margin-left: 4vw;
    width: 100%;
    padding: 8vw 0 11.733vw;
}

.feature .cnt .box:nth-child(odd) .txtArea{
    margin-left: 35vw;
    padding-right: 5vw
}

.feature .cnt .box:nth-child(1) .txtArea h4 img{
    width: 56.933vw;
}

.feature .cnt .box:nth-child(2) .txtArea h4 img{
    width: 79.067vw;
}

.feature .cnt .box:nth-child(3) .txtArea h4 img{
    width: 55.467vw;
}

.feature .cnt .box:nth-child(4) .txtArea h4 img{
    width: 62.933vw;
}

.feature .cnt .box .txtArea p{
    font-size: 2.773vw;
    letter-spacing: 0;
}

.feature .cnt .box .txtArea p img{
    margin: 5.33vw 0;
}

.feature .cnt .box:nth-child(1) .txtArea p img{
    width: 50.67vw;
}

.feature .cnt .box:nth-child(2) .txtArea p img{
    width: 51.867vw;
}

.feature .cnt .box:nth-child(3) .txtArea p img{
    width: 37.867vw;
}

.feature .cnt .box:nth-child(4) .txtArea p img{
    width: 42.933vw;
}

.company{
    padding: 13.33vw 0 12.66vw;
}

.company h3 img{
    margin: 0 auto 5.33vw;
    width: 49.867vw;
}

.company ul{
    width: 73.866vw;
    margin-bottom: 1.33vw;
}

.company ul li{
    margin-bottom: 3.33vw;
}

.company ul li img{
    width: 35.6vw;
}

.company p{
    font-size: 3.466vw;
}

.request{
    padding: 13.33vw 0;
}

.request h3 img{
    margin: 0 auto 2.66vw;
    width: 76.267vw;
}

.request dl{
    width: 92vw;
}

.request dl dl{
    width: auto;
}

.request dl dt{
    font-size: 3.466vw;
}

.request dl dd{
    font-size: 2.7733vw;
}

.request ul li > dl > dt{
    margin: 5.34vw 0 3.33vw;
}

.request ul li > dl > dd{
    padding: 1.6vw 3.33vw;
    margin: 0 3.33vw 2.66vw 0;
}

.request ul li:last-child > dl > dd{
    margin: 0 0 3.33vw;
}

.request ul li > dl dl dt{
    padding-top: 2vw;
}

.request ul li > dl dl dd{
    padding: 1.733vw 0 0.266vw;
    line-height: 2;
}

.voice{
    padding: 13.33vw 0 10.66vw;
}

.voice h3 img{
    margin: 0 auto 5.33vw;
    width: 84.267vw;
}

.voice ul{
    width: 92vw;
}

.voice ul li{
    width: 44.266vw;
    padding: 1.33vw 2.4vw 7vw;
    margin-bottom: 5.33vw;
}

.voice ul li img{
    margin-bottom: 1.33vw;
    width: 7.33vw;
}

.voice ul li img:nth-of-type(2){
    width: 100%;
}

.voice ul li h4{
    margin: 1.33vw 0 0.4vw;
    font-size: 2.9vw;
}

.voice ul li p{
    font-size: 2.581vw;
}

.reason{
    padding: 0 0 20vw;
    background: #000;
}

.reason::before{
    display: none;
}

.reason h3 img{
    width: 100%;
    margin: 0;
}

.reason p img{
    width: 100%;
    margin: 0;
}

.reason ul{
    position: absolute;
    top: 69.33vw;
    left: 50%;
    transform: translateX(-50%);
    flex-wrap: wrap;
    width: 92vw;
}

.reason ul li{
    width: 44.533vw;
    padding: 21.33vw 5.33vw 6vw;
    font-size: 2.328vw;
    margin-bottom: 5.33vw;
}

.reason ul li:nth-child(1){
    background: rgba(0,0,0,0.6) url("../img/icon07.png") no-repeat center top 6.266vw;
    background-size: 11.2vw auto;
}

.reason ul li:nth-child(2){
    background: rgba(0,0,0,0.6) url("../img/icon08.png") no-repeat center top 6.266vw;
    background-size: 11.2vw auto;
}

.reason ul li:nth-child(3){
    background: rgba(0,0,0,0.6) url("../img/icon09.png") no-repeat center top 6.266vw;
    background-size: 11.2vw auto;
}

.reason ul li:nth-child(4){
    background: rgba(0,0,0,0.6) url("../img/icon10.png") no-repeat center top 6.266vw;
    background-size: 11.2vw auto;
}

.reason ul li dt{
    font-size: 3.314vw;
    margin-bottom: 1.33vw;
}

.form{
    padding: 13.33vw 0;
}

.form h3 img{
    margin: 0 auto 5.33vw;
    width: 60.533vw;
}

.form .form-body {
    width: 100%;
    padding: 30px 20px;
  }
.form-body .inner {
    margin: 0 auto;
    width: 100%;
}

.form .policy {
    width: 92vw;
    margin: 5.33vw auto 0;
    padding: 4vw;
    font-size: 2.657vw;
}

}
