@charset "utf-8";
/*==================================================
	【トップ】ページ固有のスタイル
==================================================*/
#top_ttl img {
	width: 100%;
}
/* お知らせ */
#top_info {
	border: 3px solid #ffb8c5;
	padding: 30px 25px 15px;
	border-radius: 10px;
}
#top_info h2.info {
	font-weight: normal;
	position: relative;
	font-size: 115%;
	margin-top: 3px;
}
#top_info h2.info::before {
	content: "";
	background: #ffb8c5;
	width: 1px;
	height: 60px;
	position: absolute;
	top: -16px;
	right: 0;
}
#top_info h2.info img {
	width: 20px;
	margin-right: 10px;
	position: relative;
	top: -4px;
}
#top_info a {
	text-decoration: underline;
}
#top_info .btn01 a {
	text-decoration: none;
	position: relative;
	top: -5px;
}
#top_info .info_box dl {
	margin-bottom: 10px;
}
#top_category {
	padding-bottom: 50px;
}
#top_category::before {
	background: #fff1f3;
	height: calc(100% - 250px);
	top: auto;
	bottom: 0;
}
#top_category .bg {
	margin-left: calc(((100vw - 100%) / 2) * -1);
	margin-right: calc(((100vw - 100%) / 2) * -1);
	position: absolute;
	top: 250px;
	z-index: -1;
}
#top_category .category_box .img {
	width: 48%;
	margin-bottom: 40px;
}
#top_category .mini_category {
	display: grid;
	justify-content: space-between;
	grid-template-columns: repeat(6, 16%);
	gap: 5px 0;
}
#top_category .mini_category dl {
	background: #fff;
	border-radius: 10px;
	overflow: hidden;
}
#top_category .mini_category dt img {
	width: 100%;
}
#top_category .mini_category dd {
	font-size : 30px;
	color : #0088FF;
	font-weight: 600;
	text-align: center;
	padding: 10px 5px;
	line-height: 1.2em;
	min-height: 100px;
	display: flex;
	justify-content: center;
	flex-direction: column;
}
#top_category .mini_category dd .fs {
	font-size: 23px;
}
#top_reasons::before {
	content: "";
	background: url("../img/top/bg01.png") no-repeat top right/100%;
	width: 30vw;
	height: 30vw;
	left: auto;
	right: 0;
}
#top_reasons h2.sub .pri {
	font-size: 60px;
	position: relative;
	top: 3px;
}
#top_reasons dl {
	background: #ffdbe2;
	padding: 20px;
	border-radius: 20px;
	width: 31%;
}
#top_reasons dt {
	font-weight : bold;
	font-size : 46px;
	line-height : 60px;
	color : #0088FF;
	text-shadow : 2px 2px 0px rgba(255, 255, 255, 1);
	text-align: center;
	margin-bottom: 20px;
}
#top_reasons dt .fs {
	font-size: 36px;
}
#top_flow {
	padding-bottom: 30px;
}
#top_flow::before {
	background: #fff1f3;
	top: auto;
	bottom: 0;
	clip-path: polygon(0 50%, 100% 30%, 100% 100%, 0% 100%);
}
#top_flow .step_box {
	width: 850px;
	margin-left: auto;
	column-gap: 30px;
}
#top_flow .step_box .box {
	width: 250px;
	position: relative;
}
#top_flow .step_box .box:not(:last-of-type)::before {
	content: "";
	background: url("../img/arrow01.png")no-repeat center/100%;
	width: 25px;
	height: 30px;
	position: absolute;
	top: 110px;
	right: -35px;
}
#top_flow .step_box .box .step_maru {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	width: 69px;
	height: 69px;
	background: #202050;
	color: #fff;
	border-radius: 50%;
	font-family: var(--font-zen);
	font-size: 87.5%;
	line-height: 2.2em;
	position: absolute;
	z-index: 2;
}
#top_flow .step_box .box.pri .step_maru {
	background: #0088ff;
}
#top_flow .step_box .box .step_maru .num {
	font-size: 32px;
	position: relative;
	top: -8px;
}
#top_flow .step_box .box .img {
	margin-bottom: 0;
}
#top_flow .step_box .box .img img {
	width: 100%;
	border-radius: 50%;
}
#top_flow .step_box .box dt {
	font-size : 29px;
	text-align: center;
	font-weight: 600;
}
#top_flow .bg_img {
	position: absolute;
	bottom: 0;
	left: 0;
	width: calc(100% - 870px);
}
#top_results {
	padding-bottom: 50px;
}
#top_results::before {
	background: #fff1f3;
	height: calc(100% - 400px);
	top: auto;
	bottom: 0;
}
#top_results #results_list {
	margin-bottom: 40px;
	display: grid;
	justify-content: space-between;
	grid-template-columns: repeat(4, 23%);
}
#top_results .box {
	background: #fff;
	border-radius: 0 0 10px 10px;
}
#top_results .box .img img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}
#top_results .box .img .dummy {
	display: flex;
	aspect-ratio: 1 / 1;
	align-items: center;
	justify-content: center;
	background: #172685;
}
#top_results .box .img .dummy img {
	width: 80%;
	aspect-ratio: unset;
}
#top_results .box .txt {
	padding: 15px;
}
@media print, screen and (min-width: 769px){ /* PCのみ */
	#top_info h2.info {
		width: 15%;
	}
	#top_info .info_box {
		width: 72%;
	}
	#top_info .btn01 {
		width: 8%;
	}
}
@media print, screen and (min-width: 641px){ /* PC・タブレット */
	#slider .dsp_smt {
		display: none;
	}
	/* お知らせ */
	#top_info dl {
		display: flex;
	}
	#top_info dt {
		width: 110px;
	}
	#top_info dd {
		width: calc(100% - 100px);
	}
}
@media only screen and (max-width: 768px) and (min-width: 641px){ /* タブレットのみ */
}
@media only screen and (max-width: 768px) {  /* タブレット以下 */
	#top_info h2.info {
		width: 100%;
		margin-bottom: 30px;
	}
	#top_info h2.info::before {
		display: none;
	}
	#top_info .info_box {
		width: 100%;
	}
	#top_info .btn01 {
		margin-left: auto;
	}
	#top_category::before {
		height: calc(100% - 180px);
	}
	#top_category .bg {
		top: 180px;
	}
	#top_category .mini_category dd {
		font-size: 115%;
		min-height: 70px;
	}
	#top_category .mini_category dd .fs {
		font-size: 80%;
	}
	#top_reasons .en_lft {
		margin-bottom: 0;
	}
	#top_reasons::before {
		top: 25px;
		right: -35px;
	}
	#top_reasons h2.sub .pri {
		font-size: 40px;
	}
	#top_reasons dt {
		font-size: 28px;
		line-height: 30px;
	}
	#top_reasons dt .fs {
		font-size: 20px;
	}
	#top_flow .step_box {
		width: 80%;
	}
	#top_flow .step_box .box {
		width: 160px;
	}
	#top_flow .step_box .box .step_maru {
		width: 60px;
		height: 60px;
		top: -10px;
		left: -10px;
	}
	#top_flow .step_box .box .step_maru .num {
		font-size: 25px;
	}
	#top_flow .step_box .box dt {
		font-size: 20px;
	}
	#top_flow .step_box .box dd {
		font-size: 87.5%;
	}
	#top_flow .step_box .box:not(:last-of-type)::before {
		width: 15px;
		height: 20px;
		top: 88px;
		right: -30px;
	}
	#top_flow .bg_img {
		width: calc(100% - 80%);
		left: -25px;
	}
	#top_results .box .txt {
		font-size: 87.5%;
	}
}
@media only screen and (max-width: 640px){ /* スマホ */
	#slider .dsp_hpt {
		display: none;
	}
	#top_info {
		padding: 15px;
	}
	#top_info h2.info {
		margin-bottom: 15px;
	}
	#top_info h2.info img {
		top: -2px;
	}
	#top_info .btn01 {
		text-align: right;
	}
	#top_category .category_box .img {
		width: 100%;
		margin-bottom: 15px;
	}
	#top_category .mini_category {
		grid-template-columns: repeat(3, 32%);
	}
	#top_category .mini_category dl {
		margin-bottom: 10px;
	}
	#top_reasons h2.sub {
		line-height: 1.2em;
	}
	#top_reasons dl {
		width: 100%;
		margin-bottom: 15px;
	}
	#top_flow .step_box {
		width: 100%;
	}
	#top_flow .step_box .box {
		width: 100%;
		margin-bottom: 50px;
	}
	#top_flow .step_box .box .img {
		width: 60%;
		margin: 0 auto;
	}
	#top_flow .step_box .box:not(:last-of-type)::before {
		transform: rotate(90deg);
		top: auto;
		bottom: -30px;
		left: calc(50% - 10px);
	}
	#top_flow .step_box .box .step_maru {
		top: 0;
		left: 50px;
	}
	#top_flow .step_box .box dd {
		font-size: 100%;
	}
	#top_flow .step_box .box dd p {
		text-align: center;
	}
	#top_flow .bg_img {
		width: 90px;
		z-index: -1;
	}
	#top_results #results_list {
		grid-template-columns: repeat(2, 48%);
		margin-bottom: 0;
	}
	#top_results .box {
		margin-bottom: 15px;
	}
}