@charset "UTF-8";

@import url('https://fonts.googleapis.com/css?family=Asap+Condensed:600');

/*additional reset
---------------------------------------------------*/
*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

body.safari #content, body.safari #footer {/*サファリでリンク先から戻った時文字が拡大する対応*/
    -webkit-text-size-adjust: 100%;
}
body {
    font-family: "Helvetica Neue",
        Arial,
        "Hiragino Kaku Gothic ProN",
        "Hiragino Sans",
        Meiryo,
        sans-serif;
    margin: 0;
    font-size: 16px;
}
.g_k {
	font-size: 10px !important;
	text-align: right;
	margin: 0;
	color: #949494 !important;
}
/** link **/
a:link {
    color: #1c7fbd;
	text-decoration: underline;
}

a:visited {
    color: #1c7fbd;
}

a:hover,
a:active {
	text-decoration: none;
}

/*初期設定
----------------------------------------------------*/
#wrapper{
    width: 700px;
    padding: 0 0 0 0;
    overflow: hidden;
    margin: auto;
    position: relative;
}
.content{
    display: block;
    margin: 0 auto;
    width: 95%;
}
@media screen and (min-width:640px) {
    .pc{
        display: block;
    }
    .sp{
        display: none;
    }
}

@media screen and (max-width:640px) {
    .pc{
        display: none;
    }
    .sp{
        display: block;
    }
    #wrapper{
        width: 100%;
        margin-top: -6.5%;
    }
}
/*layout
----------------------------------------------------*/

img{
    width: 100%;
    padding: 0;
}
video{
     width: 100%;
}
.tac{
    text-align: center;
}
.tar{
    text-align: right;
}
.mt0{
    margin-top: 0 !important;
}
.mb0{
    margin-bottom: 0;
}
.mb10{
    margin-bottom: 10px;
}
.mb20{
    margin-bottom: 20px;
}
.mt20{
    margin-top: 20px !important;
}
.mb30{
    margin-bottom: 30px;
}
.mt30{
    margin-top: 30px !important;
}
.mb40{
    margin-bottom: 40px;
}
.mt40{
    margin-top: 40px;
}
.mt50{margin-top: 50px;
    
}
.pink{
    color: rgb(255, 0, 120);
}
.fcR{
    color: rgb(255, 0, 0);
}
.gray{
    color: rgb(150, 150, 150);
}
.orange{
    color: rgb(255, 153, 0);
}
.yellow{
    color: #fff200;
}
.blue{
    color: rgb(0, 102, 204);
}
.marker{
    background: rgba(0, 0, 0, 0) linear-gradient(transparent 30%,#ffee57 0%) repeat scroll 0 0;
}
.marker02{
    border-bottom-style: dotted;
    border-bottom-color: #dcdcdc;
    border-bottom-width: 3px;
    padding-bottom: 3px;
}
.fsLL{
    font-size: 23px;
}
.fsL{
    font-size: 20px;
}
.fsM{
    font-size: 19px;
}
.fsS{
    font-size: 10px;
}
.taC{
    text-align: center;
}

footer{
    padding: 30px 20px 30px;
    text-align: center;
    background: #ECECEC;
    margin-top: 50px;
    font-size: 13px;
}

table{
    width: 100%;
    text-align: center;
    line-height: 1.25;
    border-collapse: collapse;
    
}
th.text{
    width: 26%
}
td.title{
    background: pink;
    font-weight: bold;
    border: 2px solid #fff;
    width: 15% !important;
}
td,th{
    padding: 10px 5px;
    border: 2px solid #ddd;
}
table tr:first-child th:first-child{
    border: none;
}
table tr:last-child th:first-child{
    border: none;
}
table tr:last-child th{
    padding: 15px 0 25px;
}
table a{
    text-decoration: none !important;
}
.sogood{
    font-size: 30px;
    font-weight: bold;
    color: red;
}
.good{
    font-size: 30px;
    color: orange;
}
.soso{
    font-size: 30px;
    color: dodgerblue;
}
.star{
    color: orange;
}
a.table_btn, a.table_btn_G, a.table_btn_other{
    color: #fff;
    font-size: 14px;
}
.table_btn{
    border-radius: 10px;
    background-color: orangered;
    padding: 8px 8%;
    box-shadow: 0 5px 0 #a62d00;
}
/*.table_btn_other{*/
/*    border-radius: 10px;*/
/*    background-color: #00BB00;*/
/*    padding: 8px 8%;*/
/*    box-shadow: 0 5px 0 #006600;*/
/*}*/
.table_btn_G{
    border-radius: 10px;
    background-color: #00a71c;
    padding: 8px 8%;
    box-shadow: 0 5px 0 #005f10;
}

@media screen and (max-width:640px) {
    td.title{
        font-size: 14px;
    }
    table{
        font-size: 14px;
    }
    footer{
        padding: 30px 20px
    }
}

.mv{
    margin-bottom: 5%;
}
video {
    filter: drop-shadow(0px 0px rgba(0,0,0,0));
    outline: none;
    border: none;
}

h1,h2 {
    position: relative;
    padding: 10px 10px;
    background: #6bb6e7;
    color: white;
    line-height: 1.3;
    font-size: 21px;
    margin: 40px 0 25px;
}

h1::before,h2::before {
    position: absolute;
    content: '';
    top: 100%;
    left: 0;
    border: none;
    border-bottom: solid 15px transparent;
    border-right: solid 20px #429ad3;
}

.box01{
    background-color: gainsboro;
    padding: 10px;
    font-size: 15px;
}

h3 {
    position: relative;
    padding: 5px;
    border-bottom: 6px solid #6bb6e7;
    display: flex;
    align-items: center;
    line-height: 1.3;
}

h3:before {
    position: absolute;
    bottom: -6px;
    left: 0;
    width: 20%;
    height: 6px;
    content: '';
    background: #a0d5f7;
}
.number{
    display: block;
    color: #fff;
    background: #ff4d88;
    width: 40px;
    height: 40px;
    padding: 10px;
    margin-right: 10px;
    border-radius: 50px;
}
h4 {
    color: #fff;
    font-size: 23px;
    line-height: 1.3;
}
.item_ttl{
    display:flex;
    background: #88c8ea;
    text-align: center;
    justify-content: center;
    align-items: center;
    margin-top:3%;
    margin-bottom: 6%;
    position: relative;
}
.item_ttl:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -15px;
    border: 10px solid transparent;
    border-top: 10px solid #88c8ea;
}
.item_ttl img{
    max-width:30px;
    margin-right:3%;
}
.tap_circle{
    position: relative;
}

.item_ttl01{
    display:flex;
    background-image: linear-gradient(to right, #ff0078 0%, #f37ab3 100%);
    text-align: center;
    justify-content: center;
    align-items: center;
    margin-top:1%;
    margin-bottom: 6%;
    border-radius: 10px;
    position: relative;
}
.item_ttl01:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -15px;
    border: 15px solid transparent;
    border-top: 15px solid #f93e96;
  }

.item_ttl01 img{
    max-width:50px;
    margin-right:3%;
}
.title01_item{
    width: 14%;
    margin: 0 auto 2%;
    display: block;
}
.img06-02{
    position: absolute;
    width: 24%;
    top: 6%;
    right: 14.5%;
}

.score{
   padding: 7px;
   border: 2px dotted #6bb6e7;
    text-align: center;
    border-radius: 10px;
    font-weight: bold;
}

.box02 td{
    border: 1px solid #6bb6e7;
}
.box02 th{
    background:#6bb6e7;
    color:#fff;
    border: 1px solid #fff;
}
.box02 {
    border: 1px solid #6bb6e7;
}

a.cta02 {
    display: block;
    width: 70%;
    text-align: center;
    margin: 20px auto 40px;
    text-decoration: none;
    color: #fff;
    background-color: #888;
    padding: 15px 0;
    font-weight: bold;
    font-size: 20px;
    border-radius: 20px;
    box-shadow: 0 5px 0 #666;
}
.cta_toptext{
    margin-bottom: 0;
}

.rureru_box{
    margin:30px 0 40px 0; 
}
.pc_ds {
    display: block;
}
.sp_ds {
    display: none;
}
.mb60{
    margin-bottom: 10px;
}
@media screen and (max-width:640px){
    .sp_ds {
        display: block;
    }
    .pc_ds {
        display: none;
    }
    .mrl_sp{
        margin: 0 3%;
    }
    .title01_item{
        width: 20%;
        margin: 0 auto 3%;
        display: block;
    }
    a.cta02 {
        width: 90%;
    }
    h4 {
        font-size: 20px;
    }
}
/*アニメーション*/
.rureru {
    animation-duration: 1.4s!important;
    -webkit-animation-duration: 1.4s;
    -ms-animation-duration: 1.4s;
    -moz-animation-duration: 1.4s!important;
    -webkit-animation-name: shuffling;
    -moz-animation-name: shuffling;
    -o-animation-name: shuffling;
    animation-name: shuffling;
    -webkit-animation-timing-function: ease-in;
    -moz-animation-timing-function: ease-in;
    -o-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    -moz-animation-iteration-count: infinite;
    -webkit-animation-iteration-count: infinite;
    -o-animation-iteration-count: infinite;
    -ms-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
}
@-moz-keyframes shuffling {
    0% {-moz-transform: skewX(9deg);}
    10% {-moz-transform: skewX(-8deg);}
    20% {-moz-transform: skewX(7deg);}
    30% {-moz-transform: skewX(-6deg);}
    40% {-moz-transform: skewX(5deg);}
    50% {-moz-transform: skewX(-4deg);}
    60% {-moz-transform: skewX(3deg);}
    70% {-moz-transform: skewX(-2deg);}
    80% {-moz-transform: skewX(1deg);}
    90% {-moz-transform: skewX(0deg);}
    100% {-moz-transform: skewX(0deg);}
}
@-o-keyframes shuffling {
    0% {-o-transform: skewX(9deg);}
    10% {-o-transform: skewX(-8deg);}
    20% {-o-transform: skewX(7deg);}
    30% {-o-transform: skewX(-6deg);}
    40% {-o-transform: skewX(5deg);}
    50% {-o-transform: skewX(-4deg);}
    60% {-o-transform: skewX(3deg);}
    70% {-o-transform: skewX(-2deg);}
    80% {-o-transform: skewX(1deg);}
    90% {-o-transform: skewX(0deg);}
    100% {-o-transform: skewX(0deg);}
}
@-webkit-keyframes shuffling {
    0% {-webkit-transform: skewX(9deg);}
    10% {-webkit-transform: skewX(-8deg);}
    20% {-webkit-transform: skewX(7deg);}
    30% {-webkit-transform: skewX(-6deg);}
    40% {-webkit-transform: skewX(5deg);}
    50% {-webkit-transform: skewX(-4deg);}
    60% {-webkit-transform: skewX(3deg);}
    70% {-webkit-transform: skewX(-2deg);}
    80% {-webkit-transform: skewX(1deg);}
    90% {-webkit-transform: skewX(0deg);}
    100% {-webkit-transform: skewX(0deg);}
}
@keyframes shuffling {
    0% {transform: skewX(9deg);}
    10% {transform: skewX(-8deg);}
    20% {transform: skewX(7deg);}
    30% {transform: skewX(-6deg);}
    40% {transform: skewX(5deg);}
    50% {transform: skewX(-4deg);}
    60% {transform: skewX(3deg);}
    70% {transform: skewX(-2deg);}
    80% {transform: skewX(1deg);}
    90% {transform: skewX(0deg);}
    100% {transform: skewX(0deg);}
}
@keyframes puru {
    0% {
        transform: translate(0px, 2px);
    }
    5% {
        transform: translate(0px, -2px);
    }
    10% {
        transform: translate(0px, 2px);
    }
    15% {
        transform: translate(0px, -2px);
    }
    20% {
        transform: translate(0px, 2px);
    }
    25% {
        transform: translate(0px, -2px);
    }
    30% {
        transform: translate(0px, 0px);
    }
}

.box03{
    border-radius: 5px;
    position: relative;
    color: #fff;
    margin-top: 30px;
    display: block;
    background: #ff1c67;
}
.box03 h6{
    text-align: center;
    position: absolute;
    right: 0;
    left: 0;
    top: -55px;
    font-size: 18px;
}
.box03 span{
    padding: 3px 10px;
    background: #ffee57;
    color: #000000;
    border-radius: 50px;
}
.box03 .inner{
    padding: 25px 10px 15px;
    text-align: center;
    font-weight: bold;
    font-size: 20px
}
.title03{
        font-weight: bold;
    font-size: 18px;
    margin-bottom: -6px;
    color: darkorange;
    border-bottom: solid 1px darkorange;
}
.comment{
    background-color: lightyellow;
    margin: 10px 0 0;
    padding: 10px;
}

.test{
    padding: 0 10px 10px;
    margin: 0 auto;
    border: 1px solid #ff3d56;
}
.title04{
    text-align: center;
    font-weight: bold;
    margin: 30px 0 0;
    background: #ff3d56;
    padding: 10px 0 !important;
    color: #fff;
    font-size: 19px;
}
.title05{
    text-align: center;
    font-weight: bold;
    margin: 30px 0 0;
    background: #fbe100;
    padding: 10px 0 !important;
    color: red;
    font-size: 19px;
}
.campaign{
    padding: 0 10px 10px;
    margin: 0 auto;
    border: 1px solid #fbe100;
}
.title06{
    text-align: center;
    background-color: dimgray;
    padding: 13px 0;
    font-weight: bold;
    color: #fff;
    font-size: 17px;
}
.by {
    background-color: #fffbd7;
}

/* 追従ボタン */
.cta_follow{
    max-width: 690px;
    margin-left: -9px;
}

/* 追従ボタン　動きに関する記述 */
.ScrollTop {
    opacity: 0;
    transition: all 0.65s;
    width: 100%;
    position: fixed;
    z-index: 10;
    bottom: 0;
}
.ScrollTop.isActive {
    opacity: 1;
    transition: all 0.65s;
}
@media screen and (max-width:640px){
    .cta_follow{
        width: 100%;
        margin-left: -8px;
    }
}


table.index_search.mb20.searchtable {
    padding: 5px 10px 5px 10px;
    text-align: center;
	border: 1px solid #ccc;
}
table.index_search.mb20.searchtable td {
    border: 1px solid #afafaf;
}
table.index_search.mb20.searchtable th {
    border: 1px solid #afafaf;
}
.searchtable .searchbutton {
    background-color: #FF6D46;
    border: none;
    color: white;
    padding: 10px 50px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 16px;
    line-height: 15px;
    margin-top: 10px;
}
    .index_search th {
    border-collapse: collapse;
    background-color: #f6f6f6;
    font-weight: bold;
    text-align: center;
    vertical-align: middle;
    font-size: 80%;
    padding: 10px;
    line-height: 1.4;
    /* width: 30%; */
    /* border-left: 1px solid #ccc; */
    border-right: 1px solid #ccc;
}
.index_search td {
    border-collapse: collapse;
    text-align: left;
    vertical-align: middle;
    font-size: 80%;
    width: 70%;
    padding: 0px 0px 0px 30px;
}

.accordion {
  position: relative;
  width: 100%;
}
.accordion-title {
  cursor: pointer;
  font-size: 16px;
}
.accordion-content {
  display: none;
}

.accordion h5{
    margin:0 0 2%;
    font-size:16px;
    text-align:center;
    border:solid 1px #000;
    border-radius:50px;
}




.accordion2 {
  position: relative;
    width: 100%;
    border-radius: 10px;
    background:#eee;
    padding: 3% 3% 1%;
}
.accordion-title2 {
  cursor: pointer;
  font-size: 16px;
}
.accordion-content2 {
  display: none;
}
.accordion-content2 p{
        margin-top: 0;
}
/* タイトルの背景色 */
.accordion-item2:nth-of-type(1) .accordion-title2, .accordion-item2:nth-of-type(2) .accordion-title2 , .accordion-item2:nth-of-type(3) .accordion-title2 {
  border-bottom: solid 1px #000;
}
.accordion2 h5 {
    margin: 0 0 3%;
    font-size: 16px;
    font-weight: normal;
}
/* 矢印 */
.accordion-title2 {
  position: relative;
}
.accordion-title2::after {
  border-right: solid 2px #000;
  border-top: solid 2px #000;
  content: "";
  display: block;
  height: 8px;
  position: absolute;
  right: 25px;
  top: 38%;
  transform: rotate(135deg);
  transition: transform .3s ease-in-out, top .3s ease-in-out;
  width: 8px;
}
.accordion-title.open::after {
  top: 45%;
  transform: rotate(-45deg);
}
.box{
    background:#e1f7ff;
    padding:3%;
    border-radius:10px;
}
/*比較表*/
.rankTable table {
    width: 94%;
    margin: 0 auto 2%;
    background: #fff;
    border-collapse: collapse;
    color: #222;
    text-align: center;
}
.rankTable table td {
    font-size: 13px;
    padding: 3% 0 3%;
    line-height: 1.5;
    vertical-align: middle;
}
.yellow{
    color: #ffa500;
}
.rankTable table img {
    max-width: 100%;
    margin: 0 auto;
}
.rankTable a {
    color: #00307e;
    text-decoration: none;
    font-weight: bold;
    font-size: 13px;
    line-height: 1.2;
}

.table_a_btn {
    background: #3dbb00;
    display: block;
    padding: 7px 2px;
    border-radius: 10px;
    color: #fff !important;
    height: 47px;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 2px 2px 0 #226800;
} 

.table_a_btn span {
    vertical-align: middle;
}

.rankTable table tr {
	border-top: 1px solid #cdd4d0;
}
.rankTable table tr th {
        background: #6bb6e7;
        color: #fff;
        border-radius: 0;
        /*	padding: 0.5% 0;*/
        font-weight: bold;
		font-size: 16px;
		width: 75px;
		line-height: 1.3;
    }
.rankTable {
        border: 10px solid #e1f7ff;
        border-top: 10px solid #e1f7ff;
        border-width: 10px;
        box-sizing: border-box;
        background: #ffffff;
    }
.rankTable td {
        border-right: 2px dotted #cdd4d0;
        text-align: center;
		width: 17%;
    }
.rankTable td:first-child{
        background: #ffffe1;
    }
.rankTable td:last-child {
        border-right: none;
    }
.rankTable table {
	background: #ffffff;
	width: 100%;
	margin: auto;
	box-sizing: border-box;
	padding: 1%;
	border-radius: 5px;
}

.rankTable table tr:first-child th:last-child,
.rankTable table tr:last-child th:last-child {
	border-right: none;
}
.rankTable td {
	font-size: 13px;
}
.rankTable td.txt_only {
	font-size: 1.5rem;
	color: #333333;
	padding: 2.5% 0;
}
span.ex, span.go, span.so {
	font-weight: normal;
	line-height: 70px;
	font-size: 3rem;
}
span.ex {
	color: #f8525d;
}
span.go {
	color: #7cd0dd;
}
span.so {
	color: #f5c132;
}
span.ex, span.go, span.so, span.bad {
	line-height: 50px;
}
.y_bg {
	background: #feffdf;
}
.r_bg {
	background: rgb(255, 0, 0);
	color: #fff;
}
.p_bg {
	background: #ffdde7;
}
.chart_btn {
    border-radius: 5px;
    padding: 5px;
    background-color: #ff1c67;
    box-shadow: 0 5px 0 0 #bf0e48;
    text-align: center;
    width: 95px;
    margin: 15px auto;
    position: relative;
    line-height: 1.3;
}
.chart_btn a{
	color: #fff;
	font-size: 12px;
}
.chart02_btn {
    border-radius: 5px;
    padding: 5px;
    background-color: #004b7c;
    box-shadow: 0 5px 0 0 #00416c;
    text-align: center;
    width: 95px;
    margin: 15px auto;
    position: relative;
    line-height: 1.3;
}
.chart02_btn a{
	color: #fff;
	font-size: 12px;
}
.pa1{
	padding: 1% !important;
}
.pb2 {
    padding: 2% 0 2% !important;
}
.pa2{
	padding: 2% 0 0 !important;
}
.fwB{
	font-weight: bold;
}
@media (max-width: 760px) {
    
	.rankTable table tr th{
		position: sticky;
		left: 0;
		z-index: 5;
		white-space: nowrap;
		width: 75px;
	}
	.rankTable{
		overflow-x: scroll;
	}
	.rankTable table {
		width: 670px;
	}
}
.osusume {
    position: relative;
    padding: 10px 10px;
    background: #ff1c67;
    color: white;
    line-height: 1.3;
    font-size: 21px;
    margin: 40px 0 25px;
    border-right: solid 5px #bb0642;
}

.osusume::before {
    font-weight: bold;
    position: absolute;
    content: '';
    top: 100%;
    left: 0;
    border: none;
    border-bottom: solid 15px transparent;
    border-right: solid 20px #ad0039;
}