/* ================================
  product
================================ */

/*共通パーツ*/
#wrap {
  width: 100%;
  overflow: hidden
}
#topBox {
  overflow: hidden;
	padding:240px 0 160px;
	position:relative;
}
#topBox img{
	display: block;
	width: 40%;
	height: auto;
	max-width: 800px;
	right: -2%;
	top: 4rem;
	z-index: -1;
	position:absolute;
}
#topBox .inBox {
	width: 100%;
	max-width: 1200px;
	margin:auto;
}
#topBox .inBox h1{
font-size: clamp(30px, 5vw, 70px);
margin-bottom: 1rem;
white-space: nowrap;
line-height: 1.1;
}
#topBox .inBox h1 br{ display: none;}
#topBox .inBox p{
font-size: clamp(16px, 2vw, 28px);
font-weight: bold;
line-height: 1.2;
}

#leadBox {
	background: linear-gradient(-225deg, #0d223e, #2e547f);
	padding: 6rem 0;
}
#leadBox p {
	max-width: 1200px;
	color: #fff;
	margin: auto;
	padding:0 5%;
	font-size: clamp(14px, 2vw, 20px);
}
@media screen and (max-width: 1280px),{
	#topBox .inBox {
	margin: 0;
	padding: 0 5%;
}
#topBox {
	padding:160px 0 120px;
}
}
@media screen and (max-width: 768px),{
	#topBox {
	padding:100px 0 60px;
}
#topBox .inBox p br{
	display: none;
}
#topBox .inBox h1{
white-space: normal;
}
#topBox .inBox h1 br{ 
	display: inline;
}
#leadBox {
  background: linear-gradient(-225deg, #0d223e, #2e547f);
  padding: 3rem 0;
}
}
@media screen and (max-width: 470px),{
  #topBox {
  padding: 100px 0 200px;
  }
#topBox .inBox p {
    font-size: clamp(16px, 2vw, 28px);
    font-weight: 400;
    line-height: 1.2;
}
	#topBox img{
	width: 250px;
	height: auto;
	right: -0%;
	top:auto;
	bottom: 0;
}
}
#flowchart {
	padding: 6rem 0;
}
#flowchart .fBox{
	max-width: 1200px;
	margin: auto;
	border-radius: 10px;
	background: #fff;
	padding: 20px;
	box-shadow: 0 0 5px #ccc;
	display: flex;
	align-items: center;
	margin-bottom: 2rem;
	position:relative;
}
#flowchart .fBox .arrow {
  display: inline-block;
  width: 48.1px;
  height: 70%;
  background: #aac9f1;
  clip-path: polygon(0 82.3%, 38.2% 82.3%, 38.2% 0, 61.8% 0, 61.8% 82.3%, 100% 82.3%, 50% 100%);
	position:absolute;
	left: 8.5%;
	bottom:-40%;
	z-index: 2;
}
#flowchart .fBox img{
	max-width: 220px;
	height: auto;
	margin-right :20px;
	width: 25%;
}
#flowchart .fBox .textBox {
	flex: 1;
}
#flowchart .fBox .inBox {
	display: flex;
	align-items: center;
	flex: 1;
}
#flowchart .fBox .flowName{
	font-size: clamp(16px, 2vw, 28px);
	font-weight: bold;
}
#flowchart .fBox .flowNumber {
	font-size: clamp(30px, 4vw, 54px);
	font-weight: bold;
	width: 18%;
	text-align: center;
	color: #aac9f1;
	position:relative;
}


@media screen and (max-width: 1280px),{
	#flowchart .fBox{
	margin: 0 5% 2rem;
}
}
@media screen and (max-width: 980px),{
#flowchart .fBox .arrow {
  height: 80%;
	bottom:-50%;
}
}
@media screen and (max-width: 768px),{
	#flowchart .fBox .arrow {
  height: 75%;
	bottom:-40%;
	left: 8%;
}
	#flowchart .fBox:nth-child(1) .arrow {
	height: 90%;
	bottom:-60%;
	}
	#flowchart .fBox:nth-child(2) .arrow {
  height: 75%;
	bottom:-40%;
	}
	#flowchart .fBox:nth-child(3) .arrow {
	height: 90%;
	bottom:-60%;
	}
	#flowchart .fBox:nth-child(4) .arrow {
	height: 80%;
	bottom:-50%;
	}
}
@media screen and (max-width: 480px),{
	#flowchart .fBox .inBox {
	flex-direction: column-reverse;
}
#flowchart .fBox img{
	margin-right :0px;
	width: auto;
}
#flowchart .fBox  {
	align-items: flex-start;
	padding: 20px 20px 20px 0px;
}
#flowchart .fBox .flowNumber {
	margin: -10px 10px 0;
	}
#flowchart .fBox .arrow {
  width: 28.3px;
  height: 120%;
	bottom:-20%;
	left:7.5%;
  clip-path: polygon(0 95.3%, 39.4% 95.3%, 39.4% 0, 60.6% 0, 60.6% 95.3%, 100% 95.3%, 50% 100%);
}
	#flowchart .fBox:nth-child(1) .arrow {
	height: 90%;
	bottom:-8%;
	}
	#flowchart .fBox:nth-child(2) .arrow {
	height: 90%;
	bottom:-8%;
	}
	#flowchart .fBox:nth-child(3) .arrow {
	height: 90%;
	bottom:-8%;
	}
	#flowchart .fBox:nth-child(4) .arrow {
	height: 90%;
	bottom:-8%;
	}	
	
	}