@charset "utf-8";


/*==========================================
 concept
===========================================*/
#concept{}

#concept .topCom div:first-of-type{
	font-size: 1.6em;
	text-align: center;
	line-height: 1.7;
	font-weight: bold;
	padding-bottom: 25px;
}

#concept .topCom div:first-of-type span{
	display: block;
	color: #1a274d;
}

#concept .topCom div:last-of-type{
	text-align: center;
}

@media screen and (max-width:1001px) {
	#concept .topCom div:first-of-type{
		font-size: 1.3rem;
		text-align: left;
	}
	#concept .topCom div:first-of-type span{
		display: inline;
	}
	#concept .topCom div:last-of-type{
		text-align: left;
	}

}


#conceptImg{
	margin:70px 0;
}
#conceptImg img{
	width : 33.33333% ; /* 未対応ブラウザ用フォールバック */
	width : -webkit-calc(100% / 3) ;
	width : calc(100% / 3) ;
}



#concept .btmCom{}
#concept .btmCom div:first-of-type{
	width: 54%;
	font-size: 1.3em;
	line-height: 1.9;
	font-weight: bold;
	color: #1a274d;
}

#concept .btmCom div:first-of-type p{
	text-align: right;
	font-size: 1rem;
	padding-top: 20px;
	font-weight: normal;
	color: #000;
}

#concept .btmCom div:last-of-type{
	width: 38%;
	padding-top: 15px;
	text-align: center;
}

#concept .btmCom div:last-of-type img{
	width:100%;
	max-width: 600px;
	margin: 0 auto;
}

@media only screen and (max-width: 799px){
	#concept .btmCom div:first-of-type{
		width: 100%;
	}
	#concept .btmCom div:last-of-type{
		width: 100%;
		padding-top: 40px;
	}
}


/*==========================================
 flow
===========================================*/
#flow{}

.stepbar {
  margin: 0 auto;
  width: 90%;
}

.stepbar .stepbarwrap {
  margin: 2em 0;
  position: relative;
}

.stepbar .stepbarwrap .steptitle {
  display: inline-flex;
  align-items: center;
}

.stepbar .stepbarwrap .steptitle .stepcircle {
  display: inline-block;
  width: 1em;
  height: 1em;
  content: "";
  border-radius: 50%;
  background-color: #fff;
  border: 2px solid skyblue;
	background: skyblue;
}

.stepbar .stepbarwrap .steptitle .stepnum {
	padding-left: 1em;
	font-size: 1em;
	color: #444;
	font-weight: bold;
}

.stepbar .stepbarwrap .steptxt {
  padding-left: 2em;
}

.stepbar .stepbarwrap .steptxt .title {
  margin: 0.2em 0 0.5em;
  font-weight: bold;
  font-size: 1.6em;
	color: #002f68;
}

.stepbar .stepbarwrap .steptxt .txt {
  font-size: 1.06em;
}

.stepbar .stepbarwrap .stepline {
  width: 1px;
  height: calc(100% + 1em);
  background-color: #444;
  position: absolute;
  top: 1em;
  left: 0.5em;
  z-index: -1;
}

.stepbarwrap:last-of-type .stepline:last-of-type {
  display: none;
}

@media screen and (max-width: 960px) {
  .stepbar {
    width: 90%;
  }
}