html {
	scroll-behavior: smooth;
}

body {
	position: relative;
	overflow-x: hidden;
	width: 100%;
	min-height: 100vh;
	height: 100%;
	background-image: linear-gradient(150deg, rgb(23, 26, 22) 10%, rgba(25, 165, 68, 1) 40%, rgba(52, 191, 51, 1) 68%, rgb(21, 44, 24) 90%);
	background-attachment: fixed;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	z-index: -2;
}

body::after {
	content: '';
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	min-height: 100vh;
	height: 100%;
	background-color: transparent;
	background-image: linear-gradient(90deg, #ffffff80 1px, transparent 1px), linear-gradient(#ffffff80 1px, transparent 1px);
	background-position: 10px 10px;
	background-size: 21px 21px;
	background-attachment: fixed;
	z-index: -1;
}

.sp {
	display: none;
}

.serif {
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-style: normal;
}

#mainBody {
	margin: 0 auto;
	max-width: 1200px;
	width: 100%;
	height: 100%;
	background-color: #ffffff;
	background-image: linear-gradient(90deg, #f4f4f4 1px, transparent 1px), linear-gradient(#f4f4f4 1px, transparent 1px);
	background-position: 10px 10px;
	background-size: 21px 21px;
}

a,
img {
	display: block;
}

.red {
	color: rgb(226, 8, 8);
}

.yellow {
	color: rgb(239, 239, 1);
}

@media screen and (max-width:599px) {
	.pc {
		display: none !important;
	}

	.sp {
		display: block !important;
	}

	#mainBody {
		overflow-x: hidden;
	}
}

@media screen and (max-width:1200px) {
	.top1[data-overDirection~="full"] {
		width: 100vw;
		margin: 0 calc(50% - 50vw);
	}
}

/*-----------------------------
LINE
-------------------------------*/
.fixed_btn {
	position: fixed;
	z-index: 999;
	display: flex !important;
	align-items: center;
	background: #06C755;
	padding: .5em 1em .5em 0em;
	border: 5px solid #ffffff;
	border-radius: 25px;
	bottom: 50px;
	right: 20px;
	color: #fff;
	width: fit-content !important;
	flex-direction: row !important;
}

.lineIcon {
	width: 70px;
	aspect-ratio: 1;
}

.fixed_btn p {
	font-size: 18px;
	font-weight: bold;
	line-height: 1.2;
}

.fixed_btn p span {
	font-size: 170%;
}

@media screen and (max-width:767px) {
	.fixed_btn {
		border-radius: 20px;
		bottom: 30px;
		right: 10px;
		border: 2px solid #ffffff;
		padding: .5em .5em .5em 0em;

	}

	.lineIcon {
		width: 40px;
	}

	.fixed_btn p {
		font-size: 12px;
	}

	.fixed_btn p span {
		font-size: 170%;
	}
}

/*-------------------------------------
TOP1
---------------------------------------*/
.top1 {
	width: 100%;
	height: 700px;
	background: url(./img/top_haikei_01.png)no-repeat;
	background-size: cover;
	overflow: hidden;
	position: relative;
	z-index: 1;
}

.top1Img1 {
	height: 100%;
	width: 50%;
	background: url(./img/top_uma2.png)no-repeat;
	background-size: contain;
	background-position: bottom;
	position: absolute;
	left: -70px;
	transform: translateX(-100%);
}

.top1Img1.active {
	transition: 1s;
	transform: translateX(0%);
}

.top1Img2 {
	background: url(./img/top_moji_title2.png) no-repeat;
	background-size: contain;
	width: 50%;
	height: 100%;
	position: relative;
	left: 50%;
	z-index: 2;
	transform: translateY(-100%);
	opacity: 0;
}

.top1Img2.active {
	opacity: 1;
	transition: 1s;
	transform: translateY(0%);
}

.top1Img2_1 {
	background: url(./img/top_moji_title_sub2.png)no-repeat;
	width: 100%;
	height: 200px;
	background-size: contain;
	position: absolute;
	top: 50%;
	right: 21%;
}

.mainRanking .top1Img2_1,
.mainRanking2 .top1Img2_1 {
	height: 180px;
}

@media screen and (max-width:1200px) {
	.top1 {
		height: 58.33vw;
	}

	.top1Img1 {
		left: -5.83vw;
	}

	.top1Img2_1 {
		height: 16.67vw;
	}

	.mainRanking .top1Img2_1,
	.mainRanking2 .top1Img2_1 {
		height: 13.67vw;
	}
}

/*------------------------------------
TOP2
--------------------------------------*/
.top2 {
	position: relative;
}

.top2Text {
	background: url(./img/moji_02.png)no-repeat;
	background-size: contain;
	height: 240px;
	margin: 30px 50px;
}

.top2LabelArea {
	width: 100%;
	height: 240px;
	background-image: linear-gradient(130deg, #000000 20%, #f0b649 40%, #000000 60%);
	padding: 0px 50px 20px;
}

.top2Label {
	display: flex;
	gap: 30px;
}

.top2Label span {
	width: 220px;
	height: 220px;
}

.top2Label span:nth-child(1) {
	background-image: url(./img/tekicyuu.png);
	background-repeat: no-repeat;
	background-size: contain;
}

.top2Label span:nth-child(2) {
	background-image: url(./img/kaisyuu.png);
	background-repeat: no-repeat;
	background-size: contain;
}

.top2Label span:nth-child(3) {
	background-image: url(./img/manzoku.png);
	background-repeat: no-repeat;
	background-size: contain;
}

.top2Img {
	position: absolute;
	width: 100%;
	height: 110%;
	background: url(./img/kuro_uma2.png)no-repeat;
	background-size: contain;
	background-position: right;
	right: 0;
	bottom: 0;
	z-index: 1;
}

@media screen and (max-width:1200px) {
	.top2Text {
		height: 20vw;
		margin: 2.5vw 4.17vw;
	}

	.top2Label span {
		width: 18.33vw;
		height: 18.33vw;
	}

	.top2LabelArea {
		height: 20vw;
		padding: 0px 4.17vw 1.67vw;
	}
}

@media screen and (max-width:599px) {
	.top2Text {
		height: 22vw;
		margin: 2.5vw 2.17vw;
	}

	.top2Label span {
		width: 24.33vw;
		height: 24.33vw;
	}

	.top2LabelArea {
		height: 28vw;
		padding: 0px 2.17vw 1.67vw;
	}

	.top2Label {
		gap: 0px;
	}

	.top2Img {
		height: 100%;
	}
}

/*-------------------------------------
TOP3
---------------------------------------*/
.top3 {
	position: relative;
}

.top3Img {
	position: absolute;
	left: 20px;
	z-index: 3;
	width: 350px;
}

.top3back1 {
	background: url(./img/haikei_grey.webp)no-repeat;
	background-size: cover;
	padding: 1em 0;
}

.top3Text img {
	margin-left: auto;
	margin-right: 20px;
}

.top3back2 {
	background: url(./img/gold_obi.png);
	background-size: cover;
	padding: 3em 0 2em;
}

@media screen and (max-width:1200px) {
	.top3Img {
		left: 1.67vw;
		width: 29.17vw;
	}

	.top3Text img {
		width: 71.67vw;
	}

	.top3back2 {
		padding: 1.5em 0 1em;
	}
}

@media screen and (max-width:599px) {
	.top3Img {
		width: 32.17vw;
		top: 4.83vw;
	}

	.top3Text img {
		margin-left: auto;
		margin-right: 10px;
	}
}

/*------------------------------------
比較表
--------------------------------------*/
.graphArea {
	overflow-x: scroll;
	position: relative;
}

.compareTable {
	display: table;
	width: max-content;
	background: #fff;
	border-collapse: collapse;
}

.compareTable tr {
	display: table-row;
}

.compareTable td {
	display: table-cell;
	vertical-align: middle;
	border: 1px solid #555;
}

.ctTitle {
	background: #000;
	color: #fff;
	text-align: center;
	text-wrap: nowrap;
	font-size: 18px;
	padding: .4em 1em;
}

.ctEntry {
	width: 500px;
	height: 100%;
	padding: 10px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.ctEntry p {
	font-size: 20px;
	margin-bottom: 1em !important;
}

.ctRogo {
	width: 250px;
	height: 100%;
	position: relative;
	vertical-align: top;
}

.rogoArea {
	display: flex !important;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
}

.rogoArea img {
	margin: 10px auto;
	width: 200px;
	height: 150px;
	object-fit: contain;
}

.ctRogo .ctTitle {
	width: 100%;
	position: absolute;
	bottom: 0;
}

.entryBtn {
	margin: 0px auto;
	width: fit-content;
	overflow: hidden;
	position: relative;
}

.entryBtn::before {
	position: absolute;
	content: '';
	display: inline-block;
	top: -100px;
	left: 0;
	width: 30px;
	height: 100%;
	background-color: #fbfbfb;
	animation: btn_animation 3s ease-in-out infinite;
}

@keyframes btn_animation {
	0% {
		transform: scale(0) rotate(45deg);
		opacity: 0;
	}

	80% {
		transform: scale(0) rotate(45deg);
		opacity: 0.5;
	}

	81% {
		transform: scale(4) rotate(45deg);
		opacity: 1;
	}

	100% {
		transform: scale(50) rotate(45deg);
		opacity: 0;
	}
}

.entryBtn:hover {
	transition: .3s;
	transform: scale(0.95);
}

.ctJisseki {
	width: 250px;
	padding: 10px;
	background: #eaeaea;
}

.jissekiBox {
	margin: 0 auto;
	width: 90%;
	background: rgb(234, 0, 0);
	padding: 5px 10px 10px;
	text-align: center;
	border-radius: 10px;
}

.jissekiBox:nth-child(2) {
	background: #000;
	margin-top: 10px;
}

.jissekiBox p {
	color: #fff;
}

.jissekiBox p:nth-child(2) {
	background: #fff;
	color: #000;
	font-weight: 600;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
}

.ctHindo {
	padding: 10px;
	background: #d5d5d5;
	gap: 1em;
	text-align: center;
}

.ctContent {
	padding: 10px;
	background: #eaeaea;
	text-align: center;
}

.ctAppeal {
	padding: 10px 20px;
}

.pointBtn {
	color: #fff;
	width: 100%;
	background-color: #000;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: .3em;
	border-radius: 5px;
	margin-bottom: 10px;
}

.pointBtn:nth-last-child(1) {
	margin-bottom: 0;
}

.pointBtn.line {
	background-color: rgb(2, 186, 2);
}

.pointBtn.tokuten {
	background-color: rgb(226, 4, 4);
}

.pointBtn.mail {
	background-color: rgb(157, 157, 157);
}

@media screen and (max-width:1200px) {

	/* .ctTitle{font-size: 1.5vw;} */
	.ctEntry {
		width: 41.67vw;
	}

	/* .ctEntry p{font-size: 1.67vw;} */
	.ctRogo {
		width: 20.83vw;
	}

	/* .rogoArea img{
        width: 16.67vw;
        height: 12.5vw;
    } */
	.ctJisseki {
		width: 20.83vw;
	}
}

@media screen and (max-width:599px) {

	/* .ctTitle{font-size: 1.5vw;} */
	.ctEntry {
		width: 71.67vw;
	}

	.ctEntry p {
		font-size: 3.86vw;
	}

	.ctRogo {
		width: 50.83vw;
	}

	.rogoArea img {
		width: 170px;
		height: 130px;
	}

	.ctJisseki {
		width: 50.83vw;
	}
}

/*---------------------------------------------
ピックアップ
-----------------------------------------------*/
.pickup {
	margin: 100px auto;
	max-width: 1100px;
	width: 94%;
	position: relative;
	background-color: #4fb5a8;
	background-image: url(./img/dot_white.png);
	background-repeat: repeat-x;
	background-size: contain;
	background-blend-mode: soft-light;
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: 100px 20px 50px;
	box-shadow: 5px 5px 5px #808080;
}

.picTitle {
	position: absolute;
	top: -32px;
	left: 50%;
	transform: translateX(-50%);
	width: 600px;
	border-radius: 50px;
	background-color: #2c2d2e;
	color: #fff;
	font-size: 40px;
	font-weight: 900;
	line-height: 1.6;
	padding: .2em;
	display: flex;
	align-items: center;
	justify-content: center;
}

.picTitle span {
	color: rgb(241, 241, 0);
}

.pickupRankBox {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	background-color: #fff;
	padding: 1em;
}

.picRank {
	width: 100px;
	height: 100px;
}

.picRogo {
	height: 150px;
	width: 250px;
	object-fit: contain;
}

.rankBoxL {
	display: flex;
	align-items: center;
	gap: 1em;
}

.rankBoxR {
	width: 475px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .5em;
}

.rankBoxR p {
	font-weight: bold;
	font-size: 30px;
}

@media screen and (max-width:1200px) {
	.pickupRankBox {
		gap: 1em;
	}

	.rankBoxR {
		flex: 1;
	}

	.picRank {
		width: 8.33vw;
		height: 8.33vw;
	}
}

@media screen and (max-width:767px) {
	.pickup {
		padding: 10.32vw 20px 7.25vw;
		margin: 70px auto;
	}

	.picTitle {
		width: 84.54vw;
		font-size: 5.46vw;
		top: -4.25vw;
		line-height: 1.3;
	}

	.pickupRankBox {
		flex-direction: column;
		align-items: center;
		padding: 10px;
	}

	.picRank {
		width: 15.08vw;
		height: 15.08vw;
		margin-bottom: 1em;
	}

	.picRogo {
		width: 32.83vw;
		height: 19.56vw;
	}

	.rankBoxR {
		width: 100%;
	}

	.rankBoxR p {
		font-size: 5.8vw;
	}
}

/*--------------------------------------
ランキング
----------------------------------------*/
.mainRanking,
.mainRanking2 {
	position: relative;
	width: 100%;
	padding: 50px 40px;
	background-image: linear-gradient(180deg, rgba(37, 97, 140, 1), rgba(130, 217, 169, 1) 50%, rgba(186, 241, 255, 1));
}

.mainRanking::after {
	position: absolute;
	content: '';
	display: inline-block;
	width: 100%;
	height: 100%;
	background: url(./img/dot_white.png);
	background-size: contain;
	background-repeat: repeat-x;
	top: 0;
	left: 0;
	opacity: .2;
	transform: scale(1, -1);
}

.rankingBox {
	position: relative;
	z-index: 1;
}

@media screen and (max-width:999px) {

	.mainRanking,
	.mainRanking2 {
		width: 100%;
		padding: 40px 20px;
	}
}

@media screen and (max-width:599px) {

	.mainRanking,
	.mainRanking2 {
		padding: 20px;
	}

	.mainRanking::after {
		background-size: contain;
		background-position: bottom;
	}
}

/*--------------サイトタイトル-----------------*/
.rankTitle {
	display: flex;
	justify-content: space-between;
	align-items: end;
	margin-bottom: 20px;
}

.rankTitleL {
	display: flex;
	align-items: end;
	flex: 1;
}

.rankTitleL img {
	width: 160px;
}

.rankTitleL p {
	display: flex;
	flex-direction: column;
	color: #fff;
	font-weight: 600;
	font-size: 48px;
}

.rankTitleL p span {
	font-weight: 400;
	font-size: 24px;
}

/*------評価ボックス------*/
.hyoukaBox {
	background: #fff;
	padding: .1em 1em;
	border: 3px solid #000;
	border-radius: 50px;
	box-shadow: 5px 5px 5px #00000088;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
}

.hyoukaBox p {
	font-size: 20px;
}

.hyoukaBox b {
	font-size: 48px;
	color: rgba(200, 1, 1, 1);
}

.hyoukaBox span {
	font-size: 16px;
	font-weight: 400;
}

.sp .hyoukaBox {
	display: flex;
	flex-direction: column;
	padding: 1em;
	border-radius: 50%;
	border: 2px solid #000;
}

@media screen and (max-width:999px) {
	.rankTitleL img {
		width: 12.08vw;
	}

	.rankTitleL p {
		font-size: 4vw;
	}

	.rankTitleL p span {
		font-size: 1.5vw;
	}

	.hyoukaBox p {
		font-size: 2.26vw;
	}

	.hyoukaBox b {
		font-size: 3.76vw;
	}

	.hyoukaBox span {
		font-size: 1.9vw;
	}
}

@media screen and (max-width:599px) {
	.rankTitleL img {
		width: 18.08vw;
	}

	.rankTitle {
		align-items: end;
	}

	.rankTitleL p {
		font-size: 6.5vw;
	}

	.rankTitleL p span {
		font-size: 2.5vw;
	}

	.hyoukaBox p {
		font-size: 2.06vw;
	}

	.hyoukaBox b {
		font-size: 3.96vw;
		line-height: 1.2;
	}

	.hyoukaBox span {
		font-size: 2.2vw;
		/* text-decoration-line: overline; */
	}
}

.topSS {
	border: 2px solid #fff;
	box-shadow: 5px 5px 5px #2d2d2da7;
}

/*--------ランキング本文のタイトル-----------*/
h2 {
	display: block;
	color: #fff;
	font-size: 64px;
	font-weight: 700;
	position: relative;
	margin-top: 70px;
	margin-bottom: 20px;
	text-shadow: 5px 5px 5px #0000009a;
}

.rankingBox h2::after {
	mix-blend-mode: difference;
	position: absolute;
	content: 'POINT';
	display: inline-block;
	color: rgb(189 228 221);
	font-weight: bold;
	font-size: 140px;
	top: -100px;
	left: -50px;
	z-index: -1;
	opacity: .4;
}

.textWhite {
	font-size: 24px;
	color: #fff;
	text-shadow: 2px 2px 2px #000;
	line-height: 1.8;
}

@media screen and (max-width:1200px) {
	h2 {
		font-size: 5.33vw;
		margin-top: 8.83vw;
		margin-bottom: 1.67vw;
		text-shadow: 5px 5px 5px #0000009a;
	}

	h2::after {
		font-size: 11.67vw;
		top: -8.33vw;
		left: -4.17vw;
	}

	.textWhite {
		font-size: 3vw;
	}

	.rankingBox h2::after {
		font-size: 11.67vw;
		top: -8.33vw;
		left: -4.17vw;
	}
}

@media screen and (max-width:599px) {
	h2 {
		font-size: 7.18vw;
		margin-top: 15.83vw;
		margin-bottom: 2.67vw;
		text-shadow: 5px 5px 5px #0000009a;
	}

	h2::after {
		font-size: 19.32vw;
		top: -16.33vw;
		left: -6.17vw;
	}

	.textWhite {
		font-size: 3.86vw;
	}

	.rankingBox h2::after {
		font-size: 15.67vw;
		top: -12.33vw;
		left: -6.17vw;
	}
}

/*--------------ホワイトボックス----------------*/
.whiteBox {
	background: #fff;
	padding: 40px 30px;
	margin-top: 30px;
	box-shadow: inset 5px 5px 5px rgba(33, 33, 33, 0.5);
}

.box {
	padding: 30px;
}

h3 {
	font-size: 64px;
	font-weight: 700;
	text-align: center;
	margin-bottom: 20px;
}

.box h3 {
	font-size: 40px;
	text-align: left;
	margin-top: 50px;
	position: relative;
}

.box h3::after {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 3px;
	content: '';
	border-radius: 2px;
	background-image: -webkit-linear-gradient(right, #9ca5ee 0%, #49ebdf 100%);
	background-image: linear-gradient(to left, #9ca5ee 0%, #49ebdf 100%);
}

.box p {
	line-height: 1.6;
}

.textBlack {
	font-size: 32px;
	font-weight: 700;
	color: #000 !important;
}

h2.textBlack {
	margin-top: 30px !important;
	text-shadow: 2px 2px 3px #00000050 !important;
	border-bottom: 2px dotted;
}

.pointList {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin: 50px auto;
	width: 96%;
}

.pointList li {
	font-size: 24px;
	background: #000;
	color: #fff;
	padding: .5em .5em .5em 1em;
	border-radius: 1em;
	display: flex;
	align-items: center;
	gap: .5em;
	line-height: 1.4;
}

.pointList li::before {
	display: inline-block;
	content: '';
	height: 30px;
	width: 30px;
	background: url(./img/check.png)no-repeat;
	background-size: contain;
}

.kutikomi {
	padding: 0 15px 30px;
	background-image: linear-gradient(90deg, rgba(37, 97, 140, 1), rgba(130, 217, 169, 1) 50%, rgba(186, 241, 255, 1));
}

.kutikomi h3 {
	color: #fff;
	text-align: center;
	font-size: 40px;
	padding: .3em;
}

.kutikomiBox {
	width: 100%;
	height: 300px;
	background: #fff;
	position: relative;
	overflow: scroll;
	padding: 1.5em;
	border: 1px solid #000;
}

@media screen and (max-width:1200px) {
	.whiteBox {
		padding: 3.33vw 2.5vw;
		margin-top: 2.5vw;
	}

	h3,
	.box h3 {
		font-size: 4.33vw;
	}

	.textBlack {
		font-size: 2.67vw;
	}

	.pointList {
		gap: 1.67vw;
		margin: 4.17vw auto;
	}

	.pointList li {
		font-size: 2.37vw;
	}

	.pointList li::before {
		height: 2.5vw;
		width: 2.5vw;
	}

	.kutikomi {
		padding: 0 1.25vw 2.5vw;
	}

	.kutikomi h3 {
		font-size: 3.33vw;
		margin-bottom: 0;
	}
}

@media screen and (max-width:599px) {
	.whiteBox {
		padding: 30px 4.5vw;
		margin-top: 40px;
	}

	h3,
	.box h3 {
		font-size: 6.25vw;
	}

	.textBlack {
		font-size: 3.86vw;
	}

	h2.textBlack {
		font-size: 6.86vw;
		margin-bottom: 3.67vw;
	}

	.pointList {
		gap: 3.67vw;
		margin: 4.17vw auto;
	}

	.pointList li {
		font-size: 3.86vw;
	}

	.pointList li::before {
		height: 4.5vw;
		width: 4.5vw;
	}

	.kutikomi {
		padding: 0 1.25vw 2.5vw;
	}

	.kutikomiBox {
		height: 450px;
		padding: 1em;
	}

	.kutikomi h3 {
		font-size: 5.8vw;
	}
}

/*----------------------------------
チャートjs
-------------------------------------*/
.rankGraph {
	max-width: 500px;
	margin: 30px auto;
}

@media screen and (max-width:599px) {
	.rankGraph {
		width: 96%;
		margin: 20px auto;
	}
}

/*----------------------------
スライダー
-------------------------------*/
.rogoImg {
	width: 425px;
	height: auto;
	margin: 0 auto 50px;
	display: block;
}

@media screen and (max-width:1200px) {
	.swiperArea {
		margin: 4.17vw auto;
	}

	.card {
		height: 16.67vw;
	}

	.card p {
		font-size: 2.67vw;
	}

	.cardMoney {
		font-size: 3.83vw;
	}

	.cardMoney span.race {
		font-size: 1.33vw;
	}

	.rogoImg {
		width: 35.42vw;
	}

	.swiper {
		width: 92%;
	}
}

@media screen and (max-width:599px) {
	.swiperArea {
		margin: 7.17vw auto;
	}

	.card {
		height: 38.92vw !important;
		width: 100%;
	}

	.card p {
		font-size: 5.7vw !important;
	}

	.cardMoney {
		top: .5em;
		font-size: 8.33vw !important;
	}

	.cardMoney span.race {
		font-size: 3.83vw;
		top: -.6em;
		padding: .2em 1em;
	}

	.rogoImg {
		width: 80%;
	}

	.swiper {
		width: 94%;
	}

	.swiper-button-prev {
		left: -1em !important;
	}

	.swiper-button-next {
		right: -1em !important;
	}
}

/*----------------------------------------
迷ったらここ
------------------------------------------*/
.sougou {
	position: relative;
	z-index: 1;
	background-image: linear-gradient(0deg, rgba(255, 255, 255, 1) 40%, rgba(100, 100, 100, 1));
	padding: 20px 50px;
}

.sougou::after {
	content: '';
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: transparent;
	background-image: linear-gradient(90deg, #ffffff80 1px, transparent 1px), linear-gradient(#ffffff80 1px, transparent 1px);
	background-position: 10px 10px;
	background-size: 21px 21px;
	opacity: .2;
	z-index: -1;
}

.sougouRank {
	display: flex;
	justify-content: space-between;
	margin: 1em auto;
	width: 84%;
	gap: 3%;
}

.sougouRank div {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1em;
}

.sougouRogo {
	width: 100%;
	height: 150px;
	object-fit: contain;
}

@media screen and (max-width:599px) {
	.sougou {
		padding: 20px 0;
	}

	.sougouRank {
		margin: 0em auto;
		width: 90%;
	}

	.sougouRogo {
		height: 19.32vw;
	}
}

/*-------------------------------------------
比較表２
---------------------------------------------*/
.slide {
	width: 100%;
	overflow: scroll;
	position: relative;
}

.slideArea {
	width: max-content;
	display: flex;
	position: relative;
}

.slideItem {
	width: 280px;
	padding: 1.5em;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	gap: 1em;
	background: #fff;
}

.slideItem img {
	height: 140px;
	object-fit: contain;
}

.slideItem p {
	font-size: 20px;
}

.slideItem a {
	font-size: 20px;
	font-weight: 700;
	color: rgb(19, 19, 238);
	text-decoration: underline;
}

.slideItem .hyoukaBox {
	gap: 10px;
	width: 100%;
}

.slideItem .hyoukaBox p {
	font-size: 12px;
}

.slideItem .hyoukaBox b {
	font-size: 32px;
}

.slideItem .hyoukaBox span {
	font-size: 12px;
}

.slideArea .slideItem:nth-child(2n) {
	background: #a7d9d2;
}

.sLine {
	color: #fff;
	background: #4fb5a8;
	width: 100vw;
	height: 60px;
	font-weight: 700;
	overflow: visible;
	display: flex;
	align-items: center;
	position: sticky;
	left: 0;
}

.sLine.noSlide1::after {
	position: sticky;
	content: "会員登録方法";
	display: inline-block;
	font-size: 30px;
	top: 0%;
	left: 50%;
	z-index: 3;
	transform: translateX(-50%);
}

.sLine.noSlide2::after {
	position: sticky;
	content: "入会費・年会費等";
	display: inline-block;
	font-size: 30px;
	top: 0%;
	left: 50%;
	z-index: 3;
	transform: translateX(-50%);
}

.sLine.noSlide3::after {
	position: sticky;
	content: "登録特典";
	display: inline-block;
	font-size: 30px;
	top: 0%;
	left: 50%;
	z-index: 3;
	transform: translateX(-50%);
}

.sLine.noSlide4::after {
	position: sticky;
	content: "サポート体制";
	display: inline-block;
	font-size: 30px;
	top: 0%;
	left: 50%;
	z-index: 3;
	transform: translateX(-50%);
}

.sLine.noSlide5::after {
	position: sticky;
	content: "情報公開頻度";
	display: inline-block;
	font-size: 30px;
	top: 0%;
	left: 50%;
	z-index: 3;
	transform: translateX(-50%);
}

.kigou img {
	height: 80px;
}

@media screen and (max-width:1200px) {
	.slide {
		background: #4fb5a8;
	}

	.slideItem {
		width: 35vw;
		padding: 1em;
	}

	.slideItem .hyoukaBox {
		width: 100%;
	}

	.slideItem .hyoukaBox p {
		font-size: 1.5vw;
	}

	.slideItem .hyoukaBox b {
		font-size: 3vw;
	}

	.slideItem .hyoukaBox span {
		font-size: 1.3vw;
	}

	.slideItem img {
		height: 12.5vw;
	}

	.slideItem p {
		font-size: 2.27vw;
	}

	.sLine {
		height: 6vw;
	}

	.sLine.noSlide1::after,
	.sLine.noSlide2::after,
	.sLine.noSlide3::after,
	.sLine.noSlide4::after {
		font-size: 3vw;
	}

	.kigou img {
		height: 6.67vw;
	}
}

@media screen and (max-width:599px) {
	.slideItem {
		width: 40vw;
		padding: 1em .5em;
	}

	.slideItem .hyoukaBox {
		width: 100%;
		gap: 0;
		padding: 1em 1.5em;
	}

	.slideItem .hyoukaBox p {
		font-size: 3.2vw;
	}

	.slideItem .hyoukaBox b {
		font-size: 7vw;
	}

	.slideItem .hyoukaBox span {
		font-size: 2.3vw;
	}

	.slideItem img {
		height: 16.91vw;
	}

	.slideItem p {
		font-size: 3.86vw;
	}

	.slideItem a {
		font-size: 3.2vw;
	}

	.sLine {
		height: 10vw;
	}

	.sLine.noSlide1::after,
	.sLine.noSlide2::after,
	.sLine.noSlide3::after,
	.sLine.noSlide4::after {
		font-size: 5vw;
	}

	.kigou img {
		height: 10.67vw;
	}
}

/*----------------------
検索
------------------------*/
.search {
	padding: 50px;
	background-image: linear-gradient(90deg, rgba(37, 67, 118, 1), rgba(74, 156, 133, 1) 50%, rgba(111, 153, 193, 1));
}

.searchBox summary {
	background: #fff;
	padding: .5em 1em;
	border-radius: 10px;
	text-align: center;
	font-size: 36px;
	font-weight: 700;
	margin-bottom: 20px;
	cursor: pointer;
}

.searchInner {
	background: #fff;
	padding: 1em;
	border-radius: 10px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.searchInner table {
	width: 700px;
	vertical-align: middle;
}

.searchInner table tbody th {
	font-size: 32px;
	font-weight: 700;
	text-align: center;
	color: #fff;
	background-color: rgba(0, 169, 157, 1);
}

.searchInner table tbody td {
	font-size: 18px;
	padding: 1em;
	width: fit-content;
}

input {
	cursor: pointer;
}

.searchBtn {
	background: #000;
	padding: .2em 1em;
	border-radius: 10px;
	color: #fff;
	font-weight: 700;
	font-size: 32px;
	margin: 1em auto;
}

.searchBtn:hover {
	filter: brightness(0.8);
}

.resetBtn {
	background: rgba(200, 1, 1, 1);
	padding: .2em 1em;
	border-radius: 10px;
	color: #fff;
	font-weight: 700;
	font-size: 32px;
}

.resetBtn:hover {
	filter: brightness(0.8);
}

@media screen and (max-width:1200px) {
	.searchBox summary {
		padding: .5em 1em;
		font-size: 3vw;
		margin-bottom: 1.67vw;
	}

	.searchInner table {
		width: 70.33vw;
	}

	.searchInner table tbody th {
		font-size: 2.67vw;
	}

	.searchInner table tbody td {
		font-size: 1.7vw;
	}

	.searchBtn {
		font-size: 2.67vw;
	}

	.resetBtn {
		font-size: 2.67vw;
	}

}

@media screen and (max-width:599px) {
	.search {
		padding: 30px 20px;
	}

	.searchBox summary {
		font-size: 4.83vw;
		margin-bottom: 3.67vw;
	}

	.searchInner table {
		width: 90%;
	}

	.searchInner table tbody th {
		font-size: 4.83vw;
	}

	.searchInner table tbody td {
		font-size: 3.86vw;
		display: block;
		text-align: center;
	}

	.searchBtn {
		font-size: 4.83vw;
		width: 90%;
		text-align: center;
	}

	.resetBtn {
		font-size: 4.83vw;
		width: 90%;
		text-align: center;
	}

}

/*----------------------
注意事項
------------------------*/
.precautions {
	background-color: #fff;
	width: 92%;
	padding: 2em 1em;
	font-size: 20px;
}

@media screen and (max-width:1200px) {
	.precautions {
		font-size: 1.6vw;
	}
}

@media screen and (max-width:599px) {
	.precautions {
		font-size: 3.38vw;
	}
}

/*--------------------
フッター
--------------------*/
footer {
	width: 100%;
	background: #000;
	color: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 30px 20px;
}

footer div {
	margin: 30px auto;
	display: flex;
	gap: 2em;
	font-size: 32px;
}

footer p {
	text-align: center;
	font-weight: 400;
	font-size: 14px;
}

.toTop {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .5em;
	line-height: 1;
}

.toTop span:nth-child(1) {
	font-size: 20px;
}

.toTop span:nth-child(2) {
	font-size: 28px;
}

@media screen and (max-width:1200px) {
	footer {
		padding: 2.5vw 1.67vw;
	}

	footer div {
		margin: 2.5vw auto;
		font-size: 2.67vw;
	}

	footer p {
		font-size: 1.6vw;
	}
}

@media screen and (max-width:599px) {
	footer {
		padding: 2.5vw 3.86vw;
	}

	footer div {
		margin: 5vw auto;
		font-size: 3.86vw;
	}

	footer p {
		font-size: 3.38vw;
	}
}

/*---------------------
コピーライト
-----------------------*/
.copy {
	font-size: 24px;
	color: #fff;
	padding: 1em;
	text-align: center;
	background-image: linear-gradient(90deg, rgba(37, 67, 118, 1), rgba(74, 156, 133, 1) 50%, rgba(111, 153, 193, 1));
}

@media screen and (max-width:599px) {
	.copy {
		font-size: 2.9vw;
	}
}

/**
 * ブラウザバック時モーダル
 */
.modal {
	position: fixed;
	width: 100%;
	top: 0;
	bottom: 0;
	left: 0;
	z-index: 100;
	background: rgba(255, 255, 255, 0.9);
	padding: 30px;
	display: none;
	text-align: center;
	color: hotpink;
}

.modal__bg {
	background: rgba(0, 0, 0, 0.8);
	height: 100vh;
	position: absolute;
	width: 100%;
}

.modal__content {
	background: #fff;
	left: 50%;
	padding: 40px;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 60%;
}

.picupRankBox {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	background-color: #fff;
	padding: 1em;
}

@media screen and (max-width:1200px) {
	.picupRankBox {
		gap: 1em;
	}
}

@media screen and (max-width:767px) {
	.picupRankBox {
		flex-direction: column;
		align-items: center;
		padding: 10px;
	}
}


/****************************************
 * Contact
 ***************************************/
textarea,
input[type="text"],
input[type="button"],
input[type="submit"],
input[type="reset"],
input[type="search"],
input[type="password"] {
	-webkit-appearance: none;
	appearance: none;
	border-radius: 0
}

select[name=classification],
textarea[name=your-message],
input[type="email"],
input[type="text"] {
	width: 100%;
	border: 1px solid black;
}

select[name=classification],
input[type="email"],
input[type="text"] {
	line-height: 2;
}

.contactBtn {
	background: #000;
	padding: .2em 1em;
	border-radius: 10px;
	color: #fff;
	font-weight: 700;
	font-size: 32px;
	margin: 1em auto 0;
}

.hidden {
	display: none;
}

@keyframes spinner {
	to {
		transform: rotate(360deg);
	}
}

.contact-spinner {
	width: 5em;
	height: 5em;
	border-radius: 50%;
	border: 0.25em solid #ccc;
	border-top-color: #333;
	animation: spinner 1.5s linear infinite;
}

.fixed_btn {
	position: fixed;
	z-index: 99999;
	bottom: 20px;
	right: 20px;
	width: 100px;
}

.fixed_btn__image {
	max-width: 100%;
}

@media screen and (max-width: 990px) {
	.fixed_btn {
		display: block;
		/* display: none; */
	}

	.contactBtn {
		font-size: 3.23vw;
	}
}

@media screen and (max-width: 560px) {
	.fixed_btn {
		display: block;
		right: 10px;
	}

	.contactBtn {
		font-size: 6.23vw;
	}
}

#classification {
	text-transform: none;
	display: block;
	font-size: 16px;
	line-height: 1.3;
	height: 50px;
	padding: 6px 16px;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	box-shadow: none;
	margin: 0;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	background-color: #fff;
	background-image: url("./img/img-select.png");
	background-position: top 50% right 20px;
	background-repeat: no-repeat;
	border-radius: 4px !important;
	position: relative
}

#classification::-ms-expand {
	display: none
}

#classification:focus {
	border-color: #E6A54D;
	outline: none;
}

#your-message {
	border-radius: 4px !important;

}

/*------------------------------------
運営者情報テーブル
--------------------------------------*/
.table_unei {
	background: #fff;
	border: 3px solid;
}

.table_unei th,
.table_unei td {
	vertical-align: middle;
}

.table_unei th {
	width: 35%;
	text-align: center;
}

.table_unei td {
	padding-left: 1em;
}

@media screen and (max-width: 560px) {

	.table_unei th,
	.table_unei td {
		font-size: 14px;
	}
}

/*------------------------------------
indexに戻るボタン
--------------------------------------*/
.goHome {
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	text-decoration: none;
	color: #ffffff;
	font-size: 18px;
	border-radius: 0px;
	width: 200px;
	height: 40px;
	font-weight: bold;
	border: 2px solid #ffffff;
	transition: 0.3s;
	box-shadow: 0px 4px 10px -2px rgba(0, 0, 0, 0.3);
	background-image: linear-gradient(90deg, rgba(57, 210, 248, 1), rgba(48, 97, 96, 1));
	margin: 50px auto 0;
	position: relative;
	z-index: 1;
}

.goHome:hover {
	box-shadow: 0 0 rgba(0, 0, 0, .3);
}


.formArea p {
	margin-top: 1em !important;
	font-weight: bold;
}

.inputArea {
	padding: .5em 1em;
}

.checkbox {
	display: flex;
	align-items: center;
	gap: 1em;
}

/*-------------------------------
モーダル
---------------------------------*/
.modal {
	padding: 0;
	color: #000;
}

.modal__content {
	background: #000000;
	padding: 0;
	max-width: 600px;
}

.timer {
	margin-top: .5em;
	background: #f6db4d;
	color: #e81717;
	font-size: 30px;
	font-weight: bold;
	padding: .2em;
	text-shadow: 3px 3px 0 #00000030;
	position: relative;
}

.modalBox {
	padding: 1em;
}

.modalImg {
	width: 100%;
	position: relative;
}

.modalLink {
	width: 70%;
	cursor: pointer;
	font-weight: 700;
	transition: all .2s;
	padding: 10px 30px;
	border-radius: 100px;
	background: #e81717;
	color: #fff;
	border: 1px solid transparent;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 32px;
	filter: drop-shadow(5px 5px 0 #ffffff);
	margin: 20px auto;
}

.modalLink:hover {
	filter: brightness(0.9);
	transform: translateX(5px) translateY(5px);
}

.modalLink>svg {
	width: 34px;
	margin-left: 10px;
	transition: transform .3s ease-in-out;
	animation: bottan 1.5s infinite;
}

.modalLink:hover svg {
	transform: translateX(5px);
}

.modalLink:active {
	transform: scale(0.95);
}

.modal-close {
	margin: 0 auto;
	font-size: 14px;
	font-weight: bold;
	color: #fff;
	background: #c6c6c6;
	padding: .5em;
}

.timer::before {
	position: absolute;
	content: attr(data-text)"";
	display: inline-block;
	font-size: 20px;
	color: #333;
	left: 20%;
	top: 50%;
	transform: translateY(-50%);
}

@keyframes bottan {
	0% {
		transform: translateX(0);
	}

	20% {
		transform: translateX(10px);
	}

	30% {
		transform: translateX(0px);
	}

	40% {
		transform: translateX(10px);
	}

	50% {
		transform: translateX(0px);
	}

	100% {
		transform: translateX(0);
	}
}

@media screen and (max-width: 767px) {
	.modal__content {
		width: 86%;
	}

	.modalLink {
		width: 80%;
		padding: 1.9vw 3.91vw;
		border-radius: 13.04vw;
		font-size: 5.65vw;
		margin: 4.52vw auto;
	}

	.timer {
		font-size: 5.13vw;
	}

	.timer::before {
		font-size: 3.65vw;
	}
}

@media screen and (max-width: 599px) {
	.modalLink {
		width: 100%;
	}
}

table.compareTable tr:nth-child(1) td.ctTitle:nth-child(3) {
	display: none;
}

table.compareTable tr:nth-child(n+2) td.ctJisseki {
	display: none;
}

div.kutikomi {
	display: none;
}

div.wp-block-custom-block-recent-result-block {
	display: none;
}

/*----------------------------------
並び替え条件
------------------------------------*/
.condition{
	display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1em;
    margin: 30px 20px;
}
#ranking_condition{
	font-size: 20px;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 1em;
}
a.sort_key {
	font-size: 20px;
	position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 5px 25px;
    color: #543618;
    transition: 0.3s ease-in-out;
    font-weight: 600;
    background: #eeee;
    border-radius: 50px;
    border: 0.2rem solid #543618;
    box-shadow: 0.2rem 0.2rem 0px 0.1rem #cccccc;
}
@media screen and (max-width:1000px) {
	a.sort_key {font-size: 16px; padding: 5px 20px;}
}
@media screen and (max-width:599px) {
	a.sort_key {font-size: 14px; padding: 5px 15px;}
}

/*---------------------------------
電光掲示板
------------------------------------*/
.bbs {
	position: relative;
	width: 100%;
	overflow: hidden;
	background-color: #1b1b1b;
}
.bbs ul {
	display: inline-block;
	margin: 0;
	padding-left: 100%;
	white-space: nowrap;
	animation: SlideSample 15s linear infinite;
}
.bbs ul li {
	display: inline;
	margin: 0 80px 0 0;
	color: #f99f17;
	font-size: 24px;
	letter-spacing: .12em;
	text-shadow: 0 0 4px;
	line-height: 2;
}
.dots{
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: radial-gradient(
      transparent 0 1px, 
      rgba(50, 50, 50, 0.5) 1px
    );
    pointer-events: none;
    background-size: 3px 3px;
    content: '';
}
/* スクロールさせるアニメーション */
@keyframes SlideSample {
	0% {
		transform: translateX(0)
	}
	100% {
		transform: translateX(-100%)
	}
}
@media screen and (max-width:1000px) {
	.bbs ul li {font-size: 20px;}
}
@media screen and (max-width:599px) {
	.bbs ul li {font-size: 16px;}
}