@charset "utf-8";

/* ------- INDEX ---------------------------------------------- */
.requirements-list-item:nth-child(even){
  background-color: #F3F3F2;
}
.requirements-list-item > dt{
  font-weight: 400;
}
.requirements-list .bar-list {
  margin-bottom: -20px;
}
.requirements-list .bar-list > li{
  padding-left: 15px;
  margin-bottom: 20px;
  position: relative;
}
.requirements-list .bar-list > li:before{
  background-color: #3681A0;
  height: 18px;
  width: 5px;
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 7px;
}


.welfare-list > li{
  background-color: #FFF;
  text-align: center;
  line-height: 1.6;
}


.process-flow{
  counter-reset: number 0;
}
.process-flow-item > dt{
  background-color: #A02B2E;
  color: #FFF;
  font-family: 'Lora', serif;
  font-weight: 400;
  line-height: 1;
}
.process-flow-item > dt:after{
  counter-increment: number 1;
  content: " " counter(number,decimal-leading-zero);
}
.process-flow-item > dd{
  background-color: #F3F3F2;
  font-family: 'Shippori Mincho', serif;
  font-weight: 400;
}

.end-text{
  font-family: 'Shippori Mincho', serif;
  font-weight: 400;
  text-align: center;
}
@media print, screen and (min-width:781px) {
  .requirements-section{
    margin-top: 120px;
  }
  .requirements-section:first-child{
    margin-top: 75px;
  }
  .requirements-section > p{
    margin-left: 30px;
    margin-right: 30px;
    margin-top: 45px;
  }
  .requirements-list-item{
    display: flex;
    padding: 50px 30px;
  }
  .requirements-list-item > dt{
    align-self: center;
    width: 195px;
  }
  .requirements-list-item > dd{
    width: calc(100% - 195px);
  }
  .requirements-list .bar-list.col2{
    display: flex;
    flex-wrap: wrap;
  }
  .requirements-list .bar-list.col2 > li{
    width: 300px;
  }
  
  
  .welfare-list{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 30px;
  }
  .welfare-list > li{
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 2.78%;
    margin-top: 2.78%;
    min-height: 70px;
    width: 31.48%;
  }
  .welfare-list > li:nth-child(3n),
  .welfare-list > li:last-child{
    margin-right: 0;
  }
  
  
  .process-flow-item{
    display: flex;
    margin-top: 50px;
  }
  .process-flow-item > dt{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 130px;
    position: relative;
  }
  .process-flow-item > dt:before{
    background: url("../img/ic_arrow_flow.svg") no-repeat;
    content: "";
    display: block;
    height: 30px;
    width: 30px;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translate(-50%,100%);
  }
  .process-flow-item:last-child > dt:before{
    display: none;
  }
  .process-flow-item > dt:after{
    font-size: 6.0rem;
    margin-top: 10px;
  }
  .process-flow-item > dd{
    font-size: 2.6rem;
    padding: 45px 80px;
    width: calc(100% - 130px);
  }
  
  
  .end-text{
    font-size: 2.0rem;
    margin: 50px 0 0;
  }
}
@media screen and (max-width: 780px) {
  .requirements-section{
    margin-top: 60px;
  }
  .requirements-section:first-child{
    margin-top: 45px;
  }
  .requirements-section > p{
    margin-left: 20px;
    margin-right: 20px;
    margin-top: 30px;
  }
  
  
  .requirements-list-item{
    padding: 30px 20px;
  }
  .requirements-list-item > dt{
    border-bottom: 1px solid rgba(112,112,112,.30);
    padding-bottom: 15px;
  }
  .requirements-list-item > dd{
    margin-top: 15px;
  }
  .requirements-list .bar-list {
    margin-bottom: -15px;
  }
  .requirements-list .bar-list > li{
    margin-bottom: 15px;
  }
  
  
  
  .welfare-list{
    margin: 30px 20px 0;
  }
  .welfare-list > li{
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 10px 0 0;
    min-height: 70px;
    width: 100%;
  }
  
  
  
  .process-flow-item{
    margin: 45px 20px 0;
    position: relative;
  }
  .process-flow-item:before{
    background: url("../img/ic_arrow_flow.svg") no-repeat;
    content: "";
    display: block;
    height: 30px;
    width: 30px;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translate(-50%,100%);
  }
  .process-flow-item:last-child:before{
    display: none;
  }
  .process-flow-item > dt{
    display: flex;
    font-size: 1.5rem;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 13px 13px;
    position: relative;
  }
  .process-flow-item > dt:after{
    font-size: 3.0rem;
    margin-left: 10px;
  }
  .process-flow-item > dd{
    border-left: 4px solid #A02B2E;
    border-right: 4px solid #A02B2E;
    border-bottom: 4px solid #A02B2E;
    font-size: 2.2rem;
    text-align: center;
    padding: 30px 15px;
  }
  
  .end-text{
    font-size: 2.0rem;
    margin: 50px 0 0;
  }
}
@media (hover: hover) and (pointer: fine){
}

