@charset "utf-8";
:root {
	--blue: #29abe2;
	--dark-blue: #0d47a1;
	--light-blue: #ddeef8;
	--dark-gray: #34383b;
	--gray: #D9D9D9;
	--light-gray: #EEEEEE;
	--red: #CE0514;
}
@media screen and (min-width:391px) {
	.page {
		font-size: 1.15em;
		counter-reset: number 0;
		margin: 0 auto;
		padding: 0 0 2em 0;
		width: 940px;
	}
	.page img {
		margin: auto;
		display: table;
	}
	.page a {
		text-decoration: none;
	}
	.page strong {
		color: #FF0000;
	}
	.page span {
		background: linear-gradient(transparent 60%, #F79101 60%);
		font-size: 1.3em;
	}
	.page > div {
		padding: 55px 20px 0 20px;
	}
	.page > div:first-of-type {
		padding-top: 20px;
	}
	.page h2 {
		margin-bottom: 1em;
	}
	.page h2 + p {
		width: 690px;
		margin: 0 auto;
	}
	.page .title {
		position: relative;
		padding: 0 1em;
		margin: 3em 0 2em;
	}
	.page .title::before {
		position: absolute;
		top: calc(50% - 1px);
		left: 0;
		width: 100%;
		height: 2px;
		content: '';
		background: var(--dark-gray);
	}
	.page h3 {
		font-size: 1.5em;
		vertical-align: middle;
		text-align: center;
		background-color: #FFF;
		z-index: 2;
		position: relative;
		display: table;
		padding: 0 1em;
		margin: 0 auto;
	}
	.page h3::before {
		content: counter(number) "";
		counter-increment: number 1;
		color: #FFF;
		font-weight: bold;
		background-color: var(--blue);
		width: 60px;
		height: 60px;
		border-radius: 50%;
		vertical-align: middle;
		text-align: center;
		margin: 0 0.25em 0 0;
		display: inline-block;
		font-size: 1.75em;
		line-height: 1.4;
	}
	.page .title:first-of-type {
		margin: 0.5em 0 2em;
	}
	.page .flex {
		display: flex;
		justify-content: space-around;
		margin: 1.5em 0;
	}
	.page dl.type {
		border: solid 1px var(--dark-blue);
		margin: 0;
		width: 46%;
	}
	.page dl.type dt {
		background-color: var(--dark-blue);
		padding: 0 0.25em;
		color: #FFF;
		font-size: 1.25em;
		font-weight: bold;
		text-align: center;
	}
	.page dd {
		padding: 1em;
	}
	.page dl.usage {
		border: dotted 2px var(--dark-gray);
		margin: 1em 0;
		width: 46%;
	}
	.page dl.usage dt {
		background-color: #FFF;
		padding: 0 0.75em;
		font-size: 1.25em;
		font-weight: bold;
		display: table;
		margin: -1em auto 0;
		color: var(--dark-blue);
	}
	.page dl.usage dd:last-of-type {
		padding: 0 1em 1em;
	}
	.page .feature {
		position: relative;
		margin: 3em 0;
	}
	.page h4 {
		background-color: var(--dark-blue);
		color: #FFF;
		font-size: 1.5em;
		padding: 0.25em 0.75em;
		position: absolute;
		right: 10px;
		top: -20px;
		border-radius: 5px;
		z-index: 1;
	}
	.page .feature:nth-last-of-type(even) > h4 {
		left: 10px;
		right: auto;
	}
	.page .feature:nth-last-of-type(2) {
		margin: 3em 0 2em;
	}
	.page .box {
		border: solid 1px var(--dark-gray);
		background-color: var(--light-blue);
		padding: 3em 1em 1em;
		display: flex;
		margin: 0 1.5em;
	}
	.page .box p {
		padding: 0 1em 0.5em;
		margin: auto;
	}
	.page .box img {
		margin: -1.5em 0 0;
	}
	.page .feature + p {
		text-align: center;
		margin: 0 0 4em;
	}
	.page h3.recommend {
		background-color: var(--dark-blue);
		color: #FFF;
		font-size: 1.3em;
		display: block;
		margin: 0;
		padding: 0.25em 0;
	}
	.page h3.recommend::before {
		content: none;
	}
	.page p.name {
		font-size: 1.15em;
		font-weight: bold;
		border-left: solid 7px var(--blue);
		padding: 0 0 0 0.5em;
		margin: 1.5em 0 0 1em;
	}
	.page .product {
		display: flex;
		margin: 0.5em 1em 0;
		border: solid 1px var(--gray);
	}
	.page .product .detail {
		position: relative;
		margin: 0.5em 0 4em 0;
	}
	.page .product .detail > p {
		margin: 0 0 0 1em;
	}
	.page .product .detail > a.link {
		padding: 0.5em 2em;
		border-radius: 20px;
		margin: 0.5em auto 0;
		background-color: var(--blue);
		display: table;
		color: #FFF;
		position: absolute;
		right: 0;
		left: 0;
	}
	.page .product .detail > a.link:hover {
		background-color: #5BBAE3;
	}
	.page .product .detail > a.link::after {
		content: "";
		background-image: url("/parts/contents/find-best-printer/icon_arrow.png");
		background-repeat: no-repeat;
		width: 22px;
		height: 22px;
		vertical-align: middle;
		display: inline-block;
		margin: 0 0.25em;
	}
	.page a.btn--orange {
		background-color: #F79101;
		border-bottom: solid 5px #A1660D;
		margin: 30px auto 40px;
		padding: 0.5em 3em;
		font-size: 1.3em;
		border-radius: 20px;
		display: table;
		color: #FFF;
		font-weight: bold;
	}
	.page a.btn:hover {
		background-color: #F7A531;
		border-bottom: solid 2px #A1660D;
		margin: 33px auto 40px; 
	}
	.page a.btn::after {
		content: "";
		background-image: url("/parts/contents/find-best-printer/arrow_icon.png");
		background-repeat: no-repeat;
		width: 21px;
		height: 24px;
		background-size: contain;
		display: inline-block;
		margin: 0 0 0 0.25em;
		vertical-align: middle;
	}
}
@media screen and (max-width:390px) { 
	.page {
		font-size: 0.85em;
		padding: 0 0 2em 0;
	}
	.page a {
		text-decoration: none;
	}
	.page p {
		margin: 0.25em 0;
	}
	.page strong {
		color: #FF0000;
	}
	.page span {
		background: linear-gradient(transparent 60%, #F79101 60%);
	}
	.page img {
		margin: auto;
		width: 50%;
		height: auto;
		display: table;
	}
	.page > div {
		width: 92%;
		margin: 2.5em auto 0 auto;
	}
	.page h2 > img {
		width: 100%;
		height: auto;
	}
	.page h2 + p {
		width: 92%;
		margin: 0.5em auto 0;
	}
	.page > div:first-of-type {
		margin-top: 1.5em;
	}
	.page .title {
		position: relative;
		padding: 0 1em;
		margin: 3em 0 2em;
	}
	.page .title::before {
		position: absolute;
		top: calc(50% - 1px);
		left: 0;
		width: 100%;
		height: 2px;
		content: '';
		background: var(--dark-gray);
	}
	.page h3 {
		font-size: 1.5em;
		vertical-align: middle;
		text-align: center;
		background-color: #FFF;
		z-index: 2;
		position: relative;
		display: table;
		padding: 0 0.5em;
		margin: 0 auto;
	}
	.page h3::before {
		content: counter(number) "";
		counter-increment: number 1;
		color: #FFF;
		font-weight: bold;
		background-color: var(--blue);
		width: 40px;
		height: 40px;
		border-radius: 50%;
		vertical-align: middle;
		text-align: center;
		margin: 0 0.25em 0 0;
		display: inline-block;
		font-size: 1.25em;
	}
	.page .title:first-of-type {
		margin: 0.5em 0 2em;
	}
	.page dl.type {
		border: solid 1px var(--dark-blue);
		margin: 1.5em auto;
		width: 95%;
	}
	.page dl.type dt {
		background-color: var(--dark-blue);
		padding: 0 0.25em;
		color: #FFF;
		font-size: 1.25em;
		font-weight: bold;
		text-align: center;
	}
	.page dd {
		padding: 1em;
	}
	.page dl.usage {
		border: dotted 2px var(--dark-gray);
		margin: 1.5em auto;
		width: 95%;
	}
	.page dl.usage dt {
		background-color: #FFF;
		padding: 0 0.75em;
		font-size: 1.25em;
		font-weight: bold;
		display: table;
		margin: -1em auto 0;
		color: var(--dark-blue);
	}
	.page dl.usage dd > img {
		width: 80%;
	}
	.page dl.usage dd:last-of-type {
		padding: 0 1em 1em;
	}
	.page .feature {
		margin: 3em 0;
	}
	.page h4 {
		background-color: var(--dark-blue);
		color: #FFF;
		font-size: 1.25em;
		padding: 0.25em 0.75em;
		border-radius: 5px;
		display: table;
		margin: -15px auto;
	}
	.page .feature:nth-last-of-type(2) > h4 {
		left: 10px;
		right: auto;
	}
	.page .box {
		border: solid 1px var(--dark-gray);
		background-color: var(--light-blue);
		padding: 2em 1em 1em;
		margin: 0 1.5em;
		z-index: -1;
		position: relative;
	}
	.page .box p {
		padding: 0 1em 0.5em;
		margin: auto;
	}
	.page .box img {
		width: 40%;
	}
	.page .feature + p {
		margin: 0 0 3em;
	}
	.page h3.recommend {
		background-color: var(--dark-blue);
		color: #FFF;
		font-size: 1.25em;
		display: block;
		margin: 0;
		padding: 0.25em 0;
	}
	.page h3.recommend::before {
		content: none;
	}
	.page p.name {
		font-size: 1.15em;
		font-weight: bold;
		border-left: solid 7px var(--blue);
		padding: 0 0 0 0.5em;
		margin: 1.5em 0 0 0.5em;
	}
	.page .product {
		margin: 0.5em 0.5em 0;
		border: solid 1px var(--gray);
		padding: 1em 0.5em 0;
	}
	.page .product .detail {
		position: relative;
		margin: 0.5em 0 4em 0;
	}
	.page .product .detail > p {
		margin: 0 0 0 1em;
	}
	.page .product .detail > a.link {
		padding: 0.5em 2em;
		border-radius: 20px;
		margin: 0.5em auto 0;
		background-color: var(--blue);
		display: table;
		color: #FFF;
		position: absolute;
		right: 0;
		left: 0;
	}
	.page .product .detail > a.link::after {
		content: "";
		background-image: url("/parts/contents/find-best-printer/icon_arrow.png");
		background-repeat: no-repeat;
		width: 22px;
		height: 22px;
		vertical-align: middle;
		display: inline-block;
		margin: 0 0.25em;
	}
	.page a.btn--orange {
		background-color: #F79101;
		border-bottom: solid 5px #A1660D;
		margin: 30px auto 40px;
		padding: 0.5em 3em;
		font-size: 1.3em;
		border-radius: 20px;
		display: table;
		color: #FFF;
		font-weight: bold;
	}
	.page a.btn::after {
		content: "";
		background-image: url("/parts/contents/find-best-printer/arrow_icon.png");
		background-repeat: no-repeat;
		width: 21px;
		height: 24px;
		background-size: contain;
		display: inline-block;
		margin: 0 0 0 0.25em;
		vertical-align: middle;
	}
}