@charset "utf-8";
/*===================================================================
    tarumi
===================================================================*/
.tarumi-page {
	background: #000 url(../images/common/page-ttl-02-pc.jpg) no-repeat;
	background-position: center;
	background-size: cover;
}
.tarumi-text-list {
	margin-bottom: 40px;
}
.reverse {
	flex-direction: row-reverse
}
.point-wrap .tarumi-img-wrap {
	width: 35%;
}
.tarumi-img-top {
	width: 60%;
	margin: 0 auto;
}
.point-text-wrap {
	width: 65%;
	padding: 0 40px 0 0;
}
.reverse .point-text-wrap {
	padding: 0 0 0 40px !important;
}
.point-wrap {
	padding: 80px;
}
.point-wrap h3.contents-ttl-03 {
	padding-left: 0 !important;
}
.point-wrap h3.contents-ttl-03:after {
	display: none;
}
.point-wrap h3.contents-ttl-03:after {
	display: none;
}
.point-ttl {
	font-size: 3.4rem !important;
}
.point dt, .price-dl dt {
	font-size: 2.4rem;
	margin-bottom: 24px;
	border-bottom: 2px solid #000;
}
.price-dl {
	margin-bottom: 80px;
}
.price-dl:last-child {
	margin-bottom: 0;
}
.contents-wrap-free .point:last-child {
/*margin-bottom: 100px;*/
}
/* 追加分 next-pro */
.parts-flex-area {
	flex-flow: row-reverse;
}
.parts-flex-area p {
	width: 100%;
}
.parts-flex-area img {
	width: 240px;
}
.contents-ttl-04 span {
	background: #f3f1eb;
	color: #000;
	padding: 8px 16px;
	width: 600px;
	display: block;
	margin: 0 auto;
}
.qa-list {
	padding-top: 44px;
	border-top: 1px solid #000;
}
.qa-list dt, .qa-list dd {
	position: relative;
	padding: 0 10px 0 40px;
}
.qa-list dt {
	margin-bottom: 24px;
	font-size: 2rem;
	font-weight: bold;
}
.qa-list dt:after {
	content: "Q";
	position: absolute;
	top: 3px;
	left: 0;
	width: 25px;
	height: 25px;
	text-align: center;
	line-height: 25px;
	background: #000;
	color: #fff;
	font-size: 1.6rem;
	font-weight: normal;
	border-radius: 25px
}
.qa-list dd {
	padding-bottom: 44px;
	margin-bottom: 44px;
	color: #524b36;
	border-bottom: 1px solid #000;
}
.qa-list dd:after {
	content: "A";
	position: absolute;
	top: 0;
	left: 0;
	width: 25px;
	height: 25px;
	text-align: center;
	line-height: 25px;
	background: #a99c77;
	color: #fff;
	border-radius: 25px;
}
.dd-after-none:after {
	display: none;
}
.border-none {
	border-bottom: 0 !important;
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}
.dd-after-none {
	padding-left: 0 !important;
	padding-right: 0 !important;
	border-bottom: 1px solid #000;
}
.qa-btn {
	width: 250px;
	padding-top: 32px;
	margin: 0 auto;
}
.qa-cv-area {
	padding-top: 24px;
}
.attention-wrap {
	width: 50%;
	padding: 2%;
	text-align: center;
	box-sizing: border-box;
}
.attention-ttl {
	background: #a9a392;
	padding: 8px 0;
	color: #fff;
	font-size: 1.8rem;
	margin-bottom: 16px;
	font-weight: bold;
}
.attention-wrap p {
	text-align: left;
	padding: 0 8px;
}
.parts-area:first-child {
	margin-right: 20px !important;
}
.flex-center {
	justify-content: center;
}
.attention p {
	display: inline-block;
	padding: 8px 16px;
}
.table-top-ttl {
	font-size: 2rem;
	text-align: center !important;
	border-bottom: 1px solid #fff !important;
}
th.table-top-ttl.border-ttl {
	border-bottom: 1px solid #e8e8e8 !important;
}
.tarumi-img {
	width: 70%;
	margin: 0 auto;
}
.all-body-img {
	margin-bottom: 24px;
}
.price-top-img-area {
	align-items: flex-end;
}
.price-top-table {
	margin-bottom: 0 !important;
}
.price-list-wrap {
	margin-bottom: 60px;
}
.price-list-wrap:last-child {
	margin-bottom: 0;
}
.price-list {
	width: 32%;
	margin: 0 2% 60px 0;
}
.price-list:last-child {
	margin: 0 0 60px 0;
}
.price-list h3.contents-ttl-03, .parts-area h3.contents-ttl-03 {
	font-size: 2.4rem;
	padding-left: 0;
	margin-bottom: 0;
	font-weight: bold;
	position: relative;
	color: #bfac8f;
	text-align: center;
}
.parts-area h3.contents-ttl-03 {
	margin-bottom: 16px;
}
.price-list h3.contents-ttl-03:after, .parts-area h3.contents-ttl-03:after {
	display: none;
}
.sub-text {
	display: block;
	text-align: center;
	color: #bfac8f;
	margin-bottom: 16px;
}
.parts-price-table th {
	background: #f1ede7;
	padding: 16px 24px;
	word-break: keep-all;
	vertical-align: middle;
	border-bottom: 4px solid #fff;
}
.parts-price-table td {
	width: 100%;
	background: #f7f7f7;
	padding: 16px;
	border-bottom: 4px solid #fff;
}
.parts-price-table td span {
	display: block;
	font-size: 1.2rem;
	color: #000;
}
.price-list .tarumi-img {
	margin: 24px auto 40px;
}
.list {
	flex-wrap: wrap;
}
.list li {
	font-size: 1.2rem;
	width: 48%;
	margin: 0 1% 8px;
	padding: 8px 4px;
	text-align: center;
	color: #fff;
	background: #9e9587;
}
.adaptation-ttl {
	margin-top: 40px;
}
.risk-table {
	margin-bottom: 0 !important;
}
.price-table {
	margin-bottom: 40px !important;
}
.component-ttl {
	font-size: 1.8rem;
	padding: 16px;
	border-bottom:1px solid #000;
}
.component-list-dl {
	padding-bottom: 16px;
}
.component-list-dl dt,
.component-list-dl dd {
	width: 50%;
	padding: 8px 16px 4px 16px;
}
.parts-list li {
	width: 50%;
	padding: 8px 16px 4px 16px;
}
/* ==========================================================================
   sp 768px
   ========================================================================== */
@media (max-width: 768px) {
.point-wrap {
	padding: 80px 10px;
}
.attention {
	padding: 0 20px;
}
}

/* ==========================================================================
   sp 767px
   ========================================================================== */
@media (max-width: 767px) {
.tarumi-img-top {
	width: 100%;
	margin: 0 auto;
}
.reverse .point-text-wrap {
	padding: 0 !important;
}
.tarumi-img-wrap {
	width: 80%;
	margin: 0 auto;
}
.tarumi-img {
	width: 80%;
	margin: 0 auto;
}
.contents-wrap-free .point {
	margin-bottom: 40px;
}
.price-list-wrap {
	display: block;
}
.price-list {
	width: 100%;
	margin: 0 0 60px 0;
}
.contents-ttl-04 span {
	display: block;
	width: 100%;
}
.attention-flex-area {
	display: block;
}
.attention-wrap {
	width: 100%;
	padding: 0;
}
.parts-list li {
	width: 100%;
}
}

/* ==========================================================================
   sp 640px
   ========================================================================== */
@media (max-width: 640px) {
.page-link {
	justify-content: normal !important;
}
}
/* ==========================================================================
   sp 550px
   ========================================================================== */
@media (max-width: 550px) {
.sp-550 {
	display: block;
}
}

/* ==========================================================================
   sp 450px
   ========================================================================== */
@media (max-width: 450px) {
.page-title-text {
	font-size: 7rem !important;
}
}

/* ==========================================================================
   sp 414px
   ========================================================================== */
@media (max-width: 414px) {
.table-top-ttl {
	font-size: 1.6rem;
}
.page-title-text {
	font-size: 5rem;
}
}

/* ==========================================================================
   sp 375px
   ========================================================================== */
@media (max-width: 375px) {
.page-title-text {
	font-size: 6rem !important;
}
}


/* ==========================================================================
   sp 320px
   ========================================================================== */
@media (max-width: 320px) {
.page-title-text {
	font-size: 5rem !important;
}
}
