@charset "utf-8";

/* ファーストビュー
------------------------------------------------------------*/
#first_view::after{z-index: -1;}

/* メインエリア
------------------------------------------------------------*/
#pankuzu,#pankuzu li a{
	display: flex;
	align-items: center;
}
#pankuzu{
	flex-wrap: wrap;
	margin-bottom: 40px;
}
#pankuzu li a{color: #cc4640;}
#pankuzu li a::after{
	content: '-';
	color: #474240;
	margin: 0 8px;
}
#inner_title{padding: 60px 0 130px;}
.page_title p{
	font-size: clamp(60px, 8vw, 97px);
	letter-spacing: 0.05em;
	line-height: 0.9;
	margin-bottom: 13px;
}
.page_title h2{
	font-size: clamp(24px, 2vw, 33px);
	font-weight: bold;
}

/* ページ内リンク
------------------------------------------------------------*/
.w720{
	max-width: 720px;
	width: 100%;
	margin: 0 auto;
}
.page_btn.c2 > li{width: 49%;}
.page_btn.c3 > li{width: 32.5%;}
.page_btn.c3 > li:not(:nth-last-child(-n+3)){margin-bottom: 18px;}
.flex_start.page_btn.c3 > li{
	width: 31.7%;
	margin: 0.8%;
}
.page_btn a{
	display: block;
	font-size: clamp(18px, 1.5vw, 22px);
	font-weight: bold;
	background: #fff url("../images/btn_icon_r_bottom.webp") no-repeat 95% center / 55px;
	padding: 25px 80px 25px 25px;
	border-radius: 10px;
}
@media (any-hover: hover){
	.page_btn a:hover{
		background-color: #cc4640;
		background-image: url("../images/btn_icon_w_bottom.webp");
		color: #fff;
	}
}

/* コンテンツ
------------------------------------------------------------*/
.r_btm_wave{position: relative;}
.r_btm_wave::before{
	content: '';
	width: 917px;
	aspect-ratio: 131 / 49;
	background: url("../images/r_btm_wave.webp") no-repeat center / contain;
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: -1;
}

/* bg_illust
----------------------------------------------*/
.bg_illust{
	background-size: 23%;
	background-position: right 50px;
	background-repeat: no-repeat;
}

/* タイトル
----------------------------------------------*/
/* square_title */
.square_title{
	display: flex;
	align-items: flex-end;
	line-height: 1;
	letter-spacing: 0.15em;
}
.square_title::before{
	content: '';
	width: 11px;
	aspect-ratio: 1 / 1;
	background-color: #cc4640;
	flex-shrink: 0;
	margin-right: 10px;
}

/* wave_title */
.wave_title > *{
	width: fit-content;
	margin: 0 auto;
}
.wave_title h3::after{
	content: '';
	width: 100%;
	height: 10px;
	background: url("../images/wave_title.webp") repeat-x center / 25px 10px;
	display: block;
	margin: 15px 0 10px;
}

/* bl_title */
.bl_title{
	position: relative;
	padding-left: 43px;
}
.bl_title::before{
	content: '';
	width: 33px;
	height: 1px;
	background-color: #cc4640;
	position: absolute;
	top: 0.9em;
	left: 0;
}

/* bgr_title */
.bgr_title{
	width: 240px;
	background-color: #cc4640;
	padding: 15px 0 18px;
	border-radius: 80px;
}

/* bdr_title */
.bdr_title{
	border-top: 1px #cc4640 dashed;
	border-bottom: 1px #cc4640 dashed;
	padding: 30px 0;
}

/* リスト
----------------------------------------------*/
.list_y > li{
	position: relative;
	padding-left: 18px;
}
.list_y > li::before{
	content: '';
	width: 9px;
	aspect-ratio: 1 / 1;
	background-color: #ffc83e;
	border-radius: 50%;
	position: absolute;
	top: 0.4em;
	left: 0;
}

/* bgb_c1_box、bgb_c2_box、bgw_c2_box
----------------------------------------------*/
.bgb_c1_box,.bgb_c2_box > *,.bgw_c2_box > *{
	border-radius: 30px;
	padding: 25px 30px 60px;
}
.bgb_c1_box,.bgb_c2_box > *{background-color: #f4f4ef;}
.bgw_c2_box > *{background-color: #fff;}
.bgb_c1_box .bg_title,.bgb_c2_box .bg_title,.bgw_c2_box .bg_title{
	line-height: 1.5;
	border-radius: 20px;
	padding: 30px 0;
}
.bgb_c1_box .bg_title,.bgb_c2_box .bg_title{background-color: #fff;}
.bgw_c2_box .bg_title{background-color: #f4f4ef;}
.bgb_c1_box .bg_title{margin-bottom: 40px;}
.bgb_c2_box .bg_title,.bgw_c2_box .bg_title{margin-bottom: 25px;}

/* bgb_bl_li
----------------------------------------------*/
.bgb_bl_li.c2 > li,.bgw_bl_li.c2 > li{
	border-radius: 30px;
	padding: 50px 0 60px;
}
.bgb_bl_li.c3 > li,.bgw_bl_li.c3 > li{
	border-radius: 20px;
	padding: 40px 0 60px;
}
.bgb_bl_li > li{background-color: #f4f4ef;}
.bgw_bl_li > li{background-color: #fff;}
.bgb_bl_li > li > span,.bgw_bl_li > li > span{
	display: flex;
	align-items: center;
	margin-bottom: 15px;
}
.bgb_bl_li.c3 > li > span,.bgw_bl_li.c3 > li > span{margin-bottom: 10px;}
.bgb_bl_li > li > span::before,.bgw_bl_li > li > span::before{
	content: '';
	height: 1px;
	background-color: #cc4640;
	margin-right: 10px;
}
.bgb_bl_li.c2 > li > span::before,.bgw_bl_li.c2 > li > span::before{width: 30px;}
.bgb_bl_li.c3 > li > span::before,.bgw_bl_li.c3 > li > span::before{width: 20px;}
.bgb_bl_li.c2 > li > div,.bgw_bl_li.c2 > li > div{padding: 0 40px;}
.bgb_bl_li.c3 > li > div,.bgw_bl_li.c3 > li > div{padding: 0 30px;}
.bgb_bl_li.c2 > li:not(:nth-last-child(-n+2)),.bgw_bl_li.c2 > li:not(:nth-last-child(-n+2)){margin-bottom: 50px;}
.bgb_bl_li h3,.bgb_bl_li h4,.bgw_bl_li h3,.bgw_bl_li h4{line-height: 1.7;}

/* bdd_li_box
----------------------------------------------*/
.bdd_li_box > li{
	border-bottom: 1px #474240 dashed;
	padding: 70px 0 80px;
}
.bdd_li_box > li:first-child{border-top: 1px #474240 dashed;}
.bdd_li_box > li h3{
	display: flex;
	align-items: center;
}
.bdd_li_box > li h3::before{
	content: '';
	width: 5px;
	height: 50px;
	background-color: #cc4640;
	margin-right: 15px;
}

/* 1025px以下から
------------------------------------------------------------*/
@media only screen and (max-width:1025px){
	
	/* メインエリア
	--------------------------------------*/
	#pankuzu{margin-bottom: 25px;}
	#pankuzu *{font-size: 12px;}
	#pankuzu li a::after{margin: 0 5px;}
	#inner_title{padding: 10px 10px 70px;}
	.page_title p{
		font-size: 45px;
		margin-bottom: 8px;
	}
	.page_title h2{font-size: 18px;}
	
	/* ページ内リンク
	--------------------------------------*/
	.w720{max-width: 550px;}
	.page_btn.c3 > li:not(:nth-last-child(-n+3)){margin-bottom: 10px;}
	.flex_start.page_btn.c3 > li{margin: 0.6%;}
	.page_btn a{
		font-size: 14px;
		background-size: 35px;
		padding: 17px 50px 17px 20px;
		border-radius: 8px;
	}
	
	/* コンテンツ
	--------------------------------------*/
	.r_btm_wave::before{width: 500px;}
	
	/* タイトル
	-------------------------------*/
	/* square_title */
	.square_title{letter-spacing: 0.15em;}
	.square_title::before{
		width: 8px;
		margin-right: 8px;
	}
	
	/* wave_title */
	.wave_title h3::after{
		height: 8px;
		background-size: 18px 8px;
		margin: 10px 0 10px;
	}
	
	/* bl_title */
	.bl_title{padding-left: 30px;}
	.bl_title::before{
		width: 20px;
		top: 0.9em;
	}
	
	/* bgr_title */
	.bgr_title{
		width: 200px;
		padding: 5px 0 9px;
	}
	.bgr_title.mb20{margin-bottom: 13px!important;}
	
	/* bdr_title */
	.bdr_title{padding: 20px 0;}

	/* リスト
	-------------------------------*/
	.list_y > li{padding-left: 13px;}
	.list_y > li::before{width: 6px;}

	/* bgb_c1_box、bgb_c2_box
	-------------------------------*/
	.bgb_c1_box,.bgb_c2_box > *,.bgw_c2_box > *{
		border-radius: 20px;
		padding: 15px 15px 40px;
	}
	.bgb_c1_box > *,.bgb_c2_box > * > *,.bgw_c2_box > * > *{padding: 0 5px;}
	.bgb_c1_box .bg_title,.bgb_c2_box .bg_title,.bgw_c2_box .bg_title{
		border-radius: 10px;
		padding: 20px 0;
	}
	.bgb_c1_box .bg_title{margin-bottom: 25px;}
	.bgb_c2_box .bg_title,.bgw_c2_box .bg_title{margin-bottom: 20px;}
	
	/* bgb_bl_li
	-------------------------------*/
	.bgb_bl_li.c2 > li,.bgw_bl_li.c2 > li{
		border-radius: 20px;
		padding: 35px 0 40px;
	}
	.bgb_bl_li > li > span{
		font-size: 12px;
		margin-bottom: 10px;
	}
	.bgb_bl_li.c2 > li > span::before,.bgb_bl_li.c3 > li > span::before,.bgw_bl_li.c2 > li > span::before,.bgw_bl_li.c3 > li > span::before{
		width: 15px;
		margin-right: 5px;
	}
	.bgb_bl_li.c2 > li > div,.bgb_bl_li.c3 > li > div,.bgw_bl_li.c2 > li > div,.bgw_bl_li.c3 > li > div{padding: 0 20px;}
	.bgb_bl_li.c2 > li h4.mb20{margin-bottom: 15px!important;}
	.bgb_bl_li.c2 > li:not(:nth-last-child(-n+2)),.bgw_bl_li.c2 > li:not(:nth-last-child(-n+2)){margin-bottom: 40px;}
	
	/* bdd_li_box
	-------------------------------*/
	.bdd_li_box > li{padding: 50px 0;}
	.bdd_li_box > li h3::before{
		width: 4px;
		height: 35px;
	}


}

/* 750px以下から
------------------------------------------------------------*/
@media only screen and (max-width:750px){
	
	/* メインエリア
	--------------------------------------*/
	#pankuzu{margin-bottom: 20px;}
	.page_title p{
		font-size: 35px;
		letter-spacing: 0;
	}
	
	/* ページ内リンク
	--------------------------------------*/
	.page_btn{
		max-width: 400px;
		width: 100%;
		margin: 0 auto;
	}
	.page_btn > li{width: 100%!important;}
	.page_btn > li:not(:last-child){margin-bottom: 10px!important;}
	.page_btn a{background-position: 97% center;}
	
	/* コンテンツ
	--------------------------------------*/
	.r_btm_wave::before{width: 250px;}
	
	/* bg_illust
	-------------------------------*/
	.bg_illust{background: none!important;}
	
	/* bgb_c1_box、bgb_c2_box
	-------------------------------*/
	.bgb_c1_box .bg_title{margin-bottom: 20px;}
	.bgb_c1_box .c2 > ul:not(:last-child){margin-bottom: 15px;}
	.bgb_c1_box .bg_title,.bgb_c2_box .bg_title,.bgw_c2_box .bg_title{padding: 15px 0;}
	.bgb_bl_li.c2 > li:not(:last-child),.bgw_bl_li.c2 > li:not(:last-child){margin-bottom: 30px;}
	
}