@charset "UTF-8";

.main {
	/*padding-top: 97px;*/
}

.mv {
	display: flex;
	align-items: center;
	justify-content: center;
}

.mv_txt {
	/*max-width: 100vw;*/
	max-height: 100vh;
	width: clamp(500px, 56%, 800px);
	margin: auto;
}


.sec_ttl {
	font-size: clamp(28px, 3vw, 40px);
	line-height: 1.25;
	color: #003366;
	text-align: center;
}

.sec_ttl_sub {
	font-size: clamp(15px, 1.4vw, 18px);
	line-height: 2.11;
	color: #003366;
	text-align: center;
}


.anchor {
	margin-top: -97px;
}


/*--------------------PC--------------------*/
@media all and (min-width:768px) {
	#anc01.anchor {
		margin-top: 0px;
	}
}

/*--------------------SP--------------------*/
@media all and (max-width:767px) {
	.main {
		/*padding-top: 78px;*/
	}


	.anchor {
		margin-top: -60px;
	}

	/*#anc01.anchor {
		margin-top: 0px;
	}*/
	.mv_txt {
    /* max-width: 100vw; */
    max-height: 100vh;
    width: clamp(500px, 56%, 800px);
    margin: auto;
    padding-top: 10%;
	}
	.sec_ttl {
      font-size: clamp(15px, 5.2vw, 26px);
  }


    .sec_ttl_sub {
        font-size: clamp(14px, 3.2vw, 18px);
        max-width: 90%;
        margin-left: auto;
        margin-right: auto;
    }

	/*	.anchor#anchor01{
		margin-top: -30px;
	}
	.anchor#anchor03{
		margin-top: -25px;
	}
*/
}

/* mv
***************************************************************/

.mv {
	width: auto;
	height: 100vh;
	background: url(../img/front/mv.jpg) center / cover no-repeat;
	color: #fff;
}

.mv .inner {
	position: relative;
}

/*--------------------PC--------------------*/
@media all and (min-width:768px) {}

/*--------------------SP--------------------*/
@media all and (max-width:767px) {}



/* sec01
***************************************************************/
.sec01 {
	padding-top: 30px;

	& .sec_ttl {
		text-align: left;
	}
}

.sec01_txtwrap {
	margin-top: 10%;

	& .sec01_txtbox {
		margin-top: 40px;
		width: clamp(410px, 40vw, 90%);

		& p {
			font-size: clamp(15px, 1.4vw, 18px);
			line-height: 2.11;
		}

		& p+p {
			margin-top: 30px;
		}
	}
}

/*--------------------PC--------------------*/
@media all and (min-width:768px) {}

/*--------------------SP--------------------*/
@media all and (max-width:767px) {
	.sec01 {
    & .sec_ttl {
        text-align: center;
    }
    & .sec01_txtbox {
      margin-top: 10%;
      width: 100%;
        & p+p {
            margin-top: 5%;
        }
    }
	}
}


/* sec02
***************************************************************/
.sec02 {
	& .sec02_imgwrap01 {
		margin-top: 70px;
	}

	& .sec02_txt01 {
		font-size: 30px;
		line-height: 1.66;
		text-align: center;
		color: #003366;
		margin-top: 90px;
		font-weight: 700;
	}

	& .sec02_txt_arrow {
		margin: 40px auto 0;
		width: clamp(80px, 5vw, 120px);
		display: block;
	}

	& .sec02_txt02 {
		margin: 40px auto 0;
		display: table;
		text-align: center;
		font-size: clamp(28px, 3vw, 40px);
		color: #fff;
		background-color: #003366;
		font-weight: 700;
		padding: 0.2em 0.2em 0.3em;
	}
}

/*--------------------PC--------------------*/
@media all and (min-width:768px) {}

/*--------------------SP--------------------*/
@media all and (max-width:767px) {
	.sec02 {
    & .sec02_txt01 {
        font-size: clamp(15px, 5.2vw, 26px);
        margin-top: 50px;
        	br{
        		display: none;
        	}
    }
    & .sec02_imgwrap01 {
        margin-top: 40px;
    }
    & .sec02_txt02 {
        margin: 20px auto 0;
        font-size: clamp(22px, 4vw, 32px);
        padding: 0.4em 0.4em 0.5em;
        line-height: 2;
    }
	}


}



/* sec03
***************************************************************/
.sec03 {
	& .sec_ttl_sub {
		font-size: clamp(15px, 1.4vw, 18px);
		line-height: 2.77;
		margin-top: 60px;
		font-weight: 700;
	}

	& .sec03_box1 {
		margin-top: 70px;

		& .clm p {
			font-size: 20px;
			margin-top: 30px;
			line-height: 2.5;
			text-align: center;
			color: #003366;
		}
	}

	& .sec03_box2 {
		margin-top: 90px;
		background-color: #fff;
		border: 4px solid #10b7ee;
		border-radius: 20px;
		padding: 70px 2.5%;
		max-width: 1100px;
		margin-left: auto;
		margin-right: auto;

		& .inner {
			margin-top: 70px;

			& .sec03_box2_txt01 {
				font-size: 20px;
				text-align: center;
				margin-top: 35px;
			}

			& .sec03_box2_txt02 {
				font-size: 30px;
				text-align: center;
				color: #003366;
				margin-top: 15px;
			}

			& .sec03_box2_txt03 {
				font-size: 18px;
				line-height: 2.1;
				border-top: 2px solid #444444;
				margin-top: 20px;
				padding-top: 13px;
			}
		}
	}
}

/*--------------------PC--------------------*/
@media all and (min-width:768px) {}

/*--------------------SP--------------------*/
@media all and (max-width:767px) {
	.sec03 {
    & .sec_ttl_sub {
        font-size: clamp(14px, 3.2vw, 18px);
        line-height: 2.1;
        margin-top: 30px;
    }
    & .sec03_box1 {
        margin-top: 40px;
    }
    & .sec03_box1 {
      & .clm p {
          font-size: clamp(16px, 5vw, 20px);
          margin-top: 10px;
          line-height: 1.7;
      }
      & .clm + .clm {
      	margin-top: 30px;
      }
    }
    & .sec03_box2 {
        margin-top: 50px;
        border: 3px solid #10b7ee;
        border-radius: 15px;
        padding: 40px 0;
        max-width: 90%;
        margin-left: auto;
        margin-right: auto;
	        & .inner {
	          margin-top: 30px;
		          & .clm + .clm{
		          	margin-top: 30px;
		          }
		          & .sec03_box2_txt01 {
	                font-size: 16px;
	                margin-top: 20px;
	            }
	            & .sec03_box2_txt02 {
                font-size: 24px;
                margin-top: 10px;
	            }
	            & .sec03_box2_txt03 {
	                font-size: 16px;
	                line-height: 1.7;
	                border-top: 2px solid #444444;
	                margin-top: 15px;
	                padding-top: 11px;
            	}
	        }
    }
	}
}



/* sec04
***************************************************************/
.sec04 {
	&>.inner {
		margin-top: 70px;

		& .clm {
			border: 4px solid #10b7ee;
			background-color: #fff;
			border-radius: 20px;
		}

		& .plan_box {
			& h4 {
				border-radius: 15px 15px 0 0;
				padding: 30px 0;
				display: flex;
				flex-direction: column;
				align-items: center;
				text-align: center;
				font-size: 30px;
				font-weight: 700;

				&>span {
					font-size: 125%;
					margin-top: 15px;

					& span.small_txt {
						font-size: 80%;
					}
				}
			}

			& .plan_box_inner {
				padding: 0 25px 35px;

				& p {
					display: flex;
					justify-content: space-between;
					align-items: flex-end;
					border-bottom: 2px solid #444444;
					font-size: 18px;
					padding: 40px 15px 10px;

					& span {
						font-size: 30px;
						color: #003366;
						font-weight: 700;
						width: 68px;
						display: flex;
						align-items: flex-end;
						justify-content: center;

						& span.small_txt {
							font-size: 66%;
						}
					}

					& img {
						max-width: 27px;
					}
				}

				& p:nth-child(1) {
					padding-right: 1.3em;

					& span {
						width: auto;
					}
				}

				& p.seisya {
					align-items: center;
					height: 5.7em;

					& span {
						display: flex;
						flex-direction: column;
						align-items: center;

						.ninzuu {
							font-size: 18px;
							color: #444;
							margin-top: 6px;
						}
					}
				}
			}
		}

		& .plan_box01 {
			& h4 {
				background-color: #cee5ed;
			}
		}

		& .plan_box02 {
			& h4 {
				background-color: #87d4ed;
			}
		}

		& .plan_box03 {
			& h4 {
				background-color: #10b7ee;
			}
		}
	}

	& .sec04_box2 {
		& .sec04_box2_inner {
			margin-top: 70px;
			border: 4px solid #10b7ee;
			background-color: #fff;
			border-radius: 20px;
			padding: 30px 85px;

			& .sec_ttl {
				font-size: clamp(22px, 2.2vw, 30px);
			}

			& .clm {
				border-bottom: 2px solid #444444;
				font-size: 18px;
				padding: 35px 0 10px;

				& p {
					display: flex;
					align-items: flex-end;
					justify-content: space-between;
				}

				& span {
					font-size: 30px;
					color: #003366;
					font-weight: 700;

					& span.small_txt {
						font-size: 20px;
					}
				}
			}

			& .sec04_extxt {
				text-align: center;
				font-size: 18px;
				line-height: 1.72;
				margin-top: 10px;
			}
		}
	}
}

/*--------------------PC--------------------*/
@media all and (min-width:768px) {}

/*--------------------SP--------------------*/
@media all and (max-width:767px) {
	.sec04 {
    &>.inner {
        margin-top: 30px;
        & .clm {
            border: 3px solid #10b7ee;
            border-radius: 15px;
        }
	      & .clm + .clm {
	      	margin-top: 25px;
	      }
				& .plan_box {
				  & .plan_box_inner {
            padding: 0 4% 25px;
							& p {
									font-size: 16px;
									padding: 20px 10px 10px;
										& span {
												font-size: 25px;
										}
							}
							& p.seisya {
							    & span {
							        .ninzuu {
							            font-size: 14px;
							        }
							    }
							}
          }
					& h4 {
							border-radius: 12px 12px 0 0;
							padding: 17px 0;
							font-size: 20px;
					}
				}
    }
    & .sec04_box2 {
        & .sec04_box2_inner {
            margin-top: 40px;
            border: 3px solid #10b7ee;
            background-color: #e6f3f8;
            border-radius: 15px;
            padding: 20px 5%;
        }
    }
	}
}



/* sec05
***************************************************************/
.sec05 {
	& .inner {
		max-width: 980px;
		margin-top: 70px;
	}

	& table,
	& td,
	& th {
		border: 1px solid #fff;
		border-collapse: collapse;
	}

	& table {
		width: 100%;
		font-size: 18px;
	}

	& table {

		& td,
		& th {
			padding: 1em 0.7em;
			text-align: center;
			vertical-align: middle;
			line-height: 1.5;
		}
	}

	& .head01 th {
		background-color: #003366;
		color: #fff;
	}

	& .head01 td:nth-child(2) {
		background-color: #10b7ee;
		color: #fff;
	}

	& .head01 td:nth-child(3) {
		background-color: #444444;
		color: #fff;
	}

	& tr th {
		background-color: #003366;
		color: #fff;
		white-space: nowrap;
	}

	& tr *:nth-child(1) {
		width: 20%;
	}

	& tr *:nth-child(2) {
		width: 40%;
	}

	& tr *:nth-child(3) {
		width: 40%;
	}

	& tr:not(.head01) td:nth-child(2) {
		background-color: #e7f8fd;
	}

	& tr:not(.head01) td:nth-child(3) {
		background-color: #fafafa;
	}
}

/*--------------------PC--------------------*/
@media all and (min-width:768px) {}

/*--------------------SP--------------------*/
@media all and (max-width:767px) {
	.sec05 {
		& .inner {
			margin-top: 40px;
			overflow: scroll;
				& table{
					width: 900px;
        	font-size: 16px;
				}
		}
	}
}



/* sec06
***************************************************************/
.sec06 {
	& .sec_ttl {
		display: flex;
		justify-content: center;
	}

	& .inner {
		margin-top: 70px;

		& .clm {
			margin-bottom: 70px;

			& p {
				text-align: center;
				font-size: 20px;
				color: #003366;
				line-height: 1.5;
				margin-top: 30px;
			}
		}
	}
}

/*--------------------PC--------------------*/
@media all and (min-width:768px) {
	.sec06 {
		padding-bottom: 30px;
  }
}

/*--------------------SP--------------------*/
@media all and (max-width:767px) {
	.sec06 {
    & .inner {
      margin-top: 40px;
        & .clm {
					margin-bottom: 35px;
            & p {
                font-size: 16px;
                margin-top: 15px;
            }
        }
    }
	}

}



/* sec07
***************************************************************/
.sec07 {
	& .inner {
		margin-top: 70px;
	}

	& .inner+.inner {
		margin-top: 80px;
	}

	.sec07_txtwrap {
		& h4 {
			display: block;
			line-height: 1.3;
			font-size: clamp(22px, 2vw, 30px);
			color: #fff;

			& span {
				display: inline-block;
				background-color: #003366;
				font-weight: 700;
				padding: 0.1em 0.3em 0.2em;
			}

			& span+span {
				margin-top: 0.3em;
			}
		}

		& .sec07_txtbox {
			margin-top: 25px;
			width: clamp(410px, 40vw, 90%);

			& p {
				font-size: clamp(16px, 1.6vw, 20px);
				line-height: 2;
			}

			& p+p {
				margin-top: 30px;
			}
		}
	}
}

/*--------------------PC--------------------*/
@media all and (min-width:768px) {}

/*--------------------SP--------------------*/
@media all and (max-width:767px) {
	.sec07 {
    & .inner {
      margin-top: 40px;
				& .sec07_txtwrap {
						& h4 {
								font-size: clamp(19px, 4.6vw, 26px);
						}
		        & .sec07_txtbox {
		            margin-top: 15px;
		            width: 100%;
		        }
				}
				& .sec07_imgwrap{
					margin-top: 6px;
				}
    }
    & .inner+.inner {
      margin-top: 50px;
    }
	}


}



/* sec08
***************************************************************/
.sec08 {
	&>.inner {
		margin-top: 70px;
	}

	& .clm {
		background-color: #e7f8fd;
		border-radius: 20px;
		padding: 70px 30px 30px;
		position: relative;

		& img {
			position: absolute;
			width: 70px;
			height: auto;
			top: -30px;
			left: 30px;
		}

		& h4 {
			font-size: 30px;
			font-weight: 700;
			text-align: center;
		}

		& p {
			width: 100%;
			font-size: 18px;
			line-height: 2.11;
			margin-top: 20px;
			padding-top: 15px;
			border-top: 2px solid #000;
		}
	}

	& .clm+.clm::before {
		content: '';
		width: 13px;
		height: 60px;
		background: url(../img/front/flow_arrow.svg) center / contain no-repeat;
		position: absolute;
		left: -25px;
		top: 50%;
		transform: translateY(-50%);
	}
}

/*--------------------PC--------------------*/
@media all and (min-width:768px) {
	.sec08 {
		& .clm+.clm::before {
			content: '';
			width: 13px;
			height: 60px;
			background: url(../img/front/flow_arrow.svg) center / contain no-repeat;
			position: absolute;
			left: -25px;
			top: 50%;
			transform: translateY(-50%);
		}
	}


}

/*--------------------SP--------------------*/
@media all and (max-width:767px) {

	.sec08 {
	    &>.inner {
	      margin-top: 60px;

			    & .clm {
  	        border-radius: 15px;
			 			padding: 65px 30px 30px;
			        & h4 {
			            font-size: 26px;
			        }
							& p {
									font-size: 16px;
									line-height: 1.72;
									margin-top: 15px;
									padding-top: 12px;
							}
			    }
		      & .clm + .clm {
		      	margin-top: 60px;
		      }
          & .clm+.clm::before {
              content: '';
              width: 13px;
              height: 60px;
              background: url(../img/front/flow_arrow.svg) center / contain no-repeat;
              position: absolute;
              left: 50%;
              top: -64px;
              transform: translateX(-50%) rotate(90deg);
          }
	    }
  }

}


/* sec09
***************************************************************/
.sec09 {
	&>.inner {
		margin-top: 70px;
		width: 840px;

		& .clm {
			border: 2px solid #c3c3c3;
			background-color: #fff;
			border-radius: 20px;
			padding: 30px 40px;

			&>div {
				display: flex;
				align-items: flex-start;

				&>img {
					width: 40px;
					height: auto;
					margin-right: 20px;
				}
			}

			&>div+div {
				padding-top: 10px;
				margin-top: 10px;
				border-top: 2px solid #c3c3c3;
			}

			& h4 {
				font-size: 30px;
				line-height: 1.33;
			}

			& p {
				color: #444444;
				font-size: 20px;
				line-height: 2;
			}
		}

		& .clm+.clm {
			margin-top: 40px;
		}
	}
}

/*--------------------PC--------------------*/
@media all and (min-width:768px) {}

/*--------------------SP--------------------*/
@media all and (max-width:767px) {

	.sec09 {
	    &>.inner {
        margin-top: 40px;
        width: auto;
	        & .clm {
            border-radius: 15px;
            padding: 20px 15px;
		          & h4 {
                font-size: 20px;
                line-height: 1.2;
	            }
            & p {
                font-size: 16px;
                line-height: 1.5;
            }
	        }
					& .clm+.clm {
						margin-top: 25px;
					}
	    }
	}


}




/* sec10 form
***************************************************************/
.sec10{
	& .sec_ttl_sub {
		font-size: clamp(15px, 1.4vw, 18px);
		line-height: 2.77;
		margin-top: 60px;
		font-weight: 700;
	}
	& .form_wrap{
		margin-top: 90px;
	}
}

.confirm .sec10 {
    & .form_wrap {
        margin-top: 0;
    }
}
.finish .sec10 {
    & .form_wrap {
        margin-top: 0;
    }
}


.inputBtn button{
	position: relative;
	font-size: 20px;
}

.inputBtn button::after {
    content: '';
    width: 15px;
    height: 16px;
    background: url(../img/front/send_arrow.svg) center / contain no-repeat;
    position: absolute;
    right: 22px;
    top: 50%;
    transform: translateY(-50%);
}


			
/*--------------------PC--------------------*/
@media all and (min-width:768px) {}

/*--------------------SP--------------------*/
@media all and (max-width:767px) {
	.sec10 {
    & .sec_ttl_sub {
        font-size: clamp(14px, 1.4vw, 18px);
        line-height: 2.1;
        margin-top: 30px;
    }
    & .form_wrap {
      margin-top: 40px;
    }
    form dl dt {
        width: 100%;
        margin-bottom: 10px;
        font-size: 16px;
        padding-top: 0;
        padding-left: 0.2em;
    }
    form dl dd {
        margin-bottom: 30px;
    }
    .doui {
        padding-right: 0;
    }
    .kakunin {
	    & .error {
	        padding-left: 0em;
	    }
		}
	}

}








/* aaa
***************************************************************/

/*--------------------PC--------------------*/
@media all and (min-width:768px) {}

/*--------------------SP--------------------*/
@media all and (max-width:767px) {}


/* aaa
***************************************************************/

/*--------------------PC--------------------*/
@media all and (min-width:768px) {}

/*--------------------SP--------------------*/
@media all and (max-width:767px) {}