@charset "UTF-8";

.main-container{
  position:relative;
  width: 100%;
  padding: 0 40px;
  overflow:hidden;
}

.main-container .parallelogram{
    position: absolute;
    top:1000px;
    left: -30%;
    background-color: #e9eff4;
    width: 150%;
    height: 1000px;
    transform: rotate(15deg) translate3d(0, 0, 0);
    -webkit-transform: rotate(15deg) translate3d(0, 0, 0);
    z-index:-1000;
}

.main-container .parallelogram2{
    position: absolute;
    top:2950px;
    left: -30%;
    background-color: #e9eff4;
    width: 150%;
    height: 1800px;
    transform: rotate(15deg) translate3d(0, 0, 0);
    -webkit-transform: rotate(15deg) translate3d(0, 0, 0);
    z-index:-1000;
}

@media screen and (max-width : 768px) {
.main-container .parallelogram{
    position: absolute;
    top:1040px;
    left: -30%;
    background-color: #e9eff4;
    width: 150%;
    height: 760px;
    transform: rotate(15deg) translate3d(0, 0, 0);
    -webkit-transform: rotate(15deg) translate3d(0, 0, 0);
    z-index:-1000;
}

.main-container .parallelogram2{
    position: absolute;
    top:2520px;
    left: -30%;
    background-color: #e9eff4;
    width: 150%;
    height: 1500px;
    transform: rotate(15deg) translate3d(0, 0, 0);
    -webkit-transform: rotate(15deg) translate3d(0, 0, 0);
    z-index:-1000;
}

}

@media screen and (max-width : 640px) {
.main-container .parallelogram{
    position: absolute;
    top:820px;
    left: -30%;
    background-color: #e9eff4;
    width: 150%;
    height: 400px;
    transform: rotate(15deg) translate3d(0, 0, 0);
    -webkit-transform: rotate(15deg) translate3d(0, 0, 0);
    z-index:-1000;
}
.main-container .parallelogram2{
    display: block;
    position: absolute;
    top:2460px;
    left: -120%;
    background-color: #e9eff4;
    width: 350%;
    height: 3000px;
    transform: rotate(15deg) translate3d(0, 0, 0);
    -webkit-transform: rotate(15deg) translate3d(0, 0, 0);
    z-index:-1000;
}

.main-container{
  position:relative;
  width: 100%;
  padding: 0 20px;
  overflow:hidden;
}
}



/************************************
   メインタイトルセクション　ここから　
************************************/    

.main-title{
    width: 100%;
    height: 250px;
    background: linear-gradient(to top,  #02366c, #02428e);
    position: relative;
}

.main-title .position{
  width:100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    text-align: center
}

.main-title h1{
    font-size: 3.3rem;
    color:#fff;
    font-weight: 500;
    display: inline-block;
    border-bottom: 1px solid #fff;
}

.main-title p{
    font-size: 2.6rem;
    font-family: "Barlow Condensed", serif;
    font-weight: 500;
    color: #fff;
}


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

.main-title{
    height: 200px;
}

.main-title h1{
    font-size: 2.6rem;

}

.main-title p{
    font-size: 2.1rem;

}





}

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

.main-title h1{
    font-size: 2.4rem;
    /* width:100%; */
}
.main-title p{
    font-size: 2rem;

}
 
}




/************************************
   メインタイトルセクション　ここまで　
************************************/    
    


/************************************
   セクション01　ここから　
************************************/    
.sec01{
    width:100%;
    max-width: 1100px;
    margin:0 auto 100px;
}

.sec01 .title{
    font-size: 2.2rem;
    font-weight: 500;
    text-align: center;
    position:relative;
    margin:0 0 50px;
}

.sec01 .title:before{
  content: '';
  position: absolute;
  left: 50%;
  bottom: -15px;
  display: inline-block;
  width: 40px;
  height: 3px;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #1e3188;
}

.sec01 ul{
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items:stretch;
    flex-wrap: wrap;
    text-align: center!important;
    width:100%;
    max-width:1100px;
    margin:0 auto;
}

.sec01 ul li{
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox; 
    flex-direction: column; 
    width: 19%;
    margin-right:1%;
    text-align:center;
}

.sec01 ul li:last-child{
    margin-right:1%;
}

.sec01 ul li img{
  width:78%;
  margin:0 auto;
}

.sec01 ul li .icon-title{
    flex: 1 1 auto;
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding-bottom:5px;
    }

.sec01 ul li .icon-title p{
    width:100%;
    font-size: 1.8rem;
    font-family: 'Noto Sans Japanese', serif;
    -webkit-font-smoothing: antialiased;
	line-height:1.5;
	font-weight:500!important;
    }

.sec01 ul li .icon-text{
    flex:1;
    display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding:10px 0;
    margin:0 auto;
    width:90%;
    }

.sec01 ul li .icon-text p{
    font-size: 1.6rem;
    font-family: 'Noto Sans Japanese', serif;
    -webkit-font-smoothing: antialiased;
	line-height:1.5;
	font-weight:300;
    }

@media screen and (max-width : 768px) {
.sec01 ul{
    width:90%;
}
.sec01 ul li{
    width: 32%;
    margin-right:1%;
}
 
.sec01 ul li:nth-child(4){
    margin:5% 2% 0 16%;
    text-align:center;

}
.sec01 ul li:nth-child(5){
    margin:5% 16% 0 2%;
    text-align:center;
}
.sec01 ul li .icon-title p{
    font-size: 1.6rem;
	line-height:1.4;
}
.sec01 ul li:nth-child(5) .icon-title{
    flex: 1;
}
.sec01 ul li .icon-text p{
    font-size: 1.4rem;
}
.sec01 ul li img{
  width:70%;
  margin:0 auto;
}

}


@media screen and (max-width : 640px) {
.sec01{
    width:100%;
    max-width: 1100px;
    margin:20px auto 50px;
}
 
 .sec01 .title{
    font-size: 1.8rem;
}

.sec01 ul{
    width:100%;
}
.sec01 ul li{
    width: 48%;
    margin:0 2% 2% 0;
}
.sec01 ul li:nth-child(4){
    margin:0 2% 2% 0;
    text-align:center;

}
.sec01 ul li:nth-child(5){
    margin:0 2% 2% 0;
    text-align:center;
}
.sec01 ul li .icon-title p{
    font-size: 1.4rem;
	line-height:1.4;
}

.sec01 ul li .icon-text p{
    font-size: 1.2rem;
}
.sec01 ul li .icon-text{
    flex:1;
}

  
}

/************************************
   セクション01　ここまで　
************************************/  



/************************************
   セクション02　ここから　
************************************/  
.sec02{
    width:100%;
    max-width: 1100px;
    margin:0 auto 100px;
    position: relative
}

.sec02 .man01{
    position: absolute;
    left:-10%;
    bottom: -25%;
    width: 9%;
}
.sec02 .left{
    position: relative;
    float:left;
    width: 60%;
    margin: 0 5% 0  0;
    text-align: right;
}

.sec02 .left img{
    width: 88%;
}

.sec02 .right{
    float:right;
    width: 35%;
    position: relative;
}

.sec02 .right div{
  padding-top:50px;

}

.sec02 .right .subtitle{
    font-size: 2.2rem;
    font-weight: 500;
    position: relative;
    margin:0 0 40px;
}

.sec02 .right .subtitle:before{
  content: '';
  position: absolute;
  left: 0;
  bottom: -15px;
  display: inline-block;
  width: 40px;
  height: 3px;
  background-color: #1e3188;
}

.sec02 .right .text{
    font-size: 1.6rem;
    line-height:1.6;
    font-weight: 300;
    position: relative;
    text-align: justify;
}

@media screen and (max-width : 768px) {
.sec02 .left{
    position: relative;
    float:left;
    width: 55%;
    margin: 0 5% 0  0;
    text-align: right;
}

.sec02 .left img{
    width: 90%;
}

.sec02 .right .subtitle{
    font-size: 1.8rem;
    line-height:1.6;
}

.sec02 .right{
    width: 40%;
    position: relative;
}
.sec02 .right .text{
    font-size: 1.4rem;

}
.sec02 .right div{
  padding-top:20px;

}

.sec02 .man01{
    position: absolute;
    left:-3%;
    bottom: -25%;
    width: 9%;
}
}


@media screen and (max-width : 640px) {
 .sec02{
    margin:0 auto 50px;
}
.sec02 .right{
    float:none;
    width: 100%;
    position: relative;
}
.sec02 .right .subtitle{
    text-align:center;
    font-size: 1.8rem;
    line-height:1.6;
}

.sec02 .right .subtitle:before{
  content: '';
  position: absolute;
  left: 50%;
  bottom: -15px;
  display: inline-block;
  width: 40px;
  height: 3px;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #1e3188;
}
.sec02 .right .text{
    font-size: 1.4rem;
}

.sec02 .left{
    position: relative;
    float:left;
    width: 100%;
    margin: 5% 0;
    text-align: center;
}
.sec02 .left img{
    width: 100%;
}
}






/************************************
   セクション02　ここまで　
************************************/  



/************************************
   セクション03　ここから　
************************************/  
.sec03{
    width:100%;
    max-width: 1100px;
    margin:0 auto 100px;
    position: relative
}

.sec03 .left{
    position: relative;
    float:left;
    width: 42%;
    margin: 0 8% 0  0;
    text-align: right;
}

.sec03 .left .subtitle{
    font-size: 2.2rem;
    font-weight: 500;
    position: relative;
    margin:0 0 40px;
    text-align:left;
}

.sec03 .left .subtitle:before{
  content: '';
  position: absolute;
  left: 0;
  bottom: -15px;
  display: inline-block;
  width: 40px;
  height: 3px;
  background-color: #1e3188;
}

.sec03 .left .text{
    font-size: 1.6rem;
    line-height: 1.6;
    font-weight: 300;
    position: relative;
    text-align: justify;
}


.sec03 .right{
    float:left;
    width: 50%;
}

.sec03 .sheet-all{
    margin: 40px 0 0 ;
}

.sec03 .woman{
    position: absolute;
    right:-10%;
    top: -8%;
    width: 8.5%;
}


@media screen and (max-width : 768px) {
.sec03 .left .subtitle{
    font-size: 1.8rem;
    line-height:1.6;
}

.sec03 .left .text{
    font-size: 1.4rem;
}
.sec03 .woman{
    position: absolute;
    right:-1%;
    top: -15%;
    width: 8.5%;
}
}

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

.sec03 .left{
    position: relative;
    float:none;
    width: 100%;
    margin: 0 0 30px 0;
    text-align: right;
}
.sec03 .left .subtitle{
    text-align:center;
}
.sec03 .left .subtitle:before{
  content: '';
  position: absolute;
  left: 50%;
  bottom: -15px;
  display: inline-block;
  width: 40px;
  height: 3px;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #1e3188;
}
.sec03 .right{
    float:none;
    width: 100%;
}

  
}




/************************************
   セクション03　ここまで　
************************************/  

/************************************
   セクション04　ここから
************************************/  

.sec04{
    width:100%;
    max-width: 1100px;
    margin:0 auto 100px;
    position: relative
}

.sec04 .subtitle{
    font-size: 2.2rem;
    font-weight: 500;
    position: relative;
    margin:0 auto 40px;
    text-align:center;
}

.sec04 .subtitle:before{
  content: '';
  position: absolute;
  left: 50%;
  bottom: -15px;
  display: inline-block;
  width: 40px;
  height: 3px;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #1e3188;
}

.sec04 .text{
    font-size: 1.6rem;
    line-height:1.6;
    font-weight: 300;
    position: relative;
    text-align: justify;
    margin:0 auto 50px;
    width: 55%
}

.sec04 .deskman{
    position: absolute;
    left:-10%;
    top: -6%;
    width: 24%;
}

.approach-container{
    width: 100%;
    padding:0 14px;
    margin:20px 0;
}

.approach-container .number{
    width: 70px;
    height:70px;
    color: #fff;
    background-color: #2c4196;
    text-align: center;
    font-family: "Barlow Condensed", serif;
    padding:12px 0 0;
    float:left;
    margin:0 20px 0 0;
}

.approach-container .number p{
    font-size: 4.4rem;
    font-weight:500;
    line-height:0.6;
    letter-spacing: 0.2rem;
}

.approach-container .number span{
    font-size: 1.4rem;
    font-weight:500;
}

.approach-container .title p{
    font-size: 2.2rem;
    line-height: 1;
    font-weight:500;
    color:#2c4196;
    padding-top:10px;
}

.approach-container .title span{
    font-size: 2rem;
    font-weight:500;
    font-family: "Barlow Condensed", serif;
    color:#808080;
}

.approach-container .description{
    background-color: #fff;
    padding: 50px;
    box-shadow: 0 0 10px #e6e6e6;
    margin:20px 0;
}

.approach-container .description ul{
    display:flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items:stretch;
    flex-wrap: wrap;
}

.approach-container .description ul:nth-child(2){
    margin-top: 20px;
}

.approach-container .description ul .left{
    width:45%;
}

.approach-container .description ul .left .example{
    font-size: 1.6rem;
    line-height:1;
    font-weight: 500;
    color: #fff;
    background-color: #00c7cf;
    text-align:center;
    margin: 0 0 10px;
    padding:8px 0 10px;
}

.approach-container .description ul .left div{
    padding: 04%;
    border: 3px solid #acd4db;
    position: relative;
    height:120px;
}

.approach-container .description ul .left div img{
    width: 30%;
    float: left;
     position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%); /* Safari用 */
    transform: translateY(-50%);
    margin: 0 20px 0 0;
}

.approach-container .description ul .left div p{
    /* width: 70%; */
    vertical-align: middle;
    font-size:1.6rem;
    line-height:1.6;
    position: relative;
    top: 47%;
    -webkit-transform: translateY(-53%); /* Safari用 */
    transform: translateY(-53%);
}

.approach-container .description ul .arrow{
    width:10%;
    /* padding: 0 28px; */
    position: relative;
}

.approach-container .description ul .arrow img{
    width:40%;
    position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%); /* Safari用 */
  transform: translate(-50%, -50%);
}

.approach-container .description ul .arrow .position{
  position: absolute;
  top: 60%;
  left: 50%;
  -webkit-transform: translate(-50%, -40%); /* Safari用 */
  transform: translate(-50%, -40%);
}

.approach-container .description ul .right{
    width:45%;
}

.approach-container .description ul .right .example{
    font-size: 1.6rem;
    line-height:1;
    font-weight: 500;
    color: #fff;
    background-color: #2c4196;
    text-align:center;
    margin: 0 0 10px;
    padding:8px 0 10px;
}

.approach-container .description ul .right div{
    padding: 0 4%;
    border: 3px solid #c0c6df;
    height:120px;
    text-align:center;
}

.approach-container .description ul .right div p{
    font-size: 1.8rem;
    line-height: 1.5;
    font-weight: 600;
    color: #2c4196;
    position: relative;
    top: 47%;
    -webkit-transform: translateY(-53%); /* Safari用 */
    transform: translateY(-53%);
 }

.approach-container .description ul .right div span{
    font-size: 1.6rem;
    line-height: 1.5;
    display:block;
    color :#000;
    width:100%;
    margin:5px auto 0;
}


@media screen and (max-width : 1070px) {
.approach-container .description ul .left div p{
    font-size: 1.48vw;
}
.approach-container .description ul .right div p{
    font-size:  1.7vw;
 }
.approach-container .description ul .right div span{
    font-size: 1.48vw;
}    
}



@media screen and (max-width : 768px) {
.sec04 .subtitle{
    font-size: 1.8rem;
    line-height:1.6;
}

.sec04 .deskman{
    left:-6%;
} 
.sec04 .text{
    font-size: 1.4rem;
    line-height:1.6;
    width: 72%
}

.approach-container .number{
    width: 60px;
    height:60px;
    padding:12px 0 0;
    margin:0 20px 0 0;
}

.approach-container .number p{
    font-size: 3rem;
    line-height:0.5;
    letter-spacing: 0.1rem;
}

.approach-container .number span{
    font-size: 1.2rem;
}
.approach-container .title p{
    font-size: 2rem;
    line-height: 0.8;
}

.approach-container .title span{
    font-size: 1.8rem;
} 
.approach-container .description{
    background-color: #fff;
    padding: 30px;
    box-shadow: 0 0 10px #e6e6e6;
    margin:20px 0;
}
.approach-container .description ul .left .example,
.approach-container .description ul .right .example{
    padding:5px 0 8px;
}

.approach-container .description ul .left div img{
    width: 28%;
    margin: 0 15px 0 0;
}
.approach-container .description ul .right div,
.approach-container .description ul .left div{
    height:100px;
}
.approach-container .description ul .right div p{
    font-size:  1.8vw;
 }
.approach-container .description ul .right div span{
    font-size: 1.6vw;
}   
.approach-container .description ul .left div p{
    font-size: 1.6vw;
}


}


@media screen and (max-width : 640px) {
.approach-container{
    width: 100%;
    padding:0 8px;
    margin:20px 0;
}

.sec04 .text{
    font-size: 1.4rem;
    line-height:1.6;
    width: 100%;
    margin:0 0 20px;
}

.approach-container .number{
    width: 50px;
    height:50px;
    padding:13px 0 0;
    margin:0 20px 0 0;
}
.approach-container .number p{
    font-size: 3rem;
    line-height:0.3;
    letter-spacing: 0.1rem;
}

.approach-container .number span{
    font-size: 1.1rem;
}
.approach-container .title p{
    font-size: 1.7rem;
    line-height: 0.5;
}
.approach-container .title span{
    font-size: 1.4rem;
} 
.approach-container .description{
    background-color: #fff;
    padding: 20px;
    box-shadow: 0 0 10px #e6e6e6;
    margin:15px 0;
}
.approach-container .description ul .left,
.approach-container .description ul .right{
    width:100%;
}
.approach-container .description ul .arrow{
    width:100%;
    /* padding: 0 28px; */
    position: relative;
    height:60px;
}
.approach-container .description ul .arrow img{
  width:13%;
  position: relative;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%); /* Safari用 */
  transform: translate(-50%, -50%);
}

.approach-container .description ul .arrow .position{
  position: relative;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%); /* Safari用 */
  transform: translate(-50%, -50%);
}
.approach-container .description ul .left .example,
.approach-container .description ul .left .example{
    font-size: 1.6rem;
    padding:5px 0 8px;
}
.approach-container .description ul .right div p{
    font-size:  1.6rem;
 }
.approach-container .description ul .right div span{
    font-size: 1.4rem;
    text-align:justify;
}   
.approach-container .description ul .left div p{
    font-size: 1.4rem;
}


}




/************************************
   セクション04　ここまで　
************************************/  










