body {
	font-family: 'Noto Sans JP', "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color: #222;
	width: 100%;
	max-width: 700px;
	margin: 0 auto;
}
img {
	width: 100%;
	height: auto;
}
.large {
	font-size: 120%;
}
.larger {
	font-size: 133.5%;
}
.font_90 {
	font-size: 90%;	
}
.font_75 {
	font-size: 75%;	
}
.small {
	font-size: 14px;
}
.smaller {
	font-size: 12px;
}
.letter {
	letter-spacing: -0.05em;
}
.bold {
	font-weight: bold;
}
.bolder {
	font-weight: bolder;
}
.center {
	text-align: center;
}
.left {
	text-align: left;
}
.right {
	text-align: right;
}
.italic {
	font-style: italic;
}
.red {
	color: #ff0000;
}
.blue {
	color: #1487d8;
}
.dark_blue {
	color: #123d6e;
}
.yellow {
	color: #ffff00;
}
.green {
	color: #237035;
}
.star_yellow {
	color: #f9ce04;
}
.marker {
	background: linear-gradient(transparent 60%, #ff0 60%);
    padding: 0 0.25em;
}
.marker_red {
	background: linear-gradient(transparent 5%, #ffc9af 5%);
	line-height: 1.6;
    padding: 0 0.25em;
}
.a_link {
	color: #00b;
	text-decoration: underline;
	line-height: 1.2;
}
.annotation {
	font-size: 10px;
	color: #666;
}
h2 {
    margin-bottom: 0.5em;
}


/* header
-------------------------------------------------------*/
.logo {
	max-width: 10em;
}
.logo img {
    vertical-align: top;
}
.pr_text {
	font-size: 12px;
	text-align: right;
	color: #666;
}
#header {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
@media screen and (max-width: 768px) {
	.pr_text {
		padding: 5px;
	}
}


/* footer
-------------------------------------------------------*/
footer {
	background-color: #464747;
    color: #fff;
	text-align: center;
}
footer .inner:not(:has(a)) {
	padding-top: 10px;
}
footer a {
	line-height: 3em;
	display: inline-block;
	padding: 0 1em;
}


/* 404
-------------------------------------------------------*/
section:has(h1.entry-title) {
	font-size: 2em;
	border: 1px solid #c03014;
	padding: 1em 0;
	margin: 1em 10px;
}
.error404 section {
	text-align: center;
}
.error404 section p {
	margin-bottom: 30px;
}


/* content
-------------------------------------------------------*/
.inner {
	padding: 0 20px 20px;
}
@media screen and (max-width: 768px) {
	.inner {
		padding: 0 10px 20px;
	}
}


/* introduction
-------------------------------------------------------*/


/* comparison
-------------------------------------------------------*/
.comparison_1 {
	background-color: #fdf8ee;
}
.comparison_2 {
	background-color: #f2ffef;
	margin-bottom: 20px;
}
.comparison_2 h2 {
	padding: 20px 10px 0;
}
.comparison {
	letter-spacing: -0.025em;
	table-layout: fixed;
    width: 100%;
	padding-top: 10px;
	tr:nth-of-type(n+2):not(:nth-last-of-type(-n+2)) th,
	tr:not(:nth-of-type(1)):not(:nth-of-type(2)):not(:last-of-type) td {
		border-bottom: 1px solid #cecece;
	}
	tr:nth-of-type(3) td {
		border-bottom: none!important;
	}
	th,
	td {
		text-align: center;
	}
	tr:nth-of-type(4) td {
		padding: 2.5px 2.5px 5px;
	}
	tr:nth-of-type(n+5):not(last-of-type) td {
		line-height: 1.2;
		padding: 5px;
	}
	tr:first-of-type td {
		vertical-align: bottom;
	}
	th {
		width: 4.75em;
	}
	th > div {
		min-height: 4em;
		display: flex;
		justify-content: center;
		align-items: center;
		min-height: 2em;
	}
	tr:nth-of-type(n+3):not(:last-of-type) th {
		font-weight: bold;
		background-color: #007e43;
		color: #fff;
		vertical-align: middle;
	}
	tr:nth-of-type(3) th {
		border-radius: 1.5em 0 0 0;
	}
	tr:nth-last-of-type(2) th {
		border-radius: 0 0 0 1.5em;
	}
	td.va_middle {
		vertical-align: middle;
	}
	tr:first-of-type td:nth-of-type(1) img {
		width: 60px;
	}
	tr:first-of-type td:nth-of-type(2) img {
		width: 50px;
		margin-bottom: -10px;
	}
	tr:first-of-type td:nth-of-type(3) img {
		width: 50px;
		margin-bottom: -10px;
	}
	tr:not(:first-of-type) td:nth-of-type(1) {
		background-color: #fffddf;
		border-right: 2px solid #e3b33b;
		border-left: 2px solid #e3b33b;
	}
	tr:nth-of-type(2) td:nth-of-type(1) {
		border-top: 2px solid #e3b33b;
		height: 10px;
	}
	tr:last-of-type td:nth-of-type(1) {
		border-bottom: 2px solid #e3b33b;
		height: 10px;
	}
	tr:not(:first-of-type):not(:last-of-type) td:nth-of-type(2) {
		border-right: 1px solid #cecece;
	}
	tr:not(:first-of-type):not(:last-of-type) td:nth-of-type(n+2) {
		background-color: #fff;
		box-shadow: 3px 3px 3px #0000001a;
	}
	tr:nth-of-type(3) td a {
		padding: 5px 5px 0;
		display: block;
	}
	tr:nth-of-type(3) td a img {
		width: 65%;
	}
	td .a_link {
		display: block;
		line-height: 1.2;
	}
	tr:nth-last-of-type(2) td {
		padding: 10px!important;
	}
	tr:nth-last-of-type(2) td:first-of-type {
		border-bottom: none!important;
	}
}
@media screen and (max-width: 768px) {
	.comparison {
		tr:nth-last-of-type(2) td {
			padding-right: 2.5px!important;
			padding-left: 2.5px!important;
		}
	}
}

.bg1 {
	display: inline-block;
	width: 3em;
	height: 3em;
	border-radius: 50%;
	border: 12px double #ff0000;
}
.bg2 {
	display: inline-block;
	width: 2.8em;
	height: 2.8em;
	border-radius: 50%;
	border: 4px solid #f9b104;
	margin: 0.1em;
}
.bg3 {
	display: inline-block;
	width: 3em;
	--b: 0.6em;
	aspect-ratio: 1 / cos(30deg);
	clip-path: polygon(50% 0, 100% 100%, 0 100%, 50% 0, 50% var(--b), calc(var(--b) * cos(30deg)) calc(100% - var(--b) / 2), calc(100% - var(--b) * cos(30deg)) calc(100% - var(--b) / 2), 50% var(--b));
	background-color: #1487d8;
	margin: calc((3em - (3em * cos(30deg))) / 2) 0;
}
.cta_button,
.button > input {
    width: 90%;
    margin: 0 auto;
}
.cta_button,
.cta_button_small,
.button > input {
	line-height: 1;
	display: block;
	color: #fff;
	text-align: center;
}
.cta_button,
.cta_button_small {
	background: linear-gradient(#ff0101, #ff9700, #ff4d01);
}
.button > input {
	background-color: #ffa100;
	box-shadow: 0 0.25em 0 #c85700;
	padding: 15px 0 15px 0.5em;
	position: relative;
}
.button:has(> input) > img {
	width: 1.5em;
	position: absolute;
	top: 50%;
	left: 10%;
	transform: translateY(-50%);
	pointer-events: none;
}
.cta_button {
	border-radius: 1.75em;
	box-shadow: 0 0.4em 0 #930000;
	padding: 1.25em 0.5em 1.25em 0;
	margin-bottom: 0.4em;
}
.cta_button_small,
.button > input {
	border-radius: calc(15px + 0.5em);
	margin-bottom: 0.25em;
}
.cta_button_small {
	box-shadow: 0 0.25em 0 #930000;
	padding: 15px 0.5em 15px 0;
}
.cta_button,
.cta_button_small,
.button {
    position: relative;
}
.cta_button::after,
.cta_button_small::after {
	content: '';
    background-color: #fff;
    display: block;
	width: 0.4em;
	height: 1.2em;
	clip-path: polygon(0 25%, 0 0, 100% 50%, 0 100%, 0 75%, 55% 50%);
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
	pointer-events: none;
}
.cta_button::after {
    right: 1em;
}
.cta_button_small::after {
    right: 5px;
}


/* subsidy
-------------------------------------------------------*/
.subsidy {
	padding: 20px 0 40px;
	.inner {
		background-color: #fdf8ee;
		border: 1px solid #ff0000;
		border-radius: 1.5em;
		padding: 20px 80px 20px;
		margin: 0 10px 20px;
	}
	.caution_img {
		width: 40px;
	}
	.inner p:has(+ h2) {
		display: inline-block;
		position: relative;
	}
	.inner p:has(+ h2)::before,
		.subsidy .inner p:has(+ h2)::after {
			content: '';
			background-color: #000;
			display: block;
			width: 0.5em;
			height: 0.8em;
			position: absolute;
			top: calc(50% - 0.35em);
	}
	.inner p:has(+ h2)::before {
		clip-path: polygon(0 20%, 50% 0, 100% 100%);
		left: -0.75em;
	}
	.inner p:has(+ h2)::after {
		clip-path: polygon(50% 0, 100% 20%, 0 100%);
		right: -0.75em;
	}
	.count_down {
		background: linear-gradient(165deg, #ffa54a 50%, #ffdd32 50%);
		border-radius: 1.5em;
		padding: 1em 0;
		margin: 1em 0;
	}
	.count_down > span {
		filter: drop-shadow(0 0 6px #ffdd3280);
	}
	#date_count {
		letter-spacing: 0.05em;
		background-color: #fff;
		border-radius: 0.5em;
		display: inline-block;
		padding: 0.25em 0.5em;
		margin: 0.5em 0 0 0.5em;
	}
	#date_count > span:not(:first-of-type) {
		margin-left: 0.05em;
	}
}
@media screen and (max-width: 768px) {
	.subsidy .inner {
			padding: 20px 10px;
	}
}


/* 3point
-------------------------------------------------------*/
.three_point {
	padding-bottom: 40px;
}
.point_title {
	display: flex;
	background: linear-gradient(60deg, transparent 2em, #237035 2em, #237035 calc(2em + 2px), transparent calc(2em + 2px));
	margin-bottom: 10px;
}
.point_title > span {
	background-color: #237035;
	filter: drop-shadow(-6px -5px 0 #fff);
	color: #fff;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 1.75em;
	height: 1.75em;
}
.point_title > h3 {
	border-bottom: 2px solid #237035;
	padding-left: 0.5em;
	flex: 1;
}
.three_point ul li {
	position: relative;
}
.three_point ul li::before {
	content: '*';
}
p:has(+ .point_title),
ul:has(+ .point_title) {
	margin-bottom: 3em;
}
.three_point p:has(+ img) {
	margin-bottom: 0.5em;	
}


/* content_2
-------------------------------------------------------*/
.content {
	padding-bottom: 20px;
}
.content_2_title {
	display: flex;
	align-items: center;
	border: 4px solid transparent;
	border-radius: 2em;
	background-image: linear-gradient(#fff, #fff), linear-gradient(150deg, #c7e2a5 25%, #fbd907 75%);
	background-origin: border-box;
	background-clip: padding-box, border-box;
	margin-bottom: 10px;
	position: relative;
	padding: 0.25em 0.25em 0.25em 2.5em;
	margin-left: 0.5em;
}
.content_2_title > span {
	background-color: #5cac1b;
	color: #fff;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 2.2em;
	height: 2.2em;
	padding-left: 0.3em;
	position: absolute;
	top: -0.3em;
	left: -0.5em;
}
img:has(+ .content_2_title),
img:has(+ noscript + .content_2_title) {
	margin-bottom: 2em;
}


/* ranking
-------------------------------------------------------*/
.ranking {
    background-color: #eaf4db;
    margin-bottom: 20px;
}
.ranking h2 {
    padding: 20px 10px 0;
}


/* list
-------------------------------------------------------*/
.box {
	background-color: #fff;
    border: 3px solid #acde47;
    border-radius: 10px;
    padding: 0 50px 15px;
}
.inner .box:first-of-type:has(.box_rank) {
    margin-top: 30px;
}
.inner .box:not(:last-of-type) {
	margin-bottom: 50px;
}
.box > *:not(:last-child) {
	margin-bottom: 20px;
}
.box a {
	display: block;
}
.box_rank {
	position: relative;
}
.box_rank > img {
    width: 2em;
}
.rank_icon1::after {
	content: '1';
}
.rank_icon2::after {
	content: '2';
	color: #fff;
}
.rank_icon3::after {
	content: '3';
	color: #fff;
}
.box_rank::after {
	font-size: 110%;
	font-weight: bold;
	position: absolute;
	bottom: 0.45em;
	left: 50%;
	transform: translateX(-50%);
}
.box_title {
    border-bottom: 3px solid #0fafff;
    display: flex;
	align-items: flex-end;
}
.box_title:has(.box_rank) {
    margin-top: -10px;
}
.box_title:not(:has(.box_rank)) {
	padding-top: 10px;
}
.box_title h4 {
	font-size: 160%;
	line-height: 1em;
    padding: 0 0 0.3em 0.35em;
	flex: 1;
}
.box_banner {
	border-radius: 10px;
}
.stars {
	display: flex;
    flex-wrap: wrap;
	background-color: #fff;
    border: 3px solid #0fafff;
    border-radius: 10px;
    padding: 10px 50px;
}
.star_all {
	display: flex;
	align-items: flex-end;
	border-bottom: 2px solid #0fafff;
	line-height: 1;
	width: 100%;
	margin-bottom: 10px;
}
.star_all h5 {
    background-color: #0fafff;
    color: #fff;
    border-radius: 5px 5px 0 0;
    line-height: 1;
    padding: 0.5em;
}
.star_all p {
    padding-bottom: 0.35em;
}
.five_star {
    white-space: nowrap;
    color: #ccc;
    margin: 0 0.5em;
    position: relative;
}
.five_star::after {
	content: '★★★★★';
	overflow: hidden;
	color: #f9ce04;
	position: absolute;
	left: 0;
}
.five_star[data-rate="1.0"]:after{ width: 20%; }
.five_star[data-rate="1.1"]:after{ width: 22%; }
.five_star[data-rate="1.2"]:after{ width: 24%; }
.five_star[data-rate="1.3"]:after{ width: 26%; }
.five_star[data-rate="1.4"]:after{ width: 28%; }
.five_star[data-rate="1.5"]:after{ width: 30%; }
.five_star[data-rate="1.6"]:after{ width: 32%; }
.five_star[data-rate="1.7"]:after{ width: 34%; }
.five_star[data-rate="1.8"]:after{ width: 36%; }
.five_star[data-rate="1.9"]:after{ width: 38%; }
.five_star[data-rate="2.0"]:after{ width: 40%; }
.five_star[data-rate="2.1"]:after{ width: 42%; }
.five_star[data-rate="2.2"]:after{ width: 44%; }
.five_star[data-rate="2.3"]:after{ width: 46%; }
.five_star[data-rate="2.4"]:after{ width: 48%; }
.five_star[data-rate="2.5"]:after{ width: 50%; }
.five_star[data-rate="2.6"]:after{ width: 52%; }
.five_star[data-rate="2.7"]:after{ width: 54%; }
.five_star[data-rate="2.8"]:after{ width: 56%; }
.five_star[data-rate="2.9"]:after{ width: 58%; }
.five_star[data-rate="3.0"]:after{ width: 60%; }
.five_star[data-rate="3.1"]:after{ width: 62%; }
.five_star[data-rate="3.2"]:after{ width: 64%; }
.five_star[data-rate="3.3"]:after{ width: 66%; }
.five_star[data-rate="3.4"]:after{ width: 68%; }
.five_star[data-rate="3.5"]:after{ width: 70%; }
.five_star[data-rate="3.6"]:after{ width: 72%; }
.five_star[data-rate="3.7"]:after{ width: 74%; }
.five_star[data-rate="3.8"]:after{ width: 76%; }
.five_star[data-rate="3.9"]:after{ width: 78%; }
.five_star[data-rate="4.0"]:after{ width: 80%; }
.five_star[data-rate="4.1"]:after{ width: 82%; }
.five_star[data-rate="4.2"]:after{ width: 84%; }
.five_star[data-rate="4.3"]:after{ width: 86%; }
.five_star[data-rate="4.4"]:after{ width: 88%; }
.five_star[data-rate="4.5"]:after{ width: 90%; }
.five_star[data-rate="4.6"]:after{ width: 92%; }
.five_star[data-rate="4.7"]:after{ width: 94%; }
.five_star[data-rate="4.8"]:after{ width: 96%; }
.five_star[data-rate="4.9"]:after{ width: 98%; }
.five_star[data-rate="5.0"]:after{ width: 100%; }
.star {
	display: flex;
	width: calc(100% / 3);
}
.star:nth-of-type(3n + 3) {
	justify-content: center;
}
.star:nth-of-type(3n + 4) {
	justify-content: end;
}
.star h5 {
	margin-right: 0.25em;
}
.box_table {
	table-layout: fixed;
    width: 100%;
}
.box_table th,
.box_table td {
	border: 1px solid #005ab9;
	text-align: center;
	vertical-align: middle;
	padding: 0.25em 0;
}
.box_table th {
	background-color: #88c9ea;
	color: #fff;
}
.box_table td {
	background-color: #fff;
}
.features,
.example,
.text_top {
	background-color: #fff;
    border-radius: 10px;
    padding: 10px 50px;
}
.features li {
	padding-left: 1em;
}
.features li::before {
	content: '';
	background-color: #88c9ea;
	display: inline-block;
	width: 0.8em;
	height: 0.8em;
	border-radius: 50%;
	margin-left: -1em;
	margin-right: 0.2em;
}
.features_t1 {
	background-color: #0fafff;
	line-height: 1.2;
	padding: 0.5em 0;
}
.notes {
	background-color: #fffddb;
	border: 3px solid #ff6600;
	padding: 10px;
}
.triangle-wrap svg {
	position: relative;
	width: 2.5em;
	height: auto;
	transform: scaleY(0.88);
	display: block;
	margin: 0 auto;
}
.notes ol {
	counter-reset: num;
	padding-left: 1.5em;
	margin: 0.25em 0;
}
.notes ol li {
	list-style: none;
	counter-increment: num;
	position: relative;
}
.notes ol li::before {
	content: counter(num);
	position: absolute;
	top: 0.2em;
	left: -1.5em;
	width: 1.2em;
	height: 1.2em;
	border-radius: 50%;
	border: 1px solid #333;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.9em;
}
.features dl {
	counter-reset: term;
}
.features dt {
	display: inline;
}
.features dt::before {
	counter-increment: term;
	content: counter(term) ". ";
	font-weight: bold;
}
.features dd {
	padding-left: 1.5em;
}
.features dd:has(+ dt) {
	margin-bottom: 1em;
}
.example_data {
	display: flex;
}
.example_data.data1 { width: calc(45% * 1); }
.example_data.data2 { width: calc(45% * 2); }
.example_data.data3 { width: calc(45% * 3); }
.example_data.data4 { width: calc(45% * 4); }
.example_data.data5 { width: calc(45% * 5); }
.example_data > div:not(:last-child) {
	padding-right: 10px;
}
.example_data > div > p:has(img) {
    border: 1px solid #d6d6d6;
    padding: 10px;
}
.editorsrating {
	background-color: #fff;
	border: 3px solid #123d6e;
	padding: 10px 50px;
}
.editorsrating h5 {
	margin-bottom: 0.5em;
}
.campaign {
	background-color: #fffddb;
	border: 3px solid #f00;
	border-radius: 10px;
	padding: 10px 50px;	
}
.campaign h5 {
	line-height: 1.2;
}
.cta {
	text-align: center;
}
.cta > p {
    margin-bottom: 0.5em;
}
.cta > p::before,
.cta > p::after {
	content: '';
	display: inline-block;
	width: 0.5em;
	height: 1.2em;
	background-color: #123d6e;
	margin-bottom: -0.1em;
}
.cta > p::before {
	clip-path: polygon(0 0, 20% 0, 100% 100%, 80% 100%);
	margin-right: -0.5em;
}
.cta > p::after {
	clip-path: polygon(80% 0, 100% 0, 20% 100%, 0 100%);
	margin-left: -0.5em;
}
@media screen and (max-width: 768px) {
	.box,
	.stars,
	.features,
	.example,
	.text_top,
	.editorsrating,
	.campaign {
		padding-right: 10px;
		padding-left: 10px;
	}
}


/* searchform
-------------------------------------------------------*/
.searchform {
	background-color: #fff7e8;
	position: relative;
	padding-bottom: 20px;
	margin-bottom: 20px;
	& > * {
		position: relative;
		z-index: 1;
	}
	.searchform_bg {
		position: absolute;
	}
	.searchform_title img {
		padding: 10px 0;
	}
	.searchform_title img {
		width: 90%;
	}
	form {
		background-color: #fff;
		border: 5px solid #616161;
		border-radius: 5px;
		box-shadow: 5px 5px 0 #fe6f01;
		padding: 20px 100px;
	}
	form h3 {
		line-height: 1.1;
		background: linear-gradient(to left, #fe6f01 10px, #fff 10px, #fff 13px, #FE6F01 13px);
		color: #fff;
		display: flex;
		align-items: flex-start;
		width: fit-content;
		padding: 0.5em calc(2em + 13px) 0.5em 1em;
		margin-bottom: 1em;
	}
	form h3 img {
		width: 1.2em;
		margin: -0.1em 0.25em 0.1em 0;
	}
	form div:not(.submit) {
		display: flex;
		flex-wrap: wrap;
		margin-bottom: 2em;
	}
	form div h4 {
		width: 100%;
		color: #fe6f01;
		border-left: 5px solid;
		padding-left: 0.5em;
		margin-bottom: 0.5em;
	}
	form div h4:not(:first-of-type) {
		margin-top: 1em;
	}
	form div label {
		line-height: 1;
		padding: 0.5em;
		position: relative;
	}
	form div.atk label {
		width: calc(100% / 3);
	}
	form div.pts label {
		width: 50%;
	}
	form div label:has(input[type="radio"])::before {
		content: '';
		background-color: #ffebc2;
		border: 1px solid;
		border-radius: 50%;
		display: inline-block;
		width: 1em;
		height: 1em;
		margin-right: 0.25em;
		position: relative;
		top: 50%;
		transform: translateY(-50%);
	}
	form div label:has(input[type="radio"]:checked)::after {
		content: '';
		background-color: #fe6f01;
		border-radius: 50%;
		display: inline-block;
		width: calc(1em - 4px);
		height: calc(1em - 4px);
		position: absolute;
		top: 50%;
		left: calc(0.5em + 2px);
		transform: translateY(-50%);
	}
	.cb {
		background-color: #ffebc2;
		border: 1px solid;
		display: inline-block;
		width: 1em;
		height: 1em;		
		margin-right: 0.25em;
	}
	form div label:has(input[type="checkbox"]:checked)::before {
		content: '';
		background-color: #fe6f01;
		display: inline-block;
		width: calc(1em - 4px);
		height: calc(1em - 4px);
		position: absolute;
		top: 50%;
		left: calc(0.5em + 2px);
		transform: translateY(-50%);
	}
	form div label:has(input[type="checkbox"]:checked)::after {
		content: '';
		background-color: #fff;
		display: inline-block;
		clip-path: polygon(30% 43%,41% 55%, 88% 10%, 100% 20%, 40% 80%, 20% 55%);
		width: calc(1em - 4px);
		height: calc(1em - 4px);
		position: absolute;
		top: 50%;
		left: calc(0.5em + 2px);
		transform: translateY(-50%);
	}
}
@media screen and (max-width: 768px) {
	.searchform form {
		padding-right: 10px;
		padding-left: 10px;
	}
}


/* search
-------------------------------------------------------*/
.conditions {
	background-color: #f3f4f5;
	padding: 10px;
}
.conditions ul {
	padding: 0.5em 0;
	display: flex;
	flex-wrap: wrap;
}
.conditions ul li {
	width: calc(100% / 3);
}
.conditions ul li > span {
	display: inline-block;
    width: 4em;
}
.sort .inner {
	display: flex;
}
.sort a {
	display: flex;
	justify-content: center;
	background-color: #fff;
	border: 1px solid #1487d8;
	border-radius: 3px;
	line-height: 1.2;
	width: calc((100% - 1em) / 3);
	padding: 0.5em 0;
}
.sort a.current {
	background-color: #1487d8;
	color: #fff;
}
.sort a:not(:last-child) {
	margin-right: 0.5em;
}
.pagination {
	display: flex;
	justify-content: center;
    margin-top: 20px;
}
.pagination li > * {
	border: 1px solid #1487d8;
    border-radius: 3px;
	display: flex;
	justify-content: center;
	line-height: 1.2;
	padding: 0.5em 0;
	width: 2.2em;
}
.pagination li.current > * {
	background-color: #1487d8;
	color: #fff;
}
.pagination li:not(:last-child) {
	margin-right: 0.5em;
}
@media screen and (max-width: 768px) {
	.conditions ul li {
		width: 50%;
	}
}


/* search recommend
-------------------------------------------------------*/
svg {
	position:absolute;
	width:0;
	height:0;
	overflow:hidden; 
}
.recommend {
	background: linear-gradient(#fbb97e calc(100% - 20px), transparent calc(100% - 20px));
	padding-bottom: 20px;
}
.recommend h2 {
	display: flex;
	justify-content: center;
	align-items: center;
	color: #f84f28;
	text-align: center;
	padding: 10px 0;
	filter: url(#outline-2px);
}
.recommend h2 img {
	width: auto;
	height: 1.8em;
	position: relative;
	top: 0.6em;
}
.triangle {
	position: relative;
	width: 0;
	height: 0;
}
.triangle::before,
.triangle::after {
	content: '';
	position: absolute;
	width: 0.75em;
	height: 1.5em;
	background: #f84f28;
	clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
}
.triangle.before::before {
	top: -0.4em;
	left: -1.5em;
	transform: rotate(-65deg);
}
.triangle.before::after {
	top: -1.75em;
	left: -0.75em;
	transform: rotate(-35deg);
}
.triangle.after::before {
	top: -0.4em;
	right: -1.5em;
	transform: rotate(65deg);
}
.triangle.after::after {
	top: -1.75em;
	right: -0.75em;
	transform: rotate(35deg);
}


/* single
-------------------------------------------------------*/
.single_main {
	display: flex;
	flex-flow: column;
	justify-content: center;
	align-items: center;
	height: 90vh;
	padding: 0 10px;
}
.single_main > * {
	margin-bottom: 1em;
}
.single_main img {
	max-width: 450px;
}
.load {
	padding: 53px 0;
	position: relative;
}
.load .text {
	font-size: 14px;
	line-height: 1;
	letter-spacing: -0.05em;
	color: #848484;
}
.load .content {
	width: 120px;
	height: 120px;
	margin: -67px 0 0;
	position: absolute;
	left: calc(50% - 60px);
	border: 3px solid transparent;
	border-top-color: #b5b5b5;
	border-bottom-color: #b5b5b5;
	border-radius: 50%;
	animation: loader 2s linear infinite;
}
.load .content:before {
	content: "";
	position: absolute;
	left: 5px;
	right: 5px;
	top: 5px;
	bottom: 5px;
	border: 3px solid transparent;
	border-top-color: #ccc;
	border-bottom-color: #ccc;
	border-radius: 50%;
	animation: loader 3s linear infinite;
}
.load .content:after {
	content: "";
	position: absolute;
	left: 15px;
	right: 15px;
	top: 15px;
	bottom: 15px;
	border: 3px solid transparent;
	border-top-color: #e5e5e5;
	border-bottom-color: #e5e5e5;
	border-radius: 50%;
	animation: loader 1.5s linear infinite;
}
@keyframes loader {
	0% {
		-webkit-transform: rotate(0deg);
		-ms-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		-ms-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}
.link a {
	font-weight: bold;
	text-decoration: underline;
	margin: 0 0.25em;
}


/* page_company
-------------------------------------------------------*/
#page_company h2,
#page_company table {
	margin-bottom: 2em;
}
#page_company th {
	background-color: #eee;
	color: #626262;
	width: 35%;
}
#page_company th,
#page_company td {
    border: 1px solid #626262;
}
#page_company h3 {
	background-image: linear-gradient(90deg, #0fafff 5px, transparent 6px);
	padding: 0.5em 0 0.5em calc(5px + 1em);
	margin-bottom: 1em;
}
#page_company hr {
	margin: 2em 0;
	border: none;
	border-bottom: 1px solid #616161;
}
#page_company ol li {
	list-style-type: auto;
	padding: 0 0 0.5em 0.5em;
	margin-left: 1.5em;
}
#page_company ol + ul li {
	list-style-type: disc;
	margin-left: 3.5em;
}


/* modal_pw
-------------------------------------------------------*/
#center-modal-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,0.8);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 9999;
	}
#center-modal {
	position: relative;
	max-width: 100%;
	width: 400px;
	text-align: center;
}
#center-modal .modal-close {
	color: #fff;
	position: absolute;
	top: -1.5em;
	right: 0.5em;
	background: none;
	border: none;
	font-size: 1.5em;
	cursor: pointer;
}
.modal-banner {
	width: 100%;
	height: auto;
	display: block;
	margin-bottom: 20px;
}