*{box-sizing:border-box}html{font-size:62.5%}body{margin:0;color:#403e38;background:#fff;line-height:1.9}.wrap{width:min(1120px,calc(100% - 48px));margin:auto}.narrow{width:min(930px,calc(100% - 48px))}.section-bg{background:#f5f3ed}section{padding:70px 0}h2{text-align:center;font-size:2.7rem;font-weight:500;letter-spacing:.12em;margin:0 0 48px}p{font-size:1.35rem}.intro{padding:50px 0 65px}.intro-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:75px;align-items:start}.eyebrow{font-size:1.5rem;border-bottom:1px solid #777;width:max-content;padding-bottom:4px}




.intro h1{    font-family: "Shippori Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif !important;font-size:4rem;font-weight:700;line-height:1.55;letter-spacing:.02em;margin:22px 0 30px}



.lead p{margin:0 0 17px}.lead small{font-size:1.15rem}.intro-visual img{display:block;width:100%;max-width:465px;margin:auto}.reasons{padding:62px 0 72px}.reason{display:grid;grid-template-columns:360px 1fr;gap:55px;align-items:center;margin:0 0 5rem}.reason.reverse{grid-template-columns:1fr 360px}.reason.reverse img{order:2}.reason img{width:100%;display:block}.reason h3{font-size:2.6rem;font-weight:400;margin:0 0 3rem;white-space:nowrap}.reason h3 b{font-size:3.7rem;font-weight:400;margin-right:16px;border-bottom:1px solid #777;padding:0 8px}.reason p{line-height:1.65}.value{padding:60px 0 45px}.value h2{margin-bottom:25px}.center{text-align:center}.value-chart{display:block;width:100%;margin:42px auto 35px}.value-note{max-width:1040px;margin:auto;text-align:center;border:1px solid #ded4c5;border-radius:18px;padding:14px 20px;background:#faf7f1;font-size:1.6rem;letter-spacing:.08em}.value-note span{color:#8a805d;margin-left:4px}.flow{padding:70px 0 85px}.flow-list{position:relative}.flow article{display:grid;grid-template-columns:400px 52px 1fr;align-items:center;gap:25px;margin:0 0 40px;position:relative}.flow article.reverse{grid-template-columns:1fr 52px 400px}.flow article.reverse img{order:3}.flow article.reverse span{order:2}.flow article.reverse div{order:1}.flow article img{width:100%;display:block}.flow article span{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#898160;color:#fff;font-size:1.8rem;z-index:2}.flow article div{border:1px solid #dcc9b4;border-radius:14px;padding:18px 28px;background:#fff}.flow h3{font-size:2.2rem;font-weight:400;margin:0 0 4px}.flow article p{margin:0;line-height:1.6}.bottom{text-align:center;padding:45px 20px}.bottom span{    cursor: pointer;display:inline-block;background:#d7cdc4;color:#fff;text-decoration:none;border-radius:30px;padding:9px 55px;font-size:2rem;letter-spacing:.12em}


@media(max-width:767px){html{font-size:58%}.wrap,.narrow{width:min(100% - 32px,600px)}section{padding:48px 0}.intro-grid{grid-template-columns:1fr;gap:32px}.intro h1{font-size:3rem}.intro-visual{max-width:430px;margin:auto}.reason,.reason.reverse{grid-template-columns:1fr;gap:30px;margin-bottom:0px}.reason.reverse img{order:0}.reason h3{font-size:1.8rem;white-space:normal}.reason h3 b{font-size:2.8rem}.value-chart{margin-top:28px}.center br{display:none}.flow article,.flow article.reverse{grid-template-columns:48px 1fr;gap:14px;margin-bottom:42px}.flow article img,.flow article.reverse img{grid-column:1/3;order:0}.flow article span,.flow article.reverse span{grid-column:1;order:1}.flow article div,.flow article.reverse div{grid-column:2;order:2;padding:15px 18px}.bottom span{font-size:1.5rem;padding:10px 30px}}

#primary section.post_container {
    padding: 0px 0;
}
#primary section.post_container .inner {
    width: 100%;
}
.post h3 {
    text-align: left;
    padding-bottom: 0px;
    border-bottom: none;
}
.cta-card h2 {
    text-align: left;
}


.flow article:nth-child(odd):not(:last-child):after {
    right: 0;
}

.flow article:after {
    content: "";
    position: absolute;
    bottom: 0;
    width: calc((100% - 75px) / 2);
    border-bottom: 1px dashed #ded2c5;
}

/* FLOW PATCH */
.flow {
	padding: 70px 0 85px;
}

.flow .narrow {
	width: min(1040px, calc(100% - 48px));
}

.flow h2 {
	margin-bottom: 68px;
}

.flow-list {
	position: relative;
}

/* 中央の縦ライン */
.flow-list .flow article:before {
	content: "";
	position: absolute;
	left: 50%;
	top: 28px;
	bottom: 55px;
	width: 3px;
	background: #e4d8cc;
	transform: translateX(-50%);
}


/* ========================================
   各STEP
======================================== */

.flow article,
.flow article.reverse {
	display: grid;
	grid-template-columns:
		minmax(0, 1fr)
		100px
		minmax(0, 1fr);

	gap: 0;
	align-items: center;

	min-height: 235px;
	margin: 0;

	position: relative;
}


/* ========================================
   左右の点線
======================================== */

.flow article:after {
	content: "";
	position: absolute;
	bottom: 0;

	width: calc((100% - 100px) / 2);

	border-bottom: 1px dashed #ded2c5;
}

/* 01、03 */
.flow article:nth-child(odd):not(:last-child):after {
	right: 0;
}

/* 02、04 */
.flow article:nth-child(even):not(:last-child):after {
	left: 0;
}

.flow article:last-child:after {
	display: none;
}


/* ========================================
   画像
======================================== */

.flow article img,
.flow article.reverse img {
	grid-column: 1;
	grid-row: 1;

	order: initial;

	width: 100%;
	height: 158px;

	object-fit: cover;
	display: block;
}


/* 偶数：画像を右へ */
.flow article.reverse > img {
	grid-column: 3;
}


/* ========================================
   STEP番号
======================================== */

.flow article > span,
.flow article.reverse > span {
	grid-column: 2;
	grid-row: 1;

	order: initial;

	justify-self: center;
	align-self: start;

	position: relative;

	margin-top: 0;

	width: 58px;
	height: 58px;

	border-radius: 50%;

	display: grid;
	place-items: center;

	background: #898160;
	color: #fff;

	font-size: 2.3rem;
	line-height: 1;

	z-index: 3;
}


/* 偶数番号 */
.flow article:nth-child(even) > span {
	background: #cdb99b;
}


/* ========================================
   下向き矢印
======================================== */

/*
	01〜04の番号から
	次の番号へ向かう縦ライン
*/
.flow article:not(:last-child) > span:before {
	content: "";

	position: absolute;

	left: 50%;
	top: 58px;

	width: 3px;
	height: 165px;

	background: #e4d8cc;

	transform: translateX(-50%);

	z-index: -1;
}


/*
	縦ライン先端の▼
*/
.flow article:not(:last-child) > span:after {
	content: "";

	position: absolute;

	left: 50%;
	top: 215px;

	width: 0;
	height: 0;

	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-top: 14px solid #e4d8cc;

	transform: translateX(-50%);

	z-index: 2;
}


/* ========================================
   テキストBOX
======================================== */

.flow article > div,
.flow article.reverse > div {
	grid-column: 3;
	grid-row: 1;

	order: initial;

	min-height: 150px;

	display: flex;
	flex-direction: column;
	justify-content: center;

	border: 2px solid #e4d8cc;
	border-radius: 17px;

	padding: 40px;

	background: #fff;
}


/* 偶数：テキストを左へ */
.flow article.reverse > div {
	grid-column: 1;
}


.flow h3 {
	font-size: 2.3rem;
	font-weight: 400;

	margin: 0 0 12px;
}


.flow article p {
	margin: 0;

	line-height: 1.75;
	font-size: 1.35rem;
}


/* ========================================
   SP
======================================== */

@media (max-width: 767px) {

	.flow .narrow {
		width: min(100% - 32px, 600px);
	}

	.flow h2 {
		margin-bottom: 2rem;
	}


	/* 中央ラインはSPでは左側 */
	.flow-list:before {
		left: 24px;
		top: 24px;
		bottom: 50px;

		width: 2px;
	}


	.flow article,
	.flow article.reverse {
		grid-template-columns:
			48px
			minmax(0, 1fr);

		gap: 0 14px;

		min-height: 0;

		margin-bottom: 38px;
	}


	.flow article:after {
		display: none;
	}


	/* 画像 */
	.flow article img,
	.flow article.reverse img {
		grid-column: 2;
		grid-row: 1;

		order: initial;

		height: auto;
		aspect-ratio: 2.5 / 1;

		margin-bottom: 14px;
	}


	/* 番号 */
	.flow article > span,
	.flow article.reverse > span {
		grid-column: 1;
		grid-row: 1 / span 2;

		order: initial;

		width: 48px;
		height: 48px;

		font-size: 1.9rem;

		margin: 0;
	}


	/* PC用矢印を非表示 */
	.flow article:not(:last-child) > span:before,
	.flow article:not(:last-child) > span:after {
		display: none;
	}


	/* テキストBOX */
	.flow article > div,
	.flow article.reverse > div {
		grid-column: 2;
		grid-row: 2;

		order: initial;

		min-height: 0;

		padding: 16px 18px;

		border-width: 1px;
		border-radius: 12px;
	}


	.flow h3 {
		font-size: 1.4rem;

		margin-bottom: 7px;
	}


	.flow article p {
		font-size: 1.2rem;
	}
}


.flow .flow-list article > div,
.flow .flow-list article.reverse > div {
	position: relative;
}
.flow .flow-list article > div::before,
.flow .flow-list article.reverse > div::before {
	content: "";
	position: absolute;
	right: 15px;
	top:10px;
}
.flow .flow-list article:nth-child(1) div::before {
	width: 47px;
	height: 51px;
	background: transparent url(/assets/service/images/icon01.png) no-repeat center center;
	background-size: cover;
}
.flow .flow-list article:nth-child(2) div::before {
	width: 57px;
	height: 57px;
	background: transparent url(/assets/service/images/icon02.png) no-repeat center center;
	background-size: cover;
}
.flow .flow-list article:nth-child(3) div::before {
	width: 44px;
	height: 43px;
	background: transparent url(/assets/service/images/icon03.png) no-repeat center center;
	background-size: cover;
}
.flow .flow-list article:nth-child(4) div::before {
	width: 64px;
	height: 55px;
	background: transparent url(/assets/service/images/icon04.png) no-repeat center center;
	background-size: cover;
}
.flow .flow-list article:nth-child(5) div::before {
	width: 61px;
	height: 40px;
	background: transparent url(/assets/service/images/icon05.png) no-repeat center center;
	background-size: cover;
}

@media (max-width: 767px) {
h2 {
    font-size: 2rem;
    letter-spacing: .02em;
    margin: 0 0 2rem;
}
.value-note {
    padding: 25px;
    font-size: 1.4rem;
    line-height: 1.6;
}
.flow .flow-list article:nth-child(1) div::before,
.flow .flow-list article:nth-child(2) div::before,
.flow .flow-list article:nth-child(3) div::before,
.flow .flow-list article:nth-child(4) div::before,
.flow .flow-list article:nth-child(5) div::before {
	width: 25px;
	height: 25px;
}
}
#primary section.post_container .oemsection {
    background: #faf9f5;
}
#primary section.post_container .oemsection .inner {
    width: min(1040px, calc(100% - 48px));
    margin: auto;
}

.post .oemsection h3 {
    margin-bottom: 45px;
}
.post .oemsection h3 span::after {
    height: 1px;
    background-color: #eee9df;
}
.post .oemsection ul.dash {
    margin-bottom: 25px;
    margin-top: 15px;
}
.post .oemsection h4 {
    color: #000;
    font-size: 25px;
    font-weight: 700;
    margin-bottom: 5px;
    line-height: 1.2;
}

@media (max-width: 767px) {
.post .oemsection h3 {
    margin-bottom: 30px;
}
.post .oemsection h4 {
        font-size: 18px;
}
.post .oemsection p {
        font-size: 12px;
    margin-bottom: 35px;
}
}

.oemsection {
	display: none;
}