

@charset "UTF-8";

/* -----------------------------------------------

	/yorisou/recommend/ 共通部

----------------------------------------------- */
.hdg1.index.sharedPart .hdgLabel {
	border-left: none;
	padding: 0 0 0 0;
	color: #333333;
	font-size: 300%;
	line-height: 1.2;
	border-bottom: 0;
}
@media print, screen and ( min-width: 768px ) {
	.hdg1.index.sharedPart {
		margin: 40px 0 20px;
	}
	.hdg1.index.sharedPart .hdgLabel.medium {
		font-size: 250%;
	}
}
@media only screen and (max-width: 767px) {
	.hdg1.index.sharedPart {
		margin: 20px 0 10px;
	}
	.hdg1.index.sharedPart .hdgLabel {
		font-size: 159%;
		line-height: 1.4;
		text-align: left;
		flex: 1;
	}
	.spFlex.sharedPart {
	    display:flex;
	    align-items: center;
	    padding: 0 9px;
	}
    #mainArea > p.sharedPart {
        padding: 0 10px;
    }
}
.backWhite.mt0em{
	margin-top: 0 !important;
}
.backWhite.mt0em.sharedPart{
	margin-top: 0 !important;
}
.backWhite.includeNoTeian{
	padding-bottom: 0;
}
.backWhite.mb0em {
	margin-bottom: 0 !important;
}
.backWhite.mb0em.sharedPart {
	margin-bottom: 0 !important;
}
.backWhite.includeTeian.mb0em:has(+ .backWhite.recommendedProducts){
	padding-bottom: 0px;
}
.backWhite.includeTeian.mb0em + .backWhite.recommendedProducts{
	/* padding-top: 0 !important; */
	/* padding-top: 20px; */
}
@media only screen and (max-width: 767px){   /* SP */
	.hdg1:has(.hdgLabel:empty) + .backWhite.includeNoTeian{
		/* margin-top: 20px; */
	}
	.backWhite.sharedPart {
		padding: 20px 15px;
	}
}
#recommendedProducts {
    display: grid;
    gap: 24px;
	margin: 24px 0;
	overflow-wrap: break-word;
}
@media print, screen and (min-width: 768px) {   /* PC */
    #recommendedProducts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media only screen and (max-width: 768px) {   /* SP */
    #recommendedProducts {
        grid-template-columns: repeat(1, minmax(0, 1fr));
		gap: 0px;
    }
}
.sharedPart .productFrame{
	/* width: 50%; */
}
.sharedPart .frameTitle{
	font-weight: bold;
	/* margin-top: 20px; */
	/* height: 0; */
}
.sharedPart div.frameTitle {
	display: grid;
	grid-template-columns: minmax(30px, 1fr) minmax(0, auto) minmax(30px, 1fr);
	align-items: center;
	/* 	grid-gap: 1rem; */
	grid-gap: 0.5rem;
	/* gap: 0.5rem; */
}
.sharedPart div.frameTitle:before,
.sharedPart div.frameTitle:after {
	content: "";
	display: block;
	border-top: solid 2px #e6e6e6;
	
}
.sharedPart div.frameTitle > span{
	font-size: 120%;
}
.sharedPart .yorisouFrame{
	/* border-top: solid 2px #e6e6e6; */
	/* margin-bottom: 40px; */
	/* margin-top: 10px; */
}
.sharedPart .flexFrame div.productLogo {
	position: relative;
	text-align: center;
	width: 40%;
	/* width: 50%; */
}
.sharedPart .flexFrame div.productLogo img{
	width: 70%;
	margin: 5px;
}
.sharedPart div.productDescription {
	/* position: relative; */
	width: 60%;
	font-size: 14px;
}
.sharedPart div.productDescription,
.sharedPart .shiryoBtnBelowText,
div.specialProd.sharedPart ul.ulProdList div.specialTx .specialNote,
.sharedPart .detailsBtnBelowText,
.sharedPart.footerTxt,
.sharedPart.bobunNo {
	font-size: 14px;
}
.sharedPart .shiryoBtnBelowText {
	margin: auto;
}
div.specialProd.sharedPart ul.ulProdList div.specialTx .specialDescription,
div.specialProd.sharedPart ul.ulProdList div.specialTx .specialDescriptionLink {
	font-size: 12px;
}
.sharedPart .flexFrame div.new{
	color: #f18b44;
	font-weight: bold;
	margin-bottom: 0;
	padding: 0 10px;
	text-align: center;
}
@media only screen and (min-width: 768px){   /* PC */
	.sharedPart .flexFrame{
		display: flex;
		justify-content: space-around;
		align-items: center;
		align-content: center;
		/* margin: 10px 0; */
	}
	.sharedPart .flexFrame div{
		text-align: left;
		/* width: 340px; */
	}
}
@media only screen and (max-width: 767px){   /* SP */
	.sharedPart .flexFrame{
		display: flex;
		justify-content: space-around;
		align-items: center;
		/* margin: 25px 0 0; */
		padding: 0 10px;
	}
	.sharedPart .productFrame .flexFrame{
		display: flex;
		justify-content: space-around;
		align-items: center;
		/* margin: 10px 0; */
		padding: 0;
	}
	.sharedPart .flexFrame div{
		text-align: left;
		margin-bottom: 0;
	}
	.sharedPart div.frameTitle > span{
	background: white;
	padding: 10px;
	font-size: 110%;
	}
	.sharedPart .flexFrame div.productLogo{
		/* max-width: 45%; */
		/* text-align: start; */
	}
	.sharedPart .flexFrame div.productLogo img{
		width: 80%;
		margin: 5px;
		/* text-align: start; */
	}
	.sharedPart .flexFrame div.productDescription{
		width: 60%;
		max-width: 60%;
		/* font-size: 100%; */
	}
	.sharedPart .shiryoBtnAboveTextImage {
		max-width: 80%;
	}
}

/*- h2 -*/
.sharedPart .hd2Prpd {
	margin: 15px 0 0;
	padding: 5px 15px;
	font-size: 160%;
	font-weight: bold;
	border-bottom: solid 1px #ccc;
}
@media only screen and (max-width: 767px) {
	.sharedPart .hd2Prpd {
		/* margin: 0px 0 15px; */
		padding: 5px 0px;
		font-size: 110%;
	}
}
/* 非表示制御
----------------------------------------------- */
.sharedPart.hdg1:has(.hdgLabel:empty),
.sharedPart .hdgLabel:empty,
.cssPlaceholder {
	display: none;
}
/* 空の要素しか含んでいない.backWhite.recommendedProductsは非表示 */
.backWhite.recommendedProducts.sharedPart:not(:has(.metaText:not(:empty), img:not([src=""]), .frameTitle span span:not(:empty), .productDescription p:not(:empty))) {
	display: none;
}
/* 空の要素しか含んでいないrecommendedProductsは非表示 */
.sharedPart #recommendedProducts:not(:has(img:not([src=""]), .frameTitle span span:not(:empty), .productDescription p:not(:empty))) {
	display: none;
}
/* 空の要素しか含んでいない.backWhite.specialProdは非表示 */
.backWhite.specialProd.sharedPart:not(:has(.metaText:not(:empty), img:not([src=""]), .specialNote:not(:empty), p.specialDescription:not(:empty), p.specialDescriptionLink a:not(:empty))) {
	display: none;
}
.sharedPart .productFrame:has(.productLogo img.empty):has(.frameTitle span:empty):has(.productDescription p:empty),
.sharedPart .productFrame:has(.productLogo img[src=""]):has(.frameTitle span:empty):has(.productDescription p:empty)  {
	display: none;
}
.sharedPart .frameTitle:has( span:empty),
.sharedPart .productFrame .productLogo .new:empty,
.sharedPart .productLogo img[src=""],
/* .sharedPart .productDescription:has(p:empty), */
.sharedPart .productDescription p:empty,
.sharedPart .shiryoBtnAboveText:empty,
.sharedPart .shiryoBtnArea:has(strong:empty),
.sharedPart .shiryoBtnBelowText:empty,
.sharedPart .hd2Prpd:empty,
.cssPlaceholder {
	display: none;
}
/* 空の要素しか含んでいないulProdListは非表示 */
.sharedPart .ulProdList:not(:has(img:not([src=""]), .specialNote:not(:empty), p.specialDescription:not(:empty), p.specialDescriptionLink a:not(:empty))) {
	display: none;
}
.sharedPart .ulProdList li:has(.bloImg img.empty):has(.specialNote:empty):has(p.specialDescription:empty):has(p.specialDescriptionLink a:empty),
.sharedPart .ulProdList li:has(.bloImg img[src=""]):has(.specialNote:empty):has(p.specialDescription:empty):has(p.specialDescriptionLink a:empty) {
	display: none;
}
.sharedPart .bloImg img[src=""],
.sharedPart .specialNote:empty,
.sharedPart p.specialDescription:empty,
.sharedPart p.specialDescriptionLink:has(a:empty),
.sharedPart .detailsBtn:has(strong:empty),
.sharedPart .detailsBtnBelowText:has(p:empty):has(p a:empty),
/* .detailsBtnBelowText p:empty, */
.footerTxt.sharedPart:empty,
.bobunNo.sharedPart:empty,
.cssPlaceholder {
	display: none;
}
/* 商品リスト
----------------------------------------------- */
div.specialProd.sharedPart {
	/* margin-bottom: 40px; */
	overflow-wrap: break-word;
}
div.specialProd.sharedPart ul.ulProdList.bloLast{
	margin-bottom: 0;
}
div.specialProd.sharedPart ul.ulProdList > li {
	/* margin: 0 -15px; */
	padding: 15px 0;
	border-bottom: solid 1px #ccc;
}
div.specialProd.sharedPart ul.ulProdList > li.bloLast {
	border-bottom: none;
}
@media only screen and (min-width: 768px) {
div.specialProd.sharedPart ul.ulProdList > li {
	margin: 0;
	}
}
div.specialProd.sharedPart ul.ulProdList li .specialFrame{
	display: flex;
	align-items: center;
}
div.specialProd.sharedPart ul.ulProdList li.prodFirst .bloImglogo2 {
	float: left;
}
div.specialProd.sharedPart ul.ulProdList .bloImglogo2 .bloImg {
	display: block;
	width: 40%;
}
div.specialProd.sharedPart ul.ulProdList span.bloImg,
div.specialProd.sharedPart ul.ulProdList div.bloImg {
	/* padding: 0 10px 0 0; */
	display: table-cell;
	vertical-align: top;
}
div.specialProd.sharedPart ul.ulProdList div.bloImglogo2 {
	display: flex;
	justify-content: center;
	width: 40%;
	align-items: center;
}
div.specialProd.sharedPart ul.ulProdList div.bloImg {
	/* max-width: 104px; */
}
div.specialProd.sharedPart ul.ulProdList div.bloImgIryo {
	/* max-width: 114px !important; */
	display: flex;
	justify-content: center;
	width: 40%;
	align-items: center;
}
div.specialProd.sharedPart ul.ulProdList div.bloImgIryo img{
	/* max-width: 114px !important; */
	width: 70%;
}
div.specialProd.sharedPart ul.ulProdList span.bloImg ul {
	max-width: 104px;
}
div.specialProd.sharedPart ul.ulProdList div.specialTx {
	display: table-cell;
	vertical-align: middle;
	width: 60%;
	font-size: 14px;
}
.specialNote:not(:empty) + p.specialDescription:not(:empty){
	margin-top: 1em;
}
.specialNote:not(:empty) + p.specialDescription:empty + p.specialDescriptionLink:not(:has(a:empty)){
	margin-top: 1em;
}
p.specialDescriptionLink a{
	color: #0da5d9 !important;
}
.detailsBtnBelowText p a{
	color: #0da5d9 !important;
}
@media only screen and (max-width: 767px) {
	div.specialProd.sharedPart ul.ulProdList div.specialTx {
	/* padding-top:6px; */
	display: table-cell;
	vertical-align: middle;
	max-width: 60%;
	}
	div.specialProd.sharedPart ul.ulProdList .bloImglogo2 .bloImg {
		display: block;
		width: 80%;
	}
}
div.specialProd.sharedPart ul.ulProdList .table .specialTx {
	display: table-cell;
}
/* Footer
----------------------------------------------- */
#mainArea > p.sharedPart {
	font-size: 14px;
}
#mainArea > p.sharedPart.mb2em {
	margin-bottom: 2em !important;
}
#mainArea > p.sharedPart.mb1em {
	margin-bottom: 1em !important;
}
.bobunNo.sharedPart {
	color: white;
}

/***************************************************
* ボタン設定
***************************************************/
.sharedPart .btnDeco {
	margin: 15px 0;
}
.sharedPart p.shiryoBtnAboveText {
	font-size: 130% !important;
	font-weight: bold;
	color: darkorange;
	margin: auto;
	margin: 1em auto !important;
	width: 70%;
}
.sharedPart .shiryoBtnArea{
	margin: 1em 0 2.5em 0;
}
.sharedPart .shiryoBtn {
	border: 2px solid #e98300;
	background: #e98300;
	width: 40%;
	float: none;
	box-shadow: 0px 2px 3px 0px rgba(4,0,0,0.25);
	border-radius: 70px;
	-webkit-border-radius: 70px;
	padding: 18px 25px;
	text-align: center;
	margin: auto;
	display: inline-block;
	cursor: pointer;
	outline: none;
}
.sharedPart .shiryoBtn span {
	display: inline-block;
	border-radius: 40px;
	-webkit-border-radius: 40px;
	text-align: center;
	letter-spacing: 1px;
	font-size: 18px;
	position: relative;
	color: white;
}
.sharedPart .detailsBtn {
	border: 12px solid #00a5d9;
	background: #00a5d9;
	width: 40%;
	float: none;
	box-shadow: 0px 2px 3px 0px rgba(4,0,0,0.25);
	border-radius: 70px;
	-webkit-border-radius: 70px;
	padding: 5px;
	text-align: center;
	margin: 2.5em auto;
	display: block;
	overflow-wrap: anywhere;
}
.sharedPart .detailsBtn span {
	display: inline-block;
	border-radius: 70px;
	-webkit-border-radius: 70px;
	text-align: center;
	letter-spacing: 1px;
	font-size: 18px;
	position: relative;
	color: white;
}
.sharedPart .shiryoBtnBelowText,
.sharedPart .detailsBtnBelowText {
	width: 70%;
	margin: auto;
}
.linkBtnBgWhiteRspCommon > button,
button.linkBtnBgWhiteRspCommon {
	display: block;
	width: 100%;
	max-width: min(100% - 20px, 320px);
	margin: 20px auto;
	padding: 14px 10px 15px;
	cursor: pointer;
	border: 0;
	border-radius: 56px;
	background: #ffffff;
	text-align: center;
	text-decoration: none;
	font-size: 129%;
	color: #333333;
	box-shadow: 0px 2px 10px 1px rgba(0,0,0,.25);
}
/***************************************************
* ボタン設定(SP)
***************************************************/
@media only screen and (max-width: 767px){
	.sharedPart .btnDeco {
		margin: 15px 0;
	}
	.sharedPart p.shiryoBtnAboveText {
		font-size: 110% !important;
		width: 100%;
	}
	.sharedPart .shiryoBtn {
		border: 12px solid #e98300;
		background: #e98300;
		width: 100%;
		float: none;
		box-shadow: 0px 2px 3px 0px rgba(4,0,0,0.25);
		border-radius: 40px;
		-webkit-border-radius: 40px;
		padding: 5px 10px;
		text-align: center;
		margin: 15px auto;
	}
	.sharedPart .shiryoBtn span {
		display: inline-block;
		border-radius: 40px;
		-webkit-border-radius: 40px;
		text-align: center;
		letter-spacing: 1px;
		font-size: 16px;
		position: relative;
		color: white;
	}
	.sharedPart .detailsBtn {
		border: 12px solid #00a5d9;
		background: #00a5d9;
		width: 100%;
		float: none;
		box-shadow: 0px 2px 3px 0px rgba(4,0,0,0.25);
		border-radius: 70px;
		-webkit-border-radius: 70px;
		padding: 5px;
		text-align: center;
		margin: 2.5em auto;
	}
	.sharedPart .detailsBtn span {
		display: inline-block;
		border-radius: 40px;
		-webkit-border-radius: 40px;
		text-align: center;
		letter-spacing: 1px;
		font-size: 18px;
		position: relative;
		color: white;
	}
	.sharedPart .shiryoBtnBelowText,
	.sharedPart .detailsBtnBelowText {
	width: 100%;
	}
}



.bloImg img {
	width: 100%;
}