@charset "utf-8";

.freeWrap	h2{ 
  background-color: #152c81; 
  color: #fff; 
  font-size: 22px;
  font-weight: 700;
	line-height: 1.0;
  padding: 12px 20px; 
  margin: 50px auto 40px; 
}

.heading .title{
  font-weight: 700;
  margin: 50px auto 30px;
}
.heading .text{
  margin: 30px auto 50px;
}
@media screen and (max-width: 767px) {
  .heading .title{
    font-size: 16px;
  }
}
@media screen and (min-width: 768px){
  .heading .title{
    font-size: 18px;
  }
}

.features{
  display: flex;
	flex-wrap: wrap;
  column-gap: 10px;
}
.features .col{
	background-color: #f2f7fd;
	border-radius: 4px;
	margin-bottom: 20px;
}
.features .title{
  color: #152c81;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.1;
  padding-left: 1em;
	margin: 0 auto 20px;
  position: relative;
}
.features .title::before{
  position: absolute;
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  background: #e6960b;
  border-radius: 50%;
    top: 8px;
	  left: 0;
}
.features .col:nth-child(-n+3) .text{
  margin: 20px auto;
}
.features .col:nth-last-child(-n+4) picture{
  display: flex;
  justify-content: center;
  margin: 20px auto;
}

@media screen and (max-width: 767px) {
  .features .col{
    width: 100%;
    flex-direction: column;
    padding: 20px;
  }
  .features .col:nth-child(-n+3) picture{
    display: flex;
    justify-content: center;
  }
  .features img{
    max-width: 305px;
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .features .col{
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    column-gap: 30px;
    padding: 30px;
  }  
  .features .col:nth-child(-n+3){
    width: 100%;
  }
  .features .col:nth-child(-n+3) img{
    max-width: 320px;
  }
	.features .col:nth-last-child(-n+4){
		width: calc( (100% - 10px) / 2 );
  }
}

.service{
  color: #152C81;
  font-weight: 700;
  margin: 30px auto 50px;
}
.service .title{
  font-size: 16px;
  text-align: center;
  margin-bottom: 20px;
}
.service .text{
  margin-top: 0;
}
.service .flexbox{
  display: flex;
  column-gap: 20px;
}
.service .flexbox .col{
  border: 1px solid #C7CAD5;
  border-radius: 4px;
  padding: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  column-gap: 20px;
  line-height: 1.2;
}

@media screen and (max-width: 767px) {
  .service .flexbox{
    flex-direction: column;
    align-items: center;
  }
  .service .flexbox .col{
    max-width: 345px;
    width: 100%;
  }
  .service .flexbox .col:not(:last-of-type){
    margin-bottom: 20px;
  }
  .service .img.hisago-kobo img{
    width: 262px;
  }
  .service .img.new_template img{
    width: 100px;
  }
}
@media screen and (min-width: 768px) {
  .service .title{
    font-size: 18px;
  }
  .service .flexbox{
    flex-wrap: wrap;
    justify-content: center;
  }
  .service .flexbox .col{
    width: 315px;
  }
}

.youto .title{
  font-size: 18px;
  font-weight: 700;
  line-height: 26px;
  letter-spacing: 0em;
  position: relative;
  margin-top: 40px;
  margin-bottom: 30px;
  padding-left: 14px;
  color: #152c81;
}
.youto .title::before {
  content: "";
  width: 4px;
  height: 4px;
  background: #e6960b;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
}
.youto .title::after {
  content: "";
  width: 4px;
  height: 100%;
  background: #152c81;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
.youto .inner{
  display: flex;
  column-gap: 30px;
}
.youto .col{
  display: flex;
  column-gap: 30px;
}
.youto .col img{
  max-width: 160px;
}
.youto .label{
  display: inline-block;
  background-color: #e3ebfa;
  color: #152c81;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
  border-radius: 14px;
  padding: 6px 14px;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .shiyou{
    display: flex;
    justify-content: center;
  }
  .shiyou img{
    width: 345px;
  }
  .youto .inner{
    flex-direction: column;
    align-items: center;
  }
  .youto .col{
    flex-direction: column;
    align-items: center;
  }
  .youto .col:not(:last-child){
    margin-bottom: 40px;
  }
}
@media screen and (min-width: 768px) {
  .youto .col{
		width: calc( (100% - 10px) / 2 );
  }
  .youto .col .img{
    width: 160px;
  }
  .youto .col .text{
    width: calc( 100% - 160px);
  }
}


@media screen and (max-width: 599px) {
  .display_sp{
    display: block;
  }
}
@media screen and (min-width: 600px) {
  .display_sp{
    display: none;
  }
}