:root {
	--cl-themegreen-gr1: #9DCC96;
	--cl-themegreen-gr2: #5CA580;
	--cl-themepink-p1: #FAEFEF;
	--cl-themepink-p2: #D87067;
	--cl-themepink-p3: #FDF9F9;
	--cl-themegrey:	#EFEFEF;
	--kk-bindwrap-width: 1120px;
}

/*main img----------------------------*/
.kurashi-kaiketsu-bg {
	background: url("/common/img/kurashi-kaiketsu-bg.jpg") no-repeat center center;
	background-size: cover;
}
@media screen and (max-width: 640px) {
	.kurashi-kaiketsu-bg {
		background: url("/common/img/kurashi-kaiketsu-bg-sp.jpg") no-repeat center center;
		background-size: cover;
	}
}

/*kurashi-kaiketsu-area --basic setting----------------------------*/
.w1120 {
	max-width: var(--kk-bindwrap-width);
	width: 100%;
	margin: 0 auto 100px;
}
.kurashi-kaiketsu-area h2 {
	text-align: center;
	font-weight: normal;
	line-height: 200%;
	font-size: 120%;
	width: 100%;
	margin: 0 auto;
}
.kk_flexbox {
	display: flex;
	flex-wrap: wrap;
}
@media screen and (max-width: 1024px) {
	.w1120 {
		width: 90%;
		margin-bottom: 60px;
	}
	.kurashi-kaiketsu-area h2 {
		font-size: 110%;
	}
}
@media screen and (min-width: 640px) {
	.only-smp {
		display: none;
	}	
	.kk_flexbox_pc {
		display: flex;
		flex-wrap: wrap;
	}
}
@media screen and (max-width: 640px) {
	.only-wide {
		display: none;
	}
	.kk_flexbox_smp {
		display: flex;
		flex-wrap: wrap;
	}
}

/*about----------------------------*/
.kk_textbox {
	margin: 10px auto 80px;
}
	.kk_textbox > li {
		background-color: var(--cl-themegreen-gr1);
		padding: 0.5em;
		width: 12em;
		border-radius: 4px;
		color: #FFFFFF;
		font-weight: bold;
		text-align: center;
		list-style: none;
	}
@media screen and (min-width: 641px) {
	.kk_textbox {
		justify-content: center;
	}
		.kk_textbox li {
			margin: 25px 12.5px 0 12.5px;
		}
}
@media screen and (max-width: 640px) {
	.kk_textbox {
		margin: 25px auto 50px;
	}
		.kk_textbox > li {
			width: 12em;
			margin: 0 auto 0;
		}
			.kk_textbox > li:not(:last-child) {
				margin-bottom: 1em;
			}
}

/*banner 01----------------------------*/
.banner {
	width: 100%;
	margin: 0 auto 100px;
	text-align: center;
}
.banner_01 {
	background-color: var(--cl-themepink-p3);
	padding: 2em 0 1em;
}
	.banner_01 > p {
		font-size: 1.4em;
		font-weight: bold;
		color: var(--cl-themepink-p2);
		margin-bottom: 1.5em;
	}
		.banner_01 > p::before,
        .banner_01 > p::after {
            display: inline-block;
            transform: scale(0.7);
            transform-origin: center;
            vertical-align: middle;
        }
		.banner_01 > p::before {
			content: url("/common/img/kk_line_red_left.svg");
			margin-right: 0.15em;
		}
		.banner_01 > p::after{
			content: url("/common/img/kk_line_red_right.svg");
			margin-left: 0.15em;
		}
	.banner_01 > picture {
		width: 100%;
	}
		.banner_01 > picture img {
			width: 100%;
			height: 25em;
			object-fit: contain;
		}
@media screen and (max-width: 640px) {
	.banner {
		margin: 0 auto 60px;
	}
		.banner_01 > p {
			font-size: 1.1em;
			margin-bottom: 0.5em;
		}
		.banner_01 > picture img {
			height: 17em;
		}
}

/*support*/
.sup_title {
	text-align: center;
	justify-content: center;
	font-weight: bold;
	margin-bottom: 3em;
}
	.sup_num {
		display: inline-block;
		width: 1.2em;
		height: 1.2em;
		font-size: 1.4em;
		color: #FFFFFF;
		padding: 0.3em;
		border-radius: 100%;
		background-color: #C9C9C9;
		margin-bottom: 0.4em;
		font-family: 'Noto Sans JP', sans-serif;
		line-height: 1.1em;
		font-weight: 500;
	}
	.sup_tit {
		font-size: 1.4em;
		color: var(--cl-themegreen-gr2);
	}
		.sup_tit::before,
        .sup_tit::after {
            display: inline-block;
            transform: scale(0.7);
            transform-origin: center;
            vertical-align: middle;
        }
		.sup_tit::before {
			content: url("/common/img/line_left.svg");
			margin-right: 0.15em;
		}
		.sup_tit::after {
			content: url("/common/img/line_right.svg");
			margin-left: 0.15em;
		}
	.sup_tit_sub {
		margin-top: 0.5em;
	}

	/*support 1*/
	.sup_1 > ul > li {
		list-style: none;
		margin-bottom: 40px;
	}
		.sup_1 > ul > li > img {
			margin: 0 auto;
		}
		.sup_1 > ul > li > .sup_1_content {
			width: 100%;
			margin-top: 1.5em;
		}
			.sup_1_content > dl > dt {
				font-weight: bold;
				color: var(--cl-themegreen-gr2);
				font-size: 1.2em;
				margin-bottom: 0.5em;
			}
			.sup_1_content > dl > dd {
				text-align: justify;
				font-size: 1.06em;
			}
				.sup_1_content_tit  {
					font-weight: bold;
					color: var(--cl-themepink-p2);
					font-size: 1.35em;
					margin-bottom: 0.5em;
					text-align: center;
				}

	/*support 2 + 3*/
	.p_sankaku {
		font-size: 1.06em;
	}
	.p_sankaku::before {
		content: url("/common/img/sankaku_red.svg");
		width: 15px;
		margin-right: 1em;
	}
	.sup_point_1 {
		margin: 0 auto;
		text-align: center;
	}
	.free_tel {
		font-size: 1.45em;
		line-height: 1.7em;
		margin-bottom: 0.7em;
		margin-top: 0.7em;
	}
		.kk_p_pink {
			color: var(--cl-themepink-p2);
		}
		.kk_p_small {
			font-size: 0.75em;
			line-height: 1.7em;
			margin: 0.5em auto 1em;
		}
		.kk_p_strong {
			font-weight: bold;
		}

/*soudan data*/
.soudan_data {
	text-align: center;
	margin: 0 auto 100px;
}
	.soudan_data > p {
		display: inline-block;
		position: relative;
		background-color: var(--cl-themepink-p2);
		border-radius: 30px;
		font-weight: bold;
		color: #FFFFFF;
		font-size: 1.25em;		
	}
	.data_chart {
		margin-top: -1.5em;
		background-color: var(--cl-themepink-p3);
	}
		.data_chart > .p_sankaku {
			text-align: justify;
			margin: 1.2em auto 0;	
		}

/*soudan banner*/
.soudan_banner {
	background: url("/common/img/kk_banner_02.jpg") no-repeat;
	padding: 5em 0;
	background-position: center;
	background-size: cover;
}
	.soudan_lv1 {
		font-size: 1.6em;
		font-weight: bold;
	}
	.soudan_lv2 {
		font-size: 1.6em;
		font-weight: bold;
		color: var(--cl-themegreen-gr2);
	}
	.soudan_lv3 {
		font-size: 2.4em;
		font-weight: bold;
		margin-top: 0.5em;
	}
@media screen and (min-width: 641px) {
	.sup_1 {
		margin-bottom: 60px;
	}
		.sup_1 > ul {
			margin: 40px -20px 0;
		}
			.sup_1 > ul > li {
				width: calc(50% - 40px);
				padding: 0 20px;
				margin-bottom: 40px;
			}
				.sup_1 > ul > li > img {
					margin: 0 auto;
					width: 100%;
				}
				.sup_1 > ul > li > .sup_1_content {
					width: 100%;
					margin-top: 1.5em;
				}
					.sup_1_content > dl {
						width: calc(100% - 8.7em);
						padding-left: 2em;
					}
					.sup_1_content > picture img {
						width: 6.7em;
					}
	.sup_point_1 {
		width: 80%;
	}
	.sup_2,
	.sup_3 {
		width: 80%;
		margin: 0 auto 60px;
	}
		.sup_2 > .kk_flexbox_pc > img,
		.sup_3 > .kk_flexbox_pc > img {
			width: 35%;
			object-fit: contain;
			object-position: top;
		}
		.sup_2 > .kk_flexbox_pc > div,
		.sup_3 > .kk_flexbox_pc > div {
			width: calc(65% - 3em);
			padding-left: 3em;
		}
	.p_sankaku {
		text-indent: -1.6em;
	}
	.soudan_data {
		max-width: var(--kk-bindwrap-width);
	}
		.soudan_data > p {
			padding: 0.65em;
			width: 55%;
			letter-spacing: 0.1em;
		}
		.data_chart {
			padding: 54px;
		}
			.data_chart > .p_sankaku {
				width: 55%;
			}
			.data_chart > div > img {
				width: 50%;
				object-fit: contain;
			}
}
@media screen and (max-width: 640px) {
	.sup_title {
		margin-bottom: 2em;
	}
		.sup_tit {
			font-size: 1.2em;
			margin: 0 -5%;
		}
			.sup_tit::before,
	        .sup_tit::after {
	            display: inline-block;
	            transform: scale(0.7);
				transform-origin: center;
	            vertical-align: middle;
	        }
			.sup_tit::before {
				content: url("/common/img/line_left.svg");
				margin-right: 0.15em;
			}
			.sup_tit::after {
				content: url("/common/img/line_right.svg");
				margin-left: 0.15em;
			}
		.sup_tit_sub {
			margin-top: 0.5em;
		}
	.sup_1,
	.sup_2,
	.sup_3 {
		margin-bottom: 30px;
	}
		.sup_1 > ul > li {
			list-style: none;
			margin-bottom: 40px;
			width: 100%;
		}
			.sup_1 > ul > li > img {
				margin: 0 auto;
				width: 100%;
			}
			.sup_1 > ul > li > .sup_1_content {
				width: 100%;
				margin-top: 1.5em;
			}	
				.sup_1_content > .sup_1_content_tit {
					font-size: 1.2em;
				}
				.sup_1_content > dl {
					width: 90%;
					margin: 0 auto;
				}
					.sup_1_content > dl > dt {
						text-align: center;
						font-size: 1.06em;
					}
				.sup_1_content > picture img {
					width: 5em;
					margin: 0 calc(50% - 2.5em) 7px;
				}
		.free_tel {
			font-size: 1.2em;
			line-height: 1.7em;
			margin-bottom: 1.5em;
		}
			.sup_point_1 .kk_p_small {
				text-align: justify;
				width: 90%;
			}
	.sup_2 > .kk_flexbox_pc > img,
	.sup_3 > .kk_flexbox_pc > img{
		width: 100%;
		height: 200px;
		object-fit: cover;
	}
	.sup_2 > .kk_flexbox_pc > div,
	.sup_3 > .kk_flexbox_pc > div {
		width: 100%;
		margin-top: 1em;
	}
	.soudan_data > p {
		padding: 0.5em 1.5em;
		font-size: 1.1em;
		letter-spacing: 0.1em;
	}
	.data_chart {
		padding: 54px 10px 30px;
	}
		.data_chart > .p_sankaku {
			margin-top: 0;
			width: 88%
		}
		.data_chart > div > img {
			width: 100%;
		}
	.soudan_banner {
		background: url("/common/img/kk_banner_02_sp.jpg") no-repeat;
		padding: 4.5em 0;
		background-size: contain;
		background-position: center right;
		font-size: 2.8vw;
	}
		.soudan_lv3 {
			margin-top: 0.1em;
		}
}

/*flow---------------------------*/
.kk_flow {
	margin: 0 auto 100px;
	text-align: center;
}
	.kk_step {
		background-color: var(--cl-themegrey);
		border-radius: 5px;
	}
		.kk_step > div {
			display: inline-block;
			overflow: hidden;
			background-color: #FFFFFF;
			border-radius: 5px;
		}
			.kk_step > div > img {
				width: 100%;
				height: 100%;
				object-fit: contain;
			}
		.kk_step > dl {
			text-align: left;
		}
			.kk_step > dl > dt {
				font-weight: bold;
				text-align: left;
				font-size: 1.06em;
			}
			.kk_step > dl > dd {
				font-size: 1.06em;
			}
@media screen and (min-width: 640px) {
	.kk_flow {
		width: 24em;
	}	
		.kk_step {
			padding: 1.25em;
		}
			.kk_step > div {
				width: 6em;
			}
			.kk_step > dl {
				width: calc(100% - 7.5em);
				padding-left: 1.5em;
			}
				.kk_step > dl > dt {
					margin-bottom: 0.5em;
					font-size: 1.25em;
				}
		.kk_flow > img {
			margin: 1em auto 0.5em;
		}
}
@media screen and (max-width: 641px) {
	.kk_flow {
		margin: 0 auto 60px;
	}
		.kk_step {
			padding: 1em;
		}
			.kk_step > div {
				width: 5.5em;
			}
			.kk_step > dl {
				width: calc(100% - 6.5em);
				padding-left: 1em;
			}
				.kk_step > dl > dt {
					margin-bottom: 0;
					font-size: 0.8em;
				}
		.kk_flow > img {
			margin: 0.7em auto 0.05em;
			transform: scale(0.7);
			}
}

/*faq---------------------------*/
dl.qa dt,
dl.qa dt:first-letter {
	color: var(--cl-themegreen-gr2);
}
dl.qa dd:first-letter {
	color: var(--cl-themepink-p2);
}
