body {
	font-family: "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
	color: #74574b;
	line-height: 1;
	font-feature-settings: "palt" 1;
}

/* PC・SP共通 */
.clearfx:before,
.clearfx:after {
	content: "";
	display: table;
}

.clearfx:after { clear: both;
}

.contents_body img {
	width: 100%;
}

.ctaWrapper {
	margin: 0 auto;
	text-align: center;
}

.ctaWrapper a {
	display: inline-block;
	background-color: #d24f3e;
	color: #fff;
	text-decoration: none;
}

.ctaWrapper02 a {
	display: inline-block;
	background-color: #333333;
	color: #fff;
	text-decoration: none;
}

.worriesArea,
.faqWrapper,
.userVoiceWrapper,
.otherinfoArea {
	background-color: #f7f3e8;
}

.introductionFlowDetailTitle,
.faqDetailTitle {
	font-weight: bold;
	color: #d24f3e;
}

a {
	color: #74574b;
}

.dealsTitle,
footer {
	background-color: #d24f3e;
	color: #fff;
}

footer a {
	color: #fff;
}

.introductionFlowList {
	position: relative;
}
 
.introductionFlowList::before {
	content: '';
	position: absolute;
	top: 50%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	transform: translateY(-50%);
}

.introductionFlowList:nth-of-type(1)::before {
	background-image: url(img/Introductionflownumber_1.png);
}

.introductionFlowList:nth-of-type(2)::before {
	background-image: url(img/Introductionflownumber_2.png);
}

.introductionFlowList:nth-of-type(3)::before {
	background-image: url(img/Introductionflownumber_3.png);
}

.introductionFlowList:nth-of-type(4)::before {
	background-image: url(img/Introductionflownumber_4.png);
}

.introductionFlowList:nth-of-type(5)::before {
	background-image: url(img/Introductionflownumber_5.png);
}

.faqDetailTitle {
	position: relative;
}

.faqDetailTitle::before {
	content: '';
	position: absolute;
	top: 50%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	transform: translateY(-50%);
}

.faqDetailTitle::before {
	background-image: url(img/faq_q.png);
}

.faqDetailText {
	position: relative;
}

.faqDetailText::before {
	content: '';
	position: absolute;
	top: 50%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	transform: translateY(-50%);
}

.faqDetailText::before {
	background-image: url(img/faq_a.png);
}

/* PC */
@media screen and (min-width: 964px) {	
	.pc_only { display: block !important; }
	.sp_only { display: none !important; }	

	.firstViewWrapper {
		margin-bottom: 1vw;
	}

	.meritAera {
		width: 95%;
		margin: 0 auto 1vw;
		display: flex;
		justify-content: center;
	}

	.meritList {
		width: 32%;
		margin: 0 2vw;
	}

	.productInfoWrapper {
		overflow: hidden;
	}

	.productInfoArea {
		background: #fff;
		border-bottom-left-radius: 100vw 20vw;
		border-bottom-right-radius: 100vw 20vw;
		margin-left: -18vw;
		margin-right: -18vw;
		padding-left: 18vw;
		padding-right: 18vw;
		box-shadow: 0vw 0.5vw 1vw .6vw #cecdcd;
		margin-bottom: 4vw;
		padding-bottom: 4vw;
	}
	
	.productInfoTitle {
		width: 346px;
		margin: 0 auto 2.5vw;
	}

	.productInfoList {
		width: 87%;
		margin: 0 auto 2vw;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}

	.productInfoDetail {
		width: 30%;
		margin-right: 2.5%; 
		margin-bottom: 2vw;
	}

	.productInfoDetail:nth-of-type(3), {
		margin-right: 0;
	}

	.productInfoMerit {
		width: 60%;
		margin: 0 auto;
	}

	.ctaWrapper a {
		padding: 29px 0;
		width: 400px;
		font-size: 20px;
		letter-spacing: .2em;
		border-radius: 100vw;
		font-weight: bold;
		box-shadow: 0px 3px 5px 2px #beb5b5;
	}

	.ctaWrapper a:hover {
		background-color: #fac249;
		transition: .18s;
		color: #d24f3e;
	}

	.cta01 {
		margin-bottom: 4vw;
	}

	.worriesWrapper {
		margin-bottom: 4vw;
	}		

	.worriesArea {
		width: 60%;
		margin: 0 auto;
		border-radius: 30px;	
		border: 18px solid #db7768;
		padding: 0 5%;
	}
	
	.worriesBox {
		margin: 7vw 0 4vw;
	}

	.BasisBox {
		margin-bottom: 4.2vw;
	}

	.userVoiceWrapper {
		padding-bottom: 7vw;
	}

	.userVoiceImgArea {
		margin-bottom: 4.4vw;
	}

	.kodawariTitle {
		width: 69%;
		margin: 0 auto;
	}

	.kodawariText {
		width: 88%;
		margin:  0 auto;
		margin-top: -.7vw;
	}

	.cta02 {
		margin-top: -3vw;
	}

	.introductionFlowWrapper,
	.faqWrapper {
		padding: 5.5vw 0;
	}

	.introductionFlowTitle {
		width: 21%;
		margin:  0 auto 5vw;
	}

	.introductionFlowArea {
		width: 55%;
		margin:  0 auto;
	}

	.introductionFlowList::before {
		width: 55px;
		height: 55px;
	}

	.introductionFlowDetailBox {
		margin-left: 75px;
		margin-bottom: 40px;
	}

	.introductionFlowDetailTitle {
		font-size: 24px;
		letter-spacing: .12em;
		margin-bottom: 15px;
	}

	.introductionFlowDetailText,
	.faqDetailText {
		font-size: 16px;
		letter-spacing: .09em;
		line-height: 1.6;
	}

	.faqArea {
		width: 55%;
		margin:  0 auto;
	}

	.faqList {
		border-bottom: 1px solid #d9d3c2;
		padding-bottom: 33px;
		margin-bottom: 33px;
	}

	.faqList:last-of-type {
		border: none;
		padding-bottom: 0;
		margin-bottom: 0;
	}

	.faqTitle {
		width: 24%;
		margin:  0 auto 5vw;
	}

	.faqDetailTitle::before {
		width: 26px;
		height: 22px;
		left: -35px;
	}
	
	.faqDetailTitle {
		font-size: 22px;
		letter-spacing: .12em;
		margin-bottom: 17px;
		margin-left: 35px;;
	}

	.faqDetailText::before {
		width: 16px;
		height: 13px;
		left: -23px;
	}

	.faqDetailText {
		margin-left: 35px;
	}

	.dealsTitle {
		margin:  0 auto 1vw;
		text-align: center;
		padding: 1.8vw 0;
	}

	.dealsTitle img {
		width: 40%;
		height: auto; 
	}

	.dealsBox01 {
		position: relative;
		width: 80%;
		margin: 0 auto;
		padding-left: 2.7%;
	}

	.dealsTextlink {
		position: absolute;
		top: 73%;
		font-size: 16px;
		font-weight: bold;
		letter-spacing: .09em;
	}

	.dealsBox02 {
		width: 64%;
		margin: -2vw auto 7vw;
	}

	.otherinfoWapper {
		overflow: hidden;
	}

	.otherinfoArea {
		position: relative;
		border-top-left-radius: 100vw 20vw;
		border-top-right-radius: 100vw 20vw;
		margin-left: -18vw;
		margin-right: -18vw;
		padding-left: 18vw;
		padding-right: 18vw;
		padding-bottom: 4vw;
		border-bottom-left-radius: 100vw 20vw;
		border-bottom-right-radius: 100vw 20vw;
		z-index: 999;
	}

	.otherinfoTitle {
		width: 50%;
		margin: 0 auto 2vw;
		padding-top: 6vw;
	}

	.cta03 {
		position: relative;
		margin-top: -3vw;
 		margin-bottom: -3vw;
		z-index: 9999;
	}

	.otherinfoProductimg {
		width: 60%;
		margin: 0 auto 3vw;
	}

	.ctaWrapper02 {
		margin: 0 auto;
		text-align: center;
	}

	.ctaWrapper02 a {
		padding: 29px 0;
		width: 550px;
		font-size: 17px;
		letter-spacing: .2em;
		border-radius: 100vw;
		font-weight: bold;
		box-shadow: 0px 3px 5px 2px #beb5b5;
	}

	.ctaWrapper02 a:hover {
		background-color: #fac249;
		transition: .18s;
		color: #d24f3e;
	}

	footer {
		margin-top: -10vw;
		padding: 12vw 3vw 2vw;
		display: flex;
		justify-content: space-between;
		font-size: 15px;
		letter-spacing: .09em;
		align-items: flex-end;
	}

	footer dt {
		margin-bottom: 10px;
	}

}

/* SP */ 
@media screen and (max-width: 963px) {
	.pc_only { display: none !important; }
	.sp_only { display: block !important; }

	.firstViewWrapper {
		margin-bottom: 3vw;
	}

	.meritWrapper {
		width: 75%;
		margin: 0 auto 8vw;
	}
	
	.meritList {
		margin-bottom: 1.4vw;
	}

	.productInfoTitle {
		width: 45%;
		margin: 0 auto 5vw;
	}

	.productInfoList {
		width: 85%;
		margin: 0 auto 5vw;
	}

	.productInfoDetail {
		margin-bottom: 3vw;
	}

	.productInfoWrapper {
		overflow: hidden;
	}

	.productInfoArea {
		background: #fff;
		border-bottom-left-radius: 100vw 20vw;
		border-bottom-right-radius: 100vw 20vw;
		margin-left: -18vw;
		margin-right: -18vw;
		padding-left: 18vw;
		padding-right: 18vw;
		box-shadow: 0vw 0.5vw 2vw .3vw #a7a7a7;
		margin-bottom: 5vw;
		padding-bottom: 7vw;
	}

	.productInfoMerit {
		width: 80%;
		margin: 0 auto;
	}

	.ctaWrapper a {
		padding: 5vw 0;
		width: 70%;
		font-size: max(3.7vw 13px);
		letter-spacing: .15em;
		border-radius: 100vw;
		font-weight: bold;
		box-shadow: 0px 3px 5px 2px #beb5b5;
	}

	.cta01 {
		margin-bottom: 6vw;
	}

	.worriesArea {
		width: 80%;
		margin: 0 auto 7vw;
		border-radius: 15px;	
		border: 3px solid #db7768;
		padding: 0 5%;
	}

	.worriesBox {
		margin: 6vw 0 2vw
	}

	.BasisBox {
		margin-bottom: 6vw;
	}

	.userVoiceImgArea {
		margin-bottom: 5vw;
	}

	.kodawariTitle {
		width: 80%;
		margin: 0 auto 5vw;
	}
	
	.kodawariText {
		width: 90%;
		margin: 0 auto;
	}

	.kodawariArea {
		padding-bottom: 12vw;
	}

	.cta02 {
		margin-top: -7vw;
	}
	
	.introductionFlowList {
		margin-bottom: 5vw;
		padding-bottom: 5vw;
		border-bottom: 1px solid #d9d3c2;
	}

	.introductionFlowList:last-of-type {
		margin-bottom: 0;
		padding-bottom: 0;
		border: unset;
	}

	.introductionFlowList::before {
		width: 35px;
		height: 35px;
		top: 41%;
	}

	.introductionFlowWrapper,
	.faqWrapper {
		padding: 10vw 0;
	}

	.introductionFlowTitle {
		width: 35%;
		margin: 0 auto 8vw;
	}
	
	.introductionFlowArea {
		width: 90%;
		margin: 0 auto;
	}

	.introductionFlowDetailTitle {
		font-size: 4vw;
		letter-spacing: .08em;
		margin-bottom: 2vw;
	}

	.introductionFlowDetailBox {
		margin-left: 46px;
	}

	.introductionFlowDetailText,
	.faqDetailText {
		font-size: max(3.2vw, 14px);
		letter-spacing: .09em;
		line-height: 1.5;
	}

	.faqTitle {
		width: 40%;
		margin: 0 auto 8vw;
	}

	.faqArea {
		width: 90%;
		margin: 0 auto;
	}

	.faqList {
		border-bottom: 1px solid #d9d3c2;
		padding-bottom: 5vw;
		margin-bottom: 5vw;
	}

	.faqList:last-of-type {
		border-bottom: unset;
		padding-bottom: 0;
		margin-bottom: 0;
	}

	.faqDetailTitle::before {
		width: 20px;
		height: 17px;
		left: -25px;
	}
	
	.faqDetailTitle {
		font-size: max(4vw,15px);
		letter-spacing: .12em;
		margin-bottom: 2.5vw;
		margin-left: 25px;;
		line-height: 1.4;
	}

	.faqDetailText::before {
		width: 16px;
		height: 13px;
		left: -23px;
	}

	.faqDetailText {
		margin-left: 25px;
	}

	.dealsTitle {
		padding: 4.5vw 0;
		margin: 0 auto 3vw;
		text-align: center;
	}

	.dealsTitle img {
		width: 80%;
	}

	.dealsBox01{
		width: 95%;
		margin: 1vw auto 5vw;
	}

	.dealsBox01 img{
		margin-bottom: 5vw;
	}

	.dealsTextlink {
		font-size: max(3.4vw,15px);
		letter-spacing: .09em;
		line-height: 1.7;
		text-align: center;
		font-weight: bold;
	}

	.dealsBox02 {
		width: 80%;
		margin: 1vw auto 2vw;
	}

	.dealsWrapper {
		margin-bottom: 5vw;
	}

	.otherinfoWapper {
		overflow: hidden;
	}

	.otherinfoArea {
		position: relative;
		border-top-left-radius: 100vw 20vw;
		border-top-right-radius: 100vw 20vw;
		margin-left: -18vw;
		margin-right: -18vw;
		padding-left: 18vw;
		padding-right: 18vw;
		padding-bottom: 4vw;
		border-bottom-left-radius: 100vw 20vw;
		border-bottom-right-radius: 100vw 20vw;
		z-index: 999;
	}

	.otherinfoTitle {
		width: 70%;
		margin: 0 auto 4vw;
		padding-top: 13vw;
	}

	.cta03 {
		position: relative;
 		margin-bottom: -7vw;
		z-index: 9999;
	}

	.otherinfoProductimg {
		width: 90%;
		margin: 0 auto 3vw;
	}


	.ctaWrapper02 {
		margin: 0 auto 5vw;
		text-align: center;
		position: relative;
		z-index: 999;
	}

	.ctaWrapper02 a {
		padding: 5vw 0;
		width: 80%;
		font-size: max(3vw,13px);
		letter-spacing: .15em;
		border-radius: 100vw;
		font-weight: bold;
		box-shadow: 0px 3px 5px 2px #beb5b5;
		line-height: 1.5;
	}

	footer {
		position: relative;
		padding: 17vw 4vw 6vw;
		margin-top: -10vw;
		font-size: max(3vw,13px);
		letter-spacing: .09em;
		text-align: center;
	}

	footer dt {
		margin-bottom: 2.5vw;
	}
	
	footer dd {
		margin-bottom: 8vw;
	}

	.footerCopyright {
		font-size: max(2.5vw,11px);
	}
}
