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;
}
.star_yellow {
	color: #f9ce04;
}
.marker {
	background: linear-gradient(transparent 60%, #ff0 60%);
    padding: 0 0.5em;
}
.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;
}
.title_blue {
	background-image: linear-gradient(90deg, #1487d8 14px, #0fafff 15px);
	color: #fff;
	padding: 0.25em 0;
}
.title_lightblue {
	background-image: linear-gradient(90deg, #52b5e8 12px, #88c9ea 13px);
	color: #fff;
	padding: 0.25em 0;
	margin-bottom: 0.5em;
}
.scroll-x2 {
	overflow-x: auto;
}
@media screen and (max-width: 768px) {
	.inner:has(.scroll-x) {
		position: relative;
		padding-right: 0;
		padding-left: 0;
	}
	.inner:has(.scroll-x)::after {
		content: "";
		background: linear-gradient(to right, transparent, #fff);
		display: block;
		width: 10px;
		height: 100%;
		position: absolute;
		right: 0;
		top: 0;
	}
	.scroll-x {
		overflow-x: scroll;
	}
	.scroll-x > * {
		padding: 0 10px;
	}
	.scroll-x2 {
		letter-spacing: -0.025em;
	}
}


/* 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
-------------------------------------------------------*/
#introduction h1,
.logos {
	margin-bottom: 10px;
}
.logos {
	overflow: hidden;
	width: 100%;
}
.logos ul {
	display: flex;
	animation: scroll 50s linear infinite;
}
.logos ul li {
	flex: 0 0 auto;
	margin-right: 20px;
}
.logos ul li img {
	height: 35px;
	width: auto;
}
@keyframes scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(var(--move-width)); }
}


/* introduction
-------------------------------------------------------*/
#introduction .inner img {
	margin: 1em 0;
}
.top_content {
	padding-top: 1em;
}


/* comparison
-------------------------------------------------------*/
.comparison_1 {
	letter-spacing: -0.025em;
	table-layout: fixed;
    width: calc(100% - 20px);
    margin-left: 10px;
}
.comparison_1 tr:not(:first-of-type) th,
.comparison_1 tr:not(:first-of-type) td {
	border: 1px solid #626262;
}
.comparison_1 tr:nth-of-type(2) td {
	border-bottom: none;
}
.comparison_1 tr:nth-of-type(3) td {
	border-top: none;
}
.comparison_1 th,
.comparison_1 td {
    text-align: center;
}
.comparison_1 tr:nth-of-type(2) td {
    padding: 5px 5px 0;
}
.comparison_1 tr:nth-of-type(3) td {
    padding: 2.5px 2.5px 5px;
}
.comparison_1 tr:nth-of-type(n+4) td {
    font-size: 12px;
    padding: 5px;
}
.comparison_1 tr:first-of-type td {
    vertical-align: bottom;
}
.comparison_1 th {
    width: 4.75em;
}
.comparison_1 th > div {
	min-height: 4em;
    display: flex;
    justify-content: center;
    align-items: center;
}
.comparison_1 th > div {
	min-height: 2em;
}
.comparison_1 tr:not(:first-of-type) th {
	font-weight: bold;
	background-color: #eee;
	color: #626262;
    vertical-align: middle;
}
.comparison_1 td.va_middle {
    vertical-align: middle;
}
.comparison_crown {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	clip-path: polygon(50% 0%, 70% 40%, 100% 20%, 80% 100%, 20% 100%, 0 20%, 30% 40%);
	padding-top: 5%;
}
.comparison_crown.rank1 {
	background-color: #edcb3a;
	width: 60px;
	height: 50px;
}
.comparison_crown.rank2 {
	background-color: #adadad;
    width: 42px;
    height: 35px;
}
.comparison_crown.rank3 {
	background-color: #8c6d2b;
    width: 42px;
    height: 35px;
}
.comparison_1 td:has(.comparison_crown.rank1) {
	background-image: linear-gradient(transparent calc(100% - 6px), #edcb3a calc(100% - 5px));
}
.comparison_1 td:has(.comparison_crown.rank2) {
	background-image: linear-gradient(transparent calc(100% - 6px), #adadad calc(100% - 5px));
}
.comparison_1 td:has(.comparison_crown.rank3) {
	background-image: linear-gradient(transparent calc(100% - 6px), #8c6d2b calc(100% - 5px));
}
.comparison_1 td .a_link {
	display: block;
	line-height: 1.2;
}
.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: 80%;
    margin: 0 auto;
	box-shadow: 0 0.25em 0 #ae3c03;
}
.cta_button,
.cta_button_small,
.button > input {
    display: block;
    border-radius: 10px;
    background-color: #ff6600;
    color: #fff;
    line-height: 1;
    text-align: center;
	padding: 20px calc(0.4em + 5px) 20px 0;
}
.cta_button,
.cta_button_small,
.button {
    position: relative;
}
.cta_button::after,
.cta_button_small::after,
.button::after {
 content: '';
    background-color: #fff;
    display: block;
    width: 0.4em;
    height: 0.8em;
    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;
}
.button::after {
	right: calc(10% + 1em);
}
.comparison .scroll-x + .annotation {
    padding: 0 20px;
}
@media screen and (max-width: 768px) {
	.comparison_1 tr:nth-of-type(n+4) td {
		padding: 5px 2.5px;
	}
	.comparison .scroll-x + .annotation {
		padding: 0 10px;
}
}


/* list
-------------------------------------------------------*/
.box {
	background-color: #dbf1fc;
    border: 3px solid #fff;
    border-radius: 10px;
    filter: drop-shadow(0 0px 5px #00000030);
    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;
	}
}


/* 3point
-------------------------------------------------------*/
.point_title {
	border-bottom: 3px solid #0fafff;
	display: flex;
	align-items: center;
	padding-bottom: 0.5em;
	margin-bottom: 0.5em;
}
p + .point_title {
	border-top: 3px solid #0fafff;
	padding-top: 0.5em;
}
.point_title > img {
	width: 2.5em;
	margin-right: 0.5em;
}
p:has(+ .point_title) {
	margin-bottom: 2em;
}


/* searchform
-------------------------------------------------------*/
.searchform summary {
	background-color: #dbf1fc;
	padding: 1em 0.5em;
	margin: 0 20px 20px;
	position: relative;
}
.searchform details summary::after {
	content: '';
	background-color: #123d6e;
	display: block;
	width: 1em;
	height: 0.65em;
	position: absolute;
	top: 50%;
	right: 0.5em;
	transform: translateY(-50%);
}
.searchform details:not([open]) summary::after {
	clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.searchform details[open] summary::after {
	clip-path: polygon(50% 0, 100% 100%, 0 100%);
}
.searchform details:not([open]) .summary_text::after {
	content: '開く';
}
.searchform details[open] .summary_text::after {
	content: '閉じる';
}
form {
	background-color: #f3f4f5;
	padding: 10px 10px 25px;
}
form h4,
.conditions h4 {
	background-color: #5c7d94;
	color: #fff;
	padding: 0.25em 0 0.25em 0.5em;
}
form h4 + div {
	display: flex;
	flex-wrap: wrap;
	padding: 0.5em 0 1em;
}
form label {
    display: flex;
	flex-flow: column;
    justify-content: center;
    align-items: center;
    background-color: #fff;
    border: 1px solid #1487d8;
    border-radius: 3px;
	line-height: 1.2;
	width: calc((100% - 1em) / 3);
	padding: 0.5em 0;
	margin: 0.25em 0;
}
form label:has(input:checked)  {
    background-color: #1487d8;
    color: #fff;
}
form label:not(:nth-child(3n)) {
    margin-right: 0.5em;
}
form select {
	border: 1px solid #6b7277;
	border-radius: 3px;
	width: 100%;
	padding: 0.5em 1em;
}
form div:has(select) {
	position: relative;
}
form div:has(select)::after {
	content: '';
	background-color: #4b4b4b;
	display: block;
	width: 1em;
	height: 1em;
	position: absolute;
	top: calc(50% - 0.25em);
	right: 1em;
	transform: translateY(-50%);
	clip-path: polygon(0% 35%, 50% 85%, 100% 35%, 85% 20%, 50% 55%, 15% 20%);
	pointer-events: none;
}
@media screen and (max-width: 768px) {
	.searchform summary {
		margin-right: 10px;
		margin-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;
}