@charset "utf-8";
@font-face {
	font-family: "Noto Sans JP";
	font-style: normal;
	font-weight: 400;
	src: url("../font/NotoSansJP-Regular.woff") format("woff");
	font-display: swap;
}

@font-face {
	font-family: "Noto Sans JP";
	font-style: normal;
	font-weight: 700;
	src: url("../font/NotoSansJP-Bold.woff") format("woff");
	font-display: swap;
}

* {
	margin: 0;
	padding: 0;
}

html{
	font-size:62.5%;
}

body {
	font-family:'Noto Sans JP', sans-serif;
	text-align: center;
	line-height:1.6;
	color:#333;
	font-size:1.4rem;
	-webkit-text-size-adjust: 100%;
	background: #eeeeee;
}

@media screen and (max-width: 330px) {
body{
	font-size: 1.3rem;
}
}

@media screen and (min-width: 800px) {
body {
	font-size:1.6rem
}
}

img {
	border-style: none;
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

a {
	color: #333;
	-webkit-transition: color 0.3s ease-in-out 0s;
	-moz-transition: color 0.3s ease-in-out 0s;
	-ms-transition: color 0.3s ease-in-out 0s;
	-o-transition: color 0.3s ease-in-out 0s;
	transition: color 0.3s ease-in-out 0s;
	text-decoration: none;
}

a:hover{
	text-decoration: none;
	opacity: 0.8;
}

a:hover img {
	opacity: 0.8;
	filter: alpha(opacity=80);
	-moz-opacity: 0.8;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

.red {
	color:#ff0000;
	font-weight:bold;
}

.yellow {
	color: #ffff00;
}

.line_yellow{
	background: linear-gradient(transparent 65%, #fff000 65%);
	font-weight:bold;
}

.suptext{
	font-size: .7em;
	vertical-align: top;
	position: relative;
	top: -0.4em;
	font-weight:normal;
	color:#646464;
	margin: 0;
}

.small{
	font-size:.7em;
	color:#3d3d3d;
	font-weight:normal;
	text-align:left;
	margin:0 0.6em 0 ;
	line-height:1.6;
}

@media screen and (max-width: 799px) {
.sp_none{
	display: none!important;
}
}

@media screen and (min-width: 800px) {
.pc_none{
	display: none!important;
}
}

.btn a{
	position: relative;
	overflow: hidden;
	display: block;
	color: #fff;
	font-weight: bold;
	text-align: center;
	border-radius:6px;
	background: rgb(255, 168, 45);
	background: linear-gradient(180deg, rgba(255, 168, 45, 1) 0%, rgba(255, 119, 0, 1) 50%);
	box-shadow: 0 6px 0 #ad5100;
}

.btn a::after {
	content: "";
	display: block;
	width: 30px;
	height: 100%;
	position: absolute;
	top: -180px;
	left: 0;
	background-color: #FFF;
	opacity: 0;
	transform: rotate(45deg);
	animation: reflect 2s ease-in-out infinite;
	-webkit-transform: rotate(45deg);
	-webkit-animation: reflect 2s ease-in-out infinite;
}

@keyframes reflect {
	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;
	}
}

header {
	width: 100%;
	max-width: 800px;
	margin: auto;
}

header .banner{
	position: relative;
}

header .banner .pr {
	position: absolute;
	display: inline-block;
	font-size: .9em;
	background: #fff;
	bottom: 5px;
	right: 10px;
	border: 1px solid #333;
	border-radius: 4px;
	padding: 0 .3em .1em;
	opacity: .6;
}

header .calendar {
	position: absolute;
	background-image: url(../img/fv_images.png);
	background-size: contain;
	background-repeat:no-repeat;
	top: 11.2%;
	left: 4.5%;
	font-size:clamp(.6rem , 2.2vw, 1.8rem);
	color: #6e351a;
	font-weight: 700;
	line-height: 1.3;
	transform:rotate(-21deg);
	text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
		-1px 1px 0 #FFF, 1px -1px 0 #FFF,
		0px 1px 0 #FFF,  0-1px 0 #FFF,
		-1px 0 0 #FFF, 1px 0 0 #FFF;
}

.scroll {
	display: flex;
	overflow: hidden;
	background: #d1f8ff;
	padding: .4em 0;
}

.scroll ul {
	display: flex;
	list-style: none;
	animation :infinity-scroll-left 30s infinite linear 0.5s both;
}

.scroll ul li{
	margin: 0 .3em;
	width: calc(100vw / 5);
}

@keyframes infinity-scroll-left {
from {
	transform: translateX(0);
}
to {
	transform: translateX(-100%);
}
}

@media screen and (min-width: 800px) {
.scroll ul li{
	width: calc(100vw / 12);
}
}

section {
	width: 100%;
	max-width: 800px;
	margin: auto;
	background: #fff;
	padding-bottom: 1px;
}

section h1 {
	padding: .4em 0 .7em;
	margin-bottom: .6em;
	font-size:1.3em;
	color: #fff;
	background-size: auto auto;
	background-color: rgba(3, 112, 194, 1);
}

section h1 .under{
	color: #ffff00;
	border-bottom: 4px double;
	font-size: 1.1em;
}

.top_flex {
	display: flex;
	justify-content: space-between;
	margin: 0 .4em 1em;
}

.top_flex p{
	margin: 0 .4em 0;
	font-size: .9em;
	text-align: left;
	word-break:break-all
}

.top_flex .flex_box {
	width: 32%;
	border-style:solid ;
	border-width:6px 1px 1px 1px;
	border-color:#c09a14 ;
	padding: .3em 0 .9em;
	box-sizing: border-box;
}

.flex_box:nth-of-type(2) {
	border-color:#c9c9c9;
}

.flex_box:nth-of-type(3) {
	border-color: #bf7455;
}

.top_flex .flex_box .title{
	margin: 0 auto .4em;
	text-align: center;
}

.top_flex .flex_box .title .icon {
	width: 22%;
	margin-bottom: .2em;
}

.top_flex .flex_box .name{
	font-weight: bold;
	font-size: 1em;
	margin-left: .2em;
	color: #ff4343;
}

.top_flex .flex_box .banner{
	width: 90%;
	margin: 0 auto .3em;
}

.top_flex .btn a{
	width: 90%;
	padding: .4em 0 .5em;
	margin: .3em auto 0;
	font-size: .9em;
}

@media screen and (min-width: 901px) {
.top_flex {
	width: 90%;
	margin: 0 auto 1em;
}

.top_flex .flex_box {
	border-width:8px 2px 2px 2px;
	padding: .6em 0 1.2em;
}

.top_flex .flex_box .banner{
	width: 90%;
}

.top_flex .flex_box .title .icon{
	width: 14%;
}

.top_flex .btn a{
	width: 96%;
	margin: .6em auto 0;
}
}

h3.fx_guide_title {
	position: relative;
	border-top: 2px solid #00a3df;
	border-bottom: 2px solid #00a3df;
	color: #00a3df;
	margin: 0 .6em 1em;
	padding: .2em 0 .4em;
	font-size: 1.2em;
}

h3.fx_guide_title:before,
h3.fx_guide_title:after {
	content: '';
	position: absolute;
	top: -7px;
	width: 2px;
	height: calc(100% + 1em);
	background-color: #00a3df;
}

h3.fx_guide_title:before {
	left: 10px;
}

h3.fx_guide_title:after {
	right: 10px;
}

h3.fx_guide_title span{
	display: inline-block;
	background: #00a3df;
	color:#fff;
	padding:.2em .2em .4em .5em;
	border-radius: 10px;
	font-size: .9em;
	margin: .8mm 0;
}

.fx_guide{
	margin: 0 .6em 1em;
}

.acd-check{
    display: none;
}

.acd-label{
    background: #0068b7;
    color: #fff;
    display: flex;
    position: relative;
	text-align: left;
	padding: .6em .6em .6em;
	font-weight: bold;
	font-size: 1.2em;
}

.acd-label span{
	color: #0068b7;
	background: #fff;
	padding: 0 .6em .2em;
	font-size: .9em;
	border-radius: 10px;
	margin-right: .6em;
}

.acd-label:after{
    box-sizing: border-box;
    content: '\f067';
    display: block;
    font-family: "Font Awesome 5 Free";
    position: absolute;
	right: 4%;
}

.acd-check:checked + .acd-label:after{
    content: '\f068';
}
.acd-check:checked + .acd-label + .acd-content{
    height: auto;
    opacity: 1;
	padding: .6em .6em 1px;
	visibility: visible;
}

.acd-content {
    display: block;
    height: 0;
    opacity: 0;
    transition: .1s;
    visibility: hidden;
	background: #f0f9ff;
}

.acd-content p{
	margin: 0 0 1em;
	text-align:left;
}

p.acd_images{
	width: 96%;
	margin:0 auto 1em;
}


@media screen and (min-width: 901px) {
h3.fx_guide_title {
	width: 90%;
	margin: 0 auto 1em;
}

.fx_guide{
	width: 90%;
	margin: 0 auto 1em;
}
.acd-check:checked + .acd-label + .acd-content{
	display: flex;
}

p.acd_images{
	width: 40%;
}

.acd-content div{
	width: 60%;
	margin-left: .6em;
}
}

.document {
	border:#b80000 2px solid;
	margin: 2em .6em 1em;
	position: relative;
	padding:1.4em 0 0
}

.document h3{
	position: absolute;
	top: -14px;
	left: 2%;
	margin: auto;
	font-size: 1.05em;
}

.document h3 span{
	background: #b80000;
	color: #fff;
	border-radius: 5px;
	padding: .2em .6em .4em ;
}

.document h3 span i{
	margin-right: .4em;
}

.document p {
	text-align: left;
	margin: 0 .6em .6em;
}

.document_tab{
	margin: 0 .6em 1em;
	display: flex;
	flex-wrap: wrap;
}

.document_tab .item {
	width: calc(100%/3);
	display: block;
	text-align: center;
	font-weight: bold;
	transition: all 0.2s ease;
	box-sizing: border-box;
	padding: .4em 0 ;
}

.document_tab .item.boxA {
	background: #ffe7e7;
}

.document_tab .item.boxB {
	background: #e0ffe0;
}

.document_tab .item.boxC {
	background: #fff4e4;
}

input[name="tab_item"] {
	display: none;
}

#patternA:checked ~ #patternA_con,
#patternB:checked ~ #patternB_con,
#patternC:checked ~ #patternC_con {
	display: block;
}

.document_tab .tab_content {
	display: none;
	width: 100%;
	padding: .6em 0;
	font-weight: bold;
}

.document_tab .tab_content p{
	text-align: center;
}

.document_tab .tab_content.boxA {
	background: #ffe7e7;
	color: #ff0b0b;
}

.document_tab .tab_content.boxB {
	background: #e0ffe0;
	color: #09c203;
}

.document_tab .tab_content.boxC {
	background: #fff4e4;
	color: #ff7300;
}

@media screen and (min-width: 800px) {
.document {
	width: 90%;
	margin: 2em auto 1em;
}

.document_tab{
	width: 90%;
	margin:0 auto 1em;
}

.document_tab .tab_content p{
	margin: 0;
}

.document_tab .tab_content{
	display: block;
	width: calc(100% / 3);
}

.document_tab .tab_content img{
	width:76%;
}

.document_tab .item{
	color: #fff;
}

.document_tab .item.boxA {
	background: #ff0b0b;
}

.document_tab .item.boxB {
	background: #09c203;
}

.document_tab .item.boxC {
	background: #ff7300;
}
}

.table_top h2 {
	margin: 0 .6em .6em;
	padding: .4em 0 ;
	font-size: 1.3em;
    position: relative;
    border-bottom: 3px solid #0068b7;
    color: #0068b7;
}

.table_top h2::before,
.table_top h2::after {
    position: absolute;
    left: 30px;
    bottom: -15px;
    width: 30px;
    height: 15px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
}

.table_top h2::before {
    background-color: #0068b7;
}

.table_top h2::after {
    bottom: -11px;
    background-color: #fff;
}

.table_top h2 span{
	position: relative;
}

.table_top h2 span::after,
.table_top h2 span::before{
	content: "";
	display: block;
	background-image: url("../img/title_crown.png");
	background-size: contain;
	background-position: center;
	background-repeat:no-repeat ;
	width: 15%;
	height: 100%;
	position: absolute;
	top: 0;
}

.table_top h2 span::before{
	left: -1.7em;
}

.table_top h2 span::after{
	right: -1.7em;
}

.table-wrapper {
	overflow-x: auto;
	max-width: 100%;
}

.table-wrapper table {
	width: 100%;
	margin:.4em auto .2em;
	border-collapse: collapse;
}

.table-wrapper th {
	background-color: #0068b7;
	font-weight: bold;
	color: #fff;
	border: 1px solid #fff;
	white-space: nowrap;
	padding:.4em .6em;
	font-size: .8em;
	box-sizing: border-box;
}

.table-wrapper td {
	border: #0068b7 solid 1px;
	min-width: 100px;
	padding:.4em;
	box-sizing: border-box;
	font-size: .8em;
	font-weight: bold;
}

.table-wrapper td .crown {
	width:30%;
	margin-bottom: .2em;
}

.table-wrapper td .banner{
	margin: .4em 0;
}

.table-wrapper td.table_red {
	border-right: 2px solid #f00;
	border-left: 2px solid #f00;
	background: #fffae2;
}

.table-wrapper tr:first-child td.table_red {
	border-top: 2px solid #ff0000;
}

.table-wrapper tr:last-child td.table_red {
	border-bottom: 2px solid #ff0000;
}

.table-wrapper td .icon {
	width: 30%;
	margin: .2em .2em .3em;
}

.table-wrapper td.table_txt{
	text-align: left;
	padding:.4em
}

.table-wrapper th.th_txt1{
	font-size: .7em;
}

.table-wrapper td .td_txt {
	color: #ff0000;
	font-size: .8em;
}

.table-wrapper td .btn a{
	width: 98%;
	padding: .4em 0 .6em;
	margin:.3em auto .6em;
}

.table-wrapper th.crown::before {
	display: none;
}

@media screen and (min-width: 901px) {
.table-wrapper{
	width:90% ;
	margin: 0 auto .2em;
}

.table-wrapper table{
	width: 100%;
	table-layout: fixed;
}

.table-wrapper td{
	font-size: .8em;
}

.table-wrapper th {
	padding:.4em 0 .6em;
	border-right: #0068b7 1px solid;
	border-left: 2px solid #ff0000;
}

.table-wrapper th::before {
	display: none;
}

.table-wrapper td.table_red{
	border-left: 2px solid #ff0000;
}
}

.matrix {
	background-color: #fff;
	background-image:
	repeating-linear-gradient(90deg, transparent, transparent 9px, rgb(228, 228, 228) 9px, rgba(228, 228, 228, 1) 10px ),
	repeating-linear-gradient(transparent, transparent 9px, rgb(228, 228, 228) 9px, rgba(228, 228, 228, 1) 10px );
	background-size: auto auto;
	padding: 1em .6em 0;
	overflow: hidden;
}

.matrix h3 {
	padding: .4em 0 .6em;
	font-size: 1.2em;
	color: #fff;
	background: #31a6ff;
	border-bottom: #0068b7 3px solid;
	margin-bottom: .6em;
}

.matrix .matrix_inner {
	position: relative;
	text-align: center;
	background: url(../img/matrix.png);
	background-size: 100% auto;
	background-repeat: no-repeat;
	width: 100%;
	padding-top: 113%;
}

.matrix .matrix_inner .box {
	position: absolute;
	width: 30%;
	z-index: 5;
	background: #fff;
	border-color:#333;
	border-style:solid ;
	border-width:1px 2px 3px 1px ;
	box-sizing: border-box;
	line-height: 1;
}

.matrix .matrix_inner .box img{
	vertical-align: middle;
}

.matrix .matrix_inner .box span{
	color: #31a6ff;
	font-weight: bold;
	font-size: .9em;
}

.matrix .matrix_inner .box:nth-child(1) {
	width: 40%;
	top: 7%;
	left: 60%;
	border-color:#31a6ff;
	padding:.2em;
}

.matrix .matrix_inner .box:nth-child(2) {
	top: 26%;
	left: 73%;
	padding: 0 .1em .1em;
}

.matrix .matrix_inner .box:nth-child(3) {
	top: 29%;
	left: 68%;
	padding:.4em;
}

.matrix .matrix_inner .box:nth-child(4) {
	top: 42%;
	left: 66%;
	padding: 0 .4em .3em;
}

.matrix .matrix_inner .box:nth-child(5) {
	top: 33%;
	left: 16%;
	padding: .4em .2em 0;
}

.matrix .matrix_inner .box:nth-child(6) {
	top: 45%;
	left: 28%;
	padding: 0 .2em .2em;
}

.matrix .matrix_inner .box:nth-child(7) {
	top: 55%;
	left: 17%;
	padding: .2em .4em 0;
}

.matrix .matrix_inner .box:nth-child(8) {
	top: 20%;
	left: 19%;
	padding:.2em .4em;
}

.matrix .matrix_inner .box:nth-child(9) {
	top: 61%;
	left: 50%;
	padding: 0 .2em .4em ;
}

.matrix .matrix_inner .box:nth-child(10) {
	top: 66%;
	left: 15%;
	padding:.2em;
}

.matrix .matrix_inner .box:nth-child(11) {
	top: 77%;
	left: 15%;
	padding:.2em;
}

.matrix .matrix_inner .circle{
	position: absolute;
	width: 44%;
	height: 18%;
	top: 4%;
	left: 58%;
	z-index: 2;
	border-radius: 50%;
	background: rgb(255, 246, 123, .8);
}

@media screen and (min-width: 901px) {
.matrix h3 {
	width: 90%;
	margin: 0 auto .6em;
}
.matrix .matrix_inner {
	width: 70%;
	padding-top:76%;
	margin: auto;
}

.matrix .matrix_inner .box{
	justify-content: center;
	padding:.4em
}

.matrix .matrix_inner .circle {
	top: 3%;
}
}


.pickup{
	background: #ccf1ff;
	margin: 5em 0 1em;
	position: relative;
	padding: 1.5em 0 1em;
}

.pickup::before{
	content: "";
	position: absolute;
	top: -4em;
	left: 0;
	right: 0;
	width: 0;
	height: 0;
	margin: auto;
	border: 53px solid transparent;
    border-top: 43px solid #077bff;   /* 好みで色を変えてください */
}

.pickup .box{
	background: #fff;
	width: 90%;
	margin: auto;
	border-radius: 10px;
	border: 2px solid #b80000;
	position: relative;
}

.pickup .box .title{
	display: flex;
	margin:.6em 1em .8em;
	align-items: center;
}

.pickup .box .title p{
	font-weight: bold;
	margin: 0;
}

.pickup .box .title p a{
	color: #1379ff;
	font-size: 1.4em;
}

.pickup .box .title .icon{
	width: 70px;
	margin-right: .6em;
}

.pickup .box .banner {
	width: 90%;
	margin: auto;
}

.pickup .box table {
	width: 90%;
	margin: 1em auto;
	border-collapse: collapse;
	table-layout: fixed;
}

.pickup .box table th{
	background-color: #e4e4e4;
	font-weight: bold;
	padding:.2em .6em .3em;
	font-size: .9em;
	box-sizing: border-box;
	border: #9e9e9e 1px solid;
}

.pickup .box table td{
	padding:.6em .7em;
	box-sizing: border-box;
	font-size: .9em;
	border: #9e9e9e 1px solid;
}

.pickup .box table td p{
	margin: 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.pickup .box table td p .left{
	display: block;
	background: #ddedff;
	color: #077bff;
	font-size: .8em;
	text-align: center;
	padding:.5em;
	box-sizing: border-box;
	font-weight: bold;
}

.pickup .box table td p .red{
	font-size: 1.4em;
}

.pickup .box table td img{
	width: 50%;
}

.pickup .box .campaign_box {
	border: #b80000 2px solid;
	width: 90%;
	margin: 0 auto 1em;
	box-sizing: border-box;
}

.pickup .box .campaign_box .head{
	background: #b80000;
	color: #fff;
	font-weight: bold;
	margin: 0 0 .6em;
	font-size: 1.1em;
	text-align: center;
	padding: .2em 0 .4em;
}


.pickup .box .pickup_list {
	border-top: #acacac 1px solid;
	border-bottom: #acacac 1px solid;
	margin: 1.6em auto 1em;
	position: relative;
	width: 90%;
}

.pickup .box .pickup_list .list_title {
	position: absolute;
	left: 0;
	right: 0;
	top: -23px;
}

.box .pickup_list .list_title span{
	border: #acacac 1px solid;
	display: inline-block;
	background: #fff;
	padding: 0 .6em .1em;
	border-radius: 10px;
	margin-top: .8em;
	font-size: .9em;
}

.box .pickup_list .list_title i{
	margin-right: .4em;
}

.box .pickup_list ul{
	list-style-type: none;
	margin:1em .5em .6em;
}

.box .pickup_list ul li{
	text-align: left;
	background:url(../img/check.png) no-repeat left center;
	background-size:auto 15px;
	padding:.2em 0 .2em 1.6em;
	font-weight: bold;
}

.box .pick_txt {
	width: 92%;
	border: #acacac 1px solid;
	margin: .6em auto .8em;
	border-radius: 10px;
	padding: .4em;
	font-size: .9em;
	box-sizing: border-box;
}

.box .pick_txt p{
	margin: 0;
}


.box .btn a{
	width: 90%;
	margin: 0 auto 1.6em;
	padding: .8em 0 .6em;
}

@media screen and (min-width: 901px) {
.pickup .box {
	width: 80%;
}

.pickup .box .flex{
	flex-direction: row-reverse;
}


.box .banner{
	width: 100%;
}
.box .pickup_list {
	width: 56%;
}

.box table {
	width: 38%;
}
.pickup .box .title .icon {
	width: 11%;
}

}
.rank_content h2{
	margin-bottom:.8em;
	padding: .4em 0 .5em;
	text-align: center;
	font-weight: bold;
	font-size:1.4em;
	color: #fff;
	background-color: #0068b7;
}

.rank_content h2{
	clip-path: polygon(0% 0%, 100% 0, 100% 86%, 50% 100%, 0 86%);
	padding: .4em 0 .8em;

}

.rank_content h2 .sub_title{
	position: relative;
	display: block;
}

.rank_content h2 .sub_title span{
	background-color:#0068b7;
	padding: 0 .3em;
}

.rank_content h2 .sub_title::after{
	content: "";
	position: absolute;
	width: 90%;
	height: 1px;
	background: #fff;
	left: 0;
	right: 0;
	margin: auto;
	top: 55%;
	z-index: -1;
}

@media screen and (min-width: 901px) {
.rank_content h2{
	padding-bottom: 1em;
	clip-path: polygon(0% 0%, 100% 0, 100% 60%, 50% 100%, 0 60%);
}
}

.ranking {
	margin: 0 .6em 1.5em;
	padding-bottom: 1em;
	border-bottom: 1px solid #a7a7a7;
}

.ranking .title{
	position: relative;
	margin-bottom: 1em;
}

.ranking .title .rank_logo{
	width: 20%;
	margin-right: .4em;
	top: 50%;
	position: absolute;
	transform: translateY(-50%);
	z-index: 1;
}

.ranking .title .rank_logo img{
	width: 90%;
}

.ranking .title .txt{
	width: 100%;
}

.ranking .title .txt .name{
	font-size: 1.4em;
	margin: 0 0 .1em;
	font-weight: bold;
	text-align: left;
	background: #000000;
	padding:.1em 0 .2em 22%;
	color: #fff;
	clip-path: polygon(0 0, 90% 0, 100% 100%, 0% 100%);
}


.ranking .title .txt .sub_title{
	padding-left: 22%;
	margin: 0;
	color: #ff0000;
	font-weight: bold;
	font-size: 1.1em;
	text-align: left;
}

.ranking .banner {
	width: 94%;
	margin: auto;
}

.ranking_list {
	width: 94%;
	margin: 1em auto;
	position: relative;
	background: linear-gradient(
		-45deg,
		#fff 25%, #7fccff 25%,
		#7fccff 50%, #fff 50%,
		#fff 75%, #7fccff 75%,
		#7fccff
	);
	background-size: 8px 8px;
	padding: 8px;
	box-sizing: border-box;
}

.ranking_list p{
	margin: 0;
	text-align: left;
}

.ranking_list .box_inner {
	background: #FFF;
	padding:.1em .6em .8em;
}

.ranking_list .box_inner2 {
	padding:.4em .6em ;
}


.ranking_list .box_inner h3 {
	color: #7fccff;
	border-bottom: #7fccff 2px solid;
	margin: .3em 0 .8em;
	padding-bottom: .4em;
	font-size: 1.2em;
}

.ranking_list .box_inner h4 {
	position: relative;
	background: #bce4ff;
	font-size: 1.1em;
	border-radius: 0 10px 10px 0;
	padding: .1em 0 .3em 2em;
	text-align: left;
	margin:.8em 0 .5em .7em
}

.ranking_list .box_inner h4:before {
	font-family: "Font Awesome 5 Free";
	content: "\f135";
	display: inline-block;
	position: absolute;
	color: white;
	background: #7fccff;
	font-weight: 900;
	text-align: center;
	width: 30px;
	height: 30px;
	line-height: 30px;
	left: -1em;
	top: 50%;
	transform: translateY(-50%);
	border: solid 3px white;
	border-radius: 50%;
}

.ranking_list .box_inner  .small{
	margin: 0;
}

.table_box{
	background: #eaf9ff;
	padding: .8em 0;
	margin-bottom: 1em;
}

.table_box h3{
	margin-bottom: .6em;
	position: relative;
	z-index: 1;
}

.table_box h3 span{
	display: inline-block;
	color:#0068b7;
	background:#eaf9ff ;
	font-size: 1.2em;
	padding: 0 .6em;
}

.table_box h3::after{
	content: "";
	position: absolute;
	width: 94%;
	height: 2px;
	background: #0068b7;
	left: 0;
	right: 0;
	margin: auto;
	top: 50%;
	z-index: -1;
}

.table_box2{
	background: transparent;
	margin-top: 1em;
}

.ranking table {
	width: 94%;
	margin: auto;
	border-collapse: collapse;
	table-layout: fixed;
}

.ranking table th{
	background-color: #0068b7;
	font-weight: bold;
	color: #fff;
	padding:.2em .2em .3em;
	font-size: .8em;
	box-sizing: border-box;
	border: #a8a8a8 1px solid;
}

.ranking table td {
	padding:.4em;
	box-sizing: border-box;
	font-size: .8em;
	font-weight: bold;
	border: #a8a8a8 1px solid;
	white-space: nowrap;
	background: #fff;
}

.ranking table.rank_table {
	margin-top: 1em ;
}

.ranking table.rank_table p{
	margin: 0;
	text-align: center;
}

.ranking table.rank_table th.head{
	background-color: #0052b1;
	font-size: .9em;
	padding: .4em 0 .6em;
}

.ranking table.rank_table td:first-child {
	background: #eeeeee;
}

.table_box .small{
	margin: .2em 1em;
}

.ranking table img{
	width: 40%;
	padding: .2em 0;
}

.pickup .btn p,
.ranking .btn p{
	text-align: center;
	margin:0 0 .4em;
	font-size: 1.2em;
	color: #ff9500;
	font-weight: bold;
}

.ranking .btn a{
	padding: .8em .6em .6em;
	width: 96%;
	box-sizing: border-box;
	margin: 0 auto 1em;
}

.pickup .btn a img,
.ranking .btn a img{
	width: 60%;
}

.pickup .btn a span,
.ranking .btn a span{
	display: block;
	margin-top: .1em;
	font-size: 1.4em;
}

.pickup .btn a::before,
.ranking .btn a::before {
	content: '';
	width: 10px;
	height: 10px;
	border-top: 3px solid #fff;
	border-right:3px solid #fff;
	transform: rotate(45deg) translateY(-50%);
	position: absolute;
	top: 48%;
	right: 8%;
	border-radius: 1px;
	transition: 0.3s ease-in-out;
}



/*PC表示*/
@media screen and (min-width: 901px) {
.ranking{
	width: 90%;
	margin: 1.4em auto;
}

.ranking .title {
	margin-bottom: .8em;
}

.ranking .title .rank_logo {
	width: 10%;
	left: 4%;
}

.ranking .title .txt .name {
	padding-left: 16%;
	font-size: 1.5em;
}
.ranking .title .txt .sub_title {
	padding-left: 16%;
	font-size: 1.3em;
}
.table_box{
	width: 94%;
	margin: 0 auto 1em;
}
.ranking table.rank_table th .pc_table{
	display: flex;
	align-items: center;
	justify-content: center;
}
.ranking table.rank_table img {
	width: 100%;
}

.ranking table img {
	width: 30%;
}

.ranking table.rank_table th .pc_table .images{
	width: 30%;
	margin-right: .6em;
}

.table_box .small{
	width: 94%;
	margin: .3em auto;
}

.ranking .btn a{
	width: 90%;
}
.pickup .btn a img,
.ranking .btn a img {
	width: 34%;
}

.table_box2{
	width: 100%;
}

}

.fx_3point h2 {
	margin-bottom:.6em;
	padding: .4em 0 .5em;
	text-align: center;
	font-weight: bold;
	font-size:1.4em;
	color: #fff;
	background-color: #0068b7;
}

.fx_point {
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 .6em 1em;
	border: #0068b7 2px solid;
	background: #eff7ff;
	padding: .6em;
}

.fx_point h3 {
	width: 100%;
	display: flex;
	text-align: left;
	margin-bottom: .4em;
}

.fx_point h3 .number{
	width: 9%;
	background:#0068b7;
	color: #fff;
	padding:.1em 0 .3em;
	text-align: center;

}

.fx_point h3 .txt{
	width: 90%;
	padding: .1em 0 .3em .4em;
	background: #b2e0ff;
}

.fx_point .images{
	width: 24%;
	margin: 0;
	display: flex;
	align-items: center;
}

.fx_point .right{
	width: 74%;
	margin: 0;
	font-size:.95em ;
}

.point_txt {
	border: #ff0000 2px solid;
	margin: 0 .6em 1em;
	text-align: left;
	padding-bottom: .6em;
}

.point_txt p{
	margin: 0 .6em;
}

.point_txt .title{
	background: #ff0000;
	margin: 0;
	color: #fff;
	font-weight: bold;
	padding: .1em .8em .3em;
	display: inline-block;
	border-radius: 0 0 6px 0;
	margin-bottom: .4em;
}

.point_txt .title i{
	margin-right: .4em;
}

@media screen and (min-width: 901px) {
.pc_fx_point{
	display: flex;
	width: 90%;
	margin: 0 auto 1em;
	border-right: #0068b7 2px solid;
}

.fx_point{
	width: calc(100% / 3);
	margin: 0 auto 0;
	border-right:none;
	flex-direction: column;
	justify-content: flex-start;
}

.fx_point h3 {
	font-size: 1em;
	flex-direction: column;
}

.fx_point h3 .number,
.fx_point h3 .txt {
	width: 100%;
	padding:.1em 0 .3em;
	text-align: center;
}

.fx_point .images{
	width: 40%;
	text-align: center;
	margin: 0 auto .4em;
}

.fx_point .right{
	width: 100%;
}

.point_txt {
	width: 90%;
	margin: 0 auto 1em;
}
}

.bottom_table h2 {
	position: relative;
	font-size: 1.4em;
	border: #0068b7 2px solid;
	margin: 0 .8em 1em .6em;
	z-index: 1;
	display: flex;
}

.bottom_table h2 span{
	width: 100%;
	display: block;
	background: #fff;
	padding: .3em 0 .5em;
}

.bottom_table h2::after{
	content: "";
	background: #0068b7 ;
	width: 100.5%;
	height: 101%;
	position: absolute;
	left: 5px;
	top: 5px;
	z-index: -1;
}

.tab-content{
	margin-bottom: .2em;
}

.tab-content table{
	width: 100%;
	border-collapse: collapse;
	border-spacing : 0;
}

.tab-content th {
	color: #333333;
	border: 1px #666666 solid;
	background: #e1f4ff;
	font-size: .9em;
	padding: .3em .6em .4em;
	white-space: nowrap;
}

.tab-content td {
	border: 1px #666666 solid;
	background: #fff;
	font-size: .9em;
	font-weight: bold;
	padding: .6em;
}

.tab-content td .icon {
	width: 25px;
	min-width: 25px;
	margin-bottom: .2em;
}

.tab-content td.logo {
	white-space: nowrap;
}

.tab-content .red_table {
	border: 2px solid #ff0000;
}

.tab-content .red_table td{
	background: #fffae2;
}


.tab-content .btn{
	white-space: nowrap;
}

.tab-content .btn a{
	padding: .4em .8em;
	font-size: 1.1em;
	box-sizing: border-box;
	margin-bottom: .6em;
}


.tab-content .red.small{
	font-weight: bold;
	color: #ff0000;
}

.small_table {
	margin-bottom: 1em;
}

@media screen and (min-width: 901px) {
.bottom_table h2 {
	width: 90%;
	margin: 0 auto 1em;
}

.tab-content table {
	width: 90%;
	margin: 0 auto .1em;
}

.tab-content th,
.tab-content td {
	font-size: .8em;
}

.tab-content .btn a {
	padding: .4em 1em;
	font-size: 1em;
	box-sizing: border-box;
}


.small_table {
	width: 90%;
	margin: 0 auto 1em;
}
}


/* フッター*/
footer {
	width: 100%;
	color: white;
	text-align: center;
	padding: 10px 0 10px 0;
	clear: both;
	display: block;
	line-height:1.5 ;
	background: #0068b7;
	font-size:.8em
}

footer ul{
	margin:0 0 .2em;
	padding:0;
	display: flex;
	justify-content: center;
	list-style:none;
}

footer ul li {
	padding:0 .6em;
	border-left:1px solid #fff ;
}

footer ul li:first-child  {
	border-left:none ;
}

footer a{
	color: #fff;

}

footer a:hover{
	opacity:0.8;
}


/* 離脱防止 */
.close-btn {
	display: block;
	position: absolute;
	top: -6%;
	right: 0px;
	width: 24px;
	height: 24px;
	border-radius: 50%;  /* 丸みの度合い */
	background: #333; /* ボタンの背景色 */
}

.close-btn::before, .close-btn::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 3px;
	height: 10px;
	background: #fff; /* バツ印の色 */
}

.close-btn::before {
	transform: translate(-50%,-50%) rotate(45deg);
}

.close-btn::after {
	transform: translate(-50%,-50%) rotate(-45deg);
}


.modal_wrap input {
	display:none;
}

.modal_overlay {
	display: flex;
	justify-content: center;
	overflow: auto;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	width: 100%;
	height: 100%;
	background-color: rgba(50, 50, 50, 0.6);
	opacity: 0;
	transition: opacity 0.2s, transform 0s 0.2s;
	transform: scale(0);
}

.modal_trigger {
	position: absolute;
	width: 100%;
	height: 100%;
}

.modal_content {
	position: absolute;
	top: 50%;
	left: 50%;
	align-self: flex-start;
	width: 94%;
	max-width: 500px;
	box-sizing: border-box;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
}

.modal_wrap input:checked~.modal_overlay {
	opacity: 1;
	transform: scale(1);
	transition: opacity 0.2s;
}

.modal_content img{
	max-width: 100%;
}

input[type=checkbox]:checked ~ #example{
	animation:0.1s linear rotation1;
	background: #fff;
	border: #0068b7 2px solid;
}

@keyframes rotation1{
	0%{ transform: scale(0.4);}
	100%{ transform: scale(1.0); }
}


h2.modal_title{
	position: relative;
	font-size: 1.2em;
	padding: .6em 0;
	font-weight: bold;
	background:#0068b7;
	color: #fff;
}

.modal_fx{
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-bottom:#9ad7ff 1px solid;
	padding: .8em 1em .6em;
}

.modal_fx .logo{
	width: 64%;

}

.modal_fx .logo img{
	width: 90%;
	margin-bottom: .2em;
}

.modal_fx .btn {
	width: 30%;
	margin-bottom: 6px;

}

.modal_fx .btn a{
	padding: .4em 0;
	margin: .4em 0 .9em;
	line-height: 1.4;
}

@media screen and (min-width: 901px) {
.modal_fx .btn a{
	padding: 1em 0;
}
}