@charset "utf-8";
.comfort_section {
		padding-left: 0;
}
.comfort_hdr_inner {
		display: flex;
		align-items: center;
}
.comfort_hdr_inner .bg .bg_figure {
		width: 50vw;
}
.comfort_hdr_inner .bg .bg_figure img {
		width: 100%;
		height: auto;
}
.bg_figure div {
		margin-bottom: 20px;
}
.comfort_caption {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		flex: 1
}
.comfort_caption div {
		width: 67%;
}
.comfort_catch {
		width: 384px;
		margin-bottom: 90px;
		position: relative;
}
.comfort_catch img {
		width: 100%;
		height: auto
}
.comfort_caption p {
		font-size: 35px;
		font-weight: 500;
		line-height: 2;
		letter-spacing: 0.2em
}
@media(min-width: 1440px) {
		.comfort_catch {
				width: 60%;
				margin-bottom: 5vw;
		}
		.comfort_caption p {
				font-size: 1.8vw;
		}
}
/* ========== */
.comfort_block_flex, .comfort_test_flex, .comfort_notes_flex, .comfort_comment {
		max-width: 850px;
		padding: 0 30px;
		margin-left: auto;
		margin-right: auto;
}
@media(max-width: 767px) {
		.comfort_block_flex, .comfort_test_flex, .comfort_notes_flex, .comfort_comment {
				padding: 0 6vw
		}
}
.comfort_block_flex {
		display: flex;
		align-items: center;
		margin-bottom: 200px;
		padding-top: 130px;
}
.comfort_block_figure {
		width: 315px;
		margin-right: 60px;
}
.comfort_block_figure img {
		width: 100%;
		height: auto
}
.comfort_block_caption {
		flex: 1
}
.comfort_block_caption p {
		font-size: 18px;
		line-height: 2.2;
		margin: 0 0 40px;
}
.comfort_mark_flex {
		display: flex;
		justify-content: space-between;
		width: 460px;
		list-style: none;
		margin: 0 0 40px
}
.comfort_mark_flex li {
		width: 140px;
		border: 1px solid #000;
		border-radius: 50%;
}
.comfort_mark_flex li img {
		width: 100%;
		height: auto;
}
.notes_gr_flex {
		display: flex;
		flex-wrap: wrap;
}
.comfort_test_flex {
		margin-bottom: 40px;
		display: flex;
		align-items: center;
}
.comfort_test_caption {
		flex: 1
}
.comfort_test_hd_wrap {
		display: flex;
		margin: 0 0 40px;
}
.comfort_test_hd {
		border: 1px solid #000;
		border-radius: 60px;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 150px;
		height: 60px;
		box-sizing: border-box;
}
.comfort_test_hd h3 {
		font-size: 28px;
		font-weight: 500;
}
.comfort_test_figure {
		width: 463px;
}
.comfort_test_figure img {
		width: 100%;
		height: auto;
}
.comfort_notes_flex {
		margin-bottom: 100px;
		display: flex;
		align-items: center;
}
.comfort_comment {
		padding: 0 20px;
}
.comfort_comment_in {
		border-radius: 20px;
		padding: 50px 60px;
		display: flex;
		align-items: center;
		border: 1px solid #000;
}
.comfort_comment_caption {
		flex: 1
}
.comfort_comment_caption p {
		font-size: 18px;
		line-height: 2.2;
}
.comfort_comment_figure {
		margin-left: 60px;
}
.comfort_comment_figure .thumb {
		width: 162px;
		margin: 0 auto 10px;
}
.comfort_comment_figure .thumb img {
		border-radius: 50%;
		width: 100%;
		height: auto;
}
.comfort_comment_figure p {
		line-height: 1.6;
		font-size: 14px;
}
@media(max-width: 1024px) {
		.comfort_section {
				padding-top: 100px;
		}
		.comfort_inner, .comfort_hdr_inner, .comfort_hdr_inner .bg::before, .comfort_caption {
				height: auto
		}
		.comfort_hdr_inner {
				margin-bottom: 100px;
		}
		.comfort_caption {
				width: 45vw;
				display: flex;
				justify-content: center;
				align-items: center;
				left: 0;
		}
		.comfort_catch {
				width: 300px;
				margin-bottom: 70px;
		}
		.comfort_caption p {
				font-size: 28px;
				line-height: 2;
				letter-spacing: 0.2em;
		}
		.comfort_block_flex {
				display: flex;
				align-items: center;
				margin-bottom: 100px;
				padding-top: 0;
		}
		.comfort_block_figure {
				width: 280px;
				margin-right: 20px;
		}
		.comfort_mark_flex {
				width: 330px;
				margin: 0 0 40px
		}
		.comfort_mark_flex li {
				width: 100px;
		}
		.comfort_test_figure {
				width: 420px;
		}
		.comfort_block_flex, .comfort_test_flex, .comfort_notes_flex, .comfort_comment {
				max-width: 720px;
		}
		.comfort_comment_in {
				padding: 20px 30px;
		}
		.comfort_comment_caption p {
				font-size: 16px;
				line-height: 2;
		}
		.comfort_comment_figure {
				margin-left: 30px;
		}
		.bg_figure div {
				margin-bottom: 15px;
		}
}
@media(max-width: 767px) {
		.comfort_inner, .comfort_hdr_inner, .comfort_hdr_inner .bg::before, .comfort_caption {
				height: auto;
		}
		.comfort_hdr_inner {
				display: block;
				margin-bottom: 50px;
		}
		.comfort_caption {
				width: 100%;
				display: block;
				box-sizing: border-box;
				padding-left: 16vw;
				margin-bottom: 60px;
		}
		.comfort_catch {
				width: 43.6vw;
				width: 177px;
				margin: 0 0 60px
		}
		.comfort_caption p {
				font-size: 20px;
				line-height: 1.6;
				letter-spacing: 0.1em;
		}
		.comfort_catch img {
				width: 100%;
				height: auto
		}
		.comfort_hdr_inner .bg .bg_figure {
				position: static;
				width: 100%;
				height: auto;
		}
		.comfort_block_flex {
				display: flex;
				flex-direction: column;
				align-items: flex-start;
		}
		.comfort_block_caption {
				display: contents;
		}
		.comfort_test_caption .section_catch {
				margin-bottom: 35px;
		}
		.comfort_block_caption p {
				font-size: 16px;
				margin: 0
		}
		.comfort_caption-1 {
				order: 1;
				margin: 0 0 15px;
		}
		.comfort_block_figure {
				order: 2;
				width: 70%;
				margin: 25px auto 40px;
		}
		.comfort_mark_flex {
				order: 3;
				width: 95%;
				margin: 0 auto 25px
		}
		.comfort_mark_flex li {
				width: calc(calc(100% - 20px) / 3);
		}
		.comfort_block_caption .notes_gr {
				order: 4;
				width: 95%;
				margin: 0 auto
		}
		.comfort_test_hd_wrap {
				margin: 0 0 20px;
		}
		.comfort_test_hd {
				width: 75px;
				height: 30px;
		}
		.comfort_test_hd h3 {
				font-size: 18px;
		}
		.comfort_test_hd h3 span {
				transform: translateY(-1px)
		}
		.comfort_test_flex {
				display: block;
		}
		.comfort_test_figure {
				width: 100%;
		}
		.comfort_notes_flex {
				display: block;
				margin-bottom: 50px;
		}
		.comfort_comment {
				padding: 0 25px;
		}
		.comfort_comment_in {
				border-radius: 16px;
				padding: 20px;
				display: block
		}
		.comfort_comment_caption {
				flex: initial
		}
		.comfort_comment_caption p {
				font-size: 15px;
				line-height: 2.0;
				text-align: justify;
		}
		.comfort_comment_figure {
				display: flex;
				align-items: center;
				margin: 20px 0 0;
		}
		.comfort_comment_figure .thumb {
				width: 90px;
				margin: 0 15px 0 0;
		}
		.comfort_comment_figure p {
				font-size: 12px;
				flex: 1
		}
}