@charset "UTF-8";

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
}

html {
  -webkit-text-size-adjust: 100%;
  }

ol, ul {
  list-style: none;
}
blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

:focus {
  outline: 0;
}

ins {
  text-decoration: none;
}
del {
  text-decoration: line-through;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}
img{max-width: 100%}
* {
  margin:0;
  padding:0;
    box-sizing: border-box;
}
canvas { max-width: 100%;}

html {
  overflow-y: scroll;
}

body {
  font-size:medium;
  display:inline;
  background-color:#fafafa;
  background-size: 15px 15px;
  background-repeat: repeat;
  background-attachment: fixed;
  color: #333;
}

.wrap{overflow:hidden;}

a:link,
a:visited {
  color: blue;
  text-decoration:none;
}
a:hover,a:hover img,
a:active {
  color: #ff870f;
  text-decoration: none;
  opacity:0.6;filter:alpha(opacity=60);-ms-filter: "alpha( opacity=60 )";transition: 0.6s;
}

a img {
  border:none;
	margin: 1.1em auto 0.5em;
}

.pc{display: block !important;;}
.sp{display: none !important;;}
.small{font-size: 0.8em}
.red{color: #FF7171;font-weight: bold;text-shadow: 1px 1px 0 rgba(0,0,0,.1);}
.yellow{color: #FFFF00;font-weight: bold;text-shadow: 1px 1px 0 rgba(0,0,0,.1);}
.blue{color: #3c86e1;font-weight: bold;text-shadow: 1px 1px 0 rgba(0,0,0,.1);}
.marker{
  font-weight: bold;
  position: relative;
  background-image: linear-gradient(90deg, #FFF9B6, #FFF9B6);
  background-repeat: no-repeat;
  background-position: bottom left;
  background-size: 0 40%;
  transition: all 1s ease-in-out;
}
.marker.inview {
  background-size: 100% 40%;
}
@media screen and (max-width:480px){
	.officialBtn_box > .btn_top_comment{
		font-size: 5vw;
	}
}
.annotation{color: #777;font-size: .8em;}

.mainH2{
	font-size: 1.7em;
	color: #FFFFFF;
	background: #59cb29;
	padding: 0.75em;
	text-align: center;
  font-weight: bold;
  margin: 1em auto .5em;
/* 	width: 98%;
  position: relative;
  color: #333;
  border-bottom: solid 2px #eee;
  color: #333; */
}

.mainH2::before{
  content: "";
  position: absolute;
  background-color: #59cb29;
  width: 3px;
  height: 2em;
  left: 0;
  top: 0;
}

.mainH2 a{
  color: #333;
}


@media screen and (max-width:480px){
  .mainH2{
    font-size: 5vw;
    margin-bottom: 2vw;
  }
}

.widget-title{
  display: none;
}

/*------------------------------------------------------------------------------- firstView -------------------------------------------------------------------------------*/
#firstView{
  width: 100%;
  background-size: 13px 13px;
  background-repeat: repeat;
}
#firstView img{
  display: block;
  width: 1000px;
  margin: 0 auto;
}

.firstView img{
  vertical-align: bottom;
}

@media screen and (max-width:480px){
  #firstView img{
    width: 100%;
  }

  #firstView__Image{
    margin-top: -1rem;
  }
}
/*------------------------------------------------------------------------------- firstView -------------------------------------------------------------------------------*/

/*------------------------------------------------------------------------------- ヘッダー -------------------------------------------------------------------------------*/
header{width:100%;height:73px;background:none;}
header img{text-align:center;display:block;margin:0px auto;width:460px;padding-top:15px;}
#header_logo{background-color:#fff;box-shadow: 0 3px 3px rgba(0,0,0,.1);}
#header_logo .logo_box{width: 1000px;margin: 0 auto;}
.nav_pc{
  width:100%;
  background: #59cb29;
  padding:0px 0 0 !important;
}
nav ul{
  display: flex;
  width: 1000px;
  margin: 0 auto;
}
nav ul li{
  width: 25%;
  line-height: 2.5em;
  text-align: center;
  font-weight: bold;
  border-left: solid 2px #fff;
  position: relative;
}
nav ul li:last-child{
  border-right: solid 2px #fff;
}
nav ul li a{
  color: #fff!important;
  display: block;
}
img.fv{width:1000px;height:auto;margin:0 auto;display:block;}
@media screen and (max-width: 480px){
  nav{
    display: none;
  }
  #header_logo .logo_box{
    width: 100%;
  }
}
/*------------------------------------------------------------------------------- /ヘッダー -------------------------------------------------------------------------------*/
.container{width:1000px;height:auto;margin:0px auto 0;}

.logo_box img{
	margin: 0.2em 0;
}
/*------------------------------------------------------------------------------- left -------------------------------------------------------------------------------*/
.left{width:780px;height:auto;float:left;background:#fff;margin-top: 20px;box-shadow: 0 0 6px #ccc;padding-bottom: .5rem;}
.bnr0{width:774px;margin:8px 0 0 5px;}
ul.bnr{margin:-5px auto 0;width:795px;}
ul.bnr li.leftLi{width:390px;height:119px;float:left;margin:-1px 0 0 3px;}
ul.bnr li.rightLi{width:385px;height:119px;float:left;margin:-1px 0 0 0;}
ul.bnr li img{width:100%;}


.rankBox{position:relative;width:780px;margin:30px auto 0;padding:30px 0 30px;background-color:#EBFAFF;}
.rankBox:before{content:"";display:block;width:686px;height:80px;margin:0 auto;background-size:contain;background-repeat:no-repeat;background-position:center center;}

.rankBox.rankBox1:before{background-image:url(../images/rankbox_title1.png);}
.rankBox.rankBox2:before{background-image:url(../images/rankbox_title2.png);}
.rankBox.rankBox3:before{background-image:url(../images/rankbox_title3.png);}
.rankBox.rankBox4:before{background-image:url(../images/rankbox_title4.png);}
.rankBox.rankBox5:before{background-image:url(../images/rankbox_title5.png);}
.rankBox.rankBox6:before{background-image:url(../images/rankbox_title6.png);}
.rankBox.rankBox7:before{background-image:url(../images/rankbox_title7.png);}
.rankBox.rankBox8:before{background-image:url(../images/rankbox_title8.png);}
.rankBox.rankBox9:before{background-image:url(../images/rankbox_title9.png);}

.rankBox div{width:calc(100% - 40px);padding:20px 0;margin:40px auto 0;border:solid 1px transparent;border-radius:30px;background-color:#FFF;box-shadow: 0px 0px 15px #CCC;}
.rankBox ul{display:block;margin-top:-50px;}
.rankBox ul li:nth-of-type(3){margin-top:10px;}
.rankBox ul li:nth-of-type(n+4){margin-top:20px;}
.rankBox ul li a{display:block;color:#323232;font-size:2em;font-weight:bold;}
.rankBox ul li a span{display:inline-block;width:calc(100% - 146px - 10px - 10px - 30px);border-bottom:dotted 2px #D9D9D9;line-height:250%;}
.rankBox ul li a:before{content:"";display:inline-block;width:128px;margin:0 10px 0 10px;background-size:cover;vertical-align: bottom;}
.rankBox ul li:nth-of-type(1) a:before{height:146px;background-image:url(../images/rankbox_icon1.png);}
.rankBox ul li:nth-of-type(2) a:before{height:114.5px;background-image:url(../images/rankbox_icon2.png);}
.rankBox ul li:nth-of-type(3) a:before{height:114.5px;background-image:url(../images/rankbox_icon3.png);}
.rankBox ul li:nth-of-type(4) a:before{height:82px;background-image:url(../images/rankbox_icon4.png);}
.rankBox ul li:nth-of-type(5) a:before{height:82px;background-image:url(../images/rankbox_icon5.png);}


/*------------------------------------------------------------------------------- /left -------------------------------------------------------------------------------*/

/*------------------------------------------------------------------------------- ranking -------------------------------------------------------------------------------*/
/* ---------------ランキングコンテナ-------------- */
.ranking{
  width: 100%;
  margin: 0 auto 2rem;
  background-color: #FFF;
}

.ranking h2{
  font-size: 2.1rem;
  font-weight: bold;
  color: #59cb29;
  background-color: #fff;
  width: 96%;
  margin: 0 auto;
  padding: .5rem 0 .5rem 2.8em;
  position: relative;
  line-height: 1.5em;
  text-align: left;
}
@media screen and (max-width:480px){
	border-bottom: double 3px #e3e3e3;
}

.ranking h2.rankIconNone{
  padding-left: .3em;
}

.ranking h2::before{
  position: absolute;
  content: "";
  width: 4rem;
  height: 4rem;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  top: 0;
  left: 1rem;
}

.ranking h2.rankIcon1::before{background-image: url(/wp-content/themes/custom-theme/images/rankIcon/rank1.png)}
.ranking h2.rankIcon2::before{background-image: url(/wp-content/themes/custom-theme/images/rankIcon/rank2.png)}
.ranking h2.rankIcon3::before{background-image: url(/wp-content/themes/custom-theme/images/rankIcon/rank3.png)}

.ranking .totalPoint_block{
/*   width: 96%; */
/*   margin: 0 auto .5rem; */
  font-weight: bold;
}

.ranking .totalPoint_block .total_score{
  font-size: 1.5em;
}

.ranking .ranking__firstBlock .itemImage{
  display: block;
  width: 96%;
  margin: 0 auto 1rem;
  border-radius: 10px;
  text-align: center;
  padding: .5rem 0;
/*   background-image: url(/wp-content/themes/custom-theme/images/itemBg.jpg); */
  background-size: cover;
}
.ranking .ranking__firstBlock .itemImage img{
  width: 70%;
}

.ranking .itemTable{
  width: 96%;
  margin: 0 auto 1rem;
}

.ranking .itemTable th,
.ranking .itemTable td{
  width: calc(100% / 3);
  vertical-align: middle;
  text-align: center;
  padding: .5em;
  border: solid 1px #ddd;
}

.ranking .itemTable th{
	background-color: #59cb29;
    color: #fff;
	font-weight:bold;
}

.ranking .itemTable caption {
    caption-side: bottom;
    text-align: right;
	margin-top: .5em;
}

.tableIcon_subject{
	width: 1em;
}

/* .topTable table tr .table_subject{
	text-align: left;
} */

.ranking .recommendPoint{
  width: 96%;
  margin: 0 auto .5em;
  padding: 1rem;
}

.ranking .recommendPoint ul li{
  text-indent: -1.5em;
  padding-left: 1.5em;
  line-height: 1.5em;
}

.ranking .recommendPoint ul li::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: bold;
  color: #ffb534;
  content: "\f00c";
  margin-right: .5em;
}

.ranking .recommendPoint ul li:not(:last-child){
  margin-bottom: 1em;
}

.ranking .recommendPoint + .annotation{
  width: 96%;
  margin: -.5rem auto 1rem;
}

.officialBtn_box{
  width: 96%;
  margin: .5rem auto;
  text-align: center;
}

.officialBtn_box a{
  font-size: 1.1em;
  display: block;
  margin: 0 auto;
  width: 70%;
	overflow: hidden;
  border-radius: 5px;
	background: linear-gradient(to right, #fbc800, #ffa010);
  box-shadow: 0 5px 0 #b17810;
  color: #fff;
  font-weight: bold;
  text-align: center;
  padding: 1em 0;
	position:relative;
	overflow:hidden;
}
@keyframes shiny {
    0% { left: -20%; }
    30% { left: 120%; }
    100% { left: 120%; }
}
.officialBtn_box a::before {
  position: absolute;
	top:-10%;
	left:-20%;
	width:30px;
	height:100%;
	transform:scale(2) rotate(20deg);
	background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, .5) 100%, rgba(255, 255, 255, 0) 0%);
	content:'';
	
	    /* アニメーション */
    animation-name: shiny;
    animation-duration: 3s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
}

.officialBtn_box .btnCampaign a {
    display: block;
    margin: 0 auto;
    width: 60%;
    overflow: hidden;
    border-radius: 0;
    background: none;
    box-shadow: none;
	padding: 0;
}
@media screen and (max-width:480px) {
	.officialBtn_box .btnCampaign a {
		width: 90%;
	}
}

.topTable table tr.tr_officialBtn td a::before {
	position: absolute;
	top:-10%;
	left:-20%;
	width:30px;
	height:100%;
	transform:scale(2) rotate(20deg);
	background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, .5) 100%, rgba(255, 255, 255, 0) 0%);
	content:'';
	
	    /* アニメーション */
    animation-name: shiny;
    animation-duration: 3s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
}

.detailBtn_box {
  text-align: center;
  margin: -.5rem auto 1rem;
}

.detailBtn_box a{
  color: #777;
}

.reason{
  width: 96%;
  margin: 0 auto 1rem;
}

.reason h3{
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 1rem;
  background-color: #fff;
  border: solid 2px #59cb29;
  box-shadow: 3px 3px 0 #61a944;
  padding: .5em 1em;
  position: relative;
}


.reason p{
  line-height: 1.8em;
  margin: 0 auto 1em;
}

.reason img{
  display: block;
  width: 70%;
  margin: 0 auto 1rem;
}

.review{
  width: 96%;
  margin: 0 auto 1rem;
}

.review h3{
  font-size: 1.5rem;
  text-align: center;
  font-weight: bold;
  padding: .5em 0;
}

.review h3::before,
.review h3::after{
  content: "-";
  margin: 0 .5em;
}

.review_card{
  border: solid 2px #eee;
  border-radius: 10px;
  padding: 1rem;
  margin-bottom: .5rem;
}

.review_card h4{
  display: flex;
  flex-wrap: wrap;
  padding-bottom: .5em
  ;
  margin-bottom: .5em;
  border-bottom: solid 2px #eee;
}

.review_card h4 .reviewer_img{
  width: 3rem;
  margin-right: .5rem;
}

.review_card h4 .reviewer_txt{
  width: calc(100% - 3.5rem);
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
}

.review_card h4 .reviewer_txt span{
  display: block;
  width: 100%;
}

.review_card h4 .reviewer_txt .review_title{
  font-size: 1.2em;
  font-weight: bold;
  color: #59cb29;
}

.review_card p{
  line-height: 1.7em;
}

.review_more_btn{
  display: block;
  margin: .5rem auto;
  padding: .3em 1.5em;
  border: dashed 1px #eee;
  border-radius: 999px;
  color: #777;
}

.target{
  width: 96%;
  margin: 0 auto 1rem;
  border: solid 2px #59cb29;
}

.target h3{
  background-color: #59cb29;
  color: #fff;
  font-weight: bold;
  line-height: 1.75em;
  font-size: 1.1em;
  padding: 0 1em;
}

.target ul{
  padding: 1rem;
}

.target ul li::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: bold;
  color: #ccc;
  margin-right: .5em
  ;
  content: "\f054";
}

.target ul li:not(:last-child){
  margin-bottom: 1em;
}

@media screen and (max-width : 480px){
  .ranking h2{
    font-size: 5.5vw;
  }

  .ranking h2::before{
    width: 13vw;
    height: 15vw;
    left: 0;
    top: auto;
    bottom: 0;
  }

  .ranking .totalPoint_block {
    font-size: 4vw;
  }

  .ranking .ranking__firstBlock .itemImage img{
    width: 90%;
  }

  .ranking .itemTable th, .ranking .itemTable td{
    font-size: 3.5vw;
    padding: .5em 0;
  }

  .officialBtn_box a{
    width: 96%;
  }

  .ranking .content_block h3{
    font-size: 4.5vw;
  }

  .ranking .content_block h4 span{
    font-size: 4vw;
  }

  .ranking .content_block dl dt{
    font-size: 4vw;
  }

  .ranking .content_block dl dd{
    font-size: 3.7vw;
  }

  .review h3{
    font-size: 5vw;
  }

  .review_card h4 .reviewer_img {
    width: 12vw;
    margin-right: 2vw;
  }

  .review_card h4 .reviewer_txt{
    width: calc(100% - 14vw);
    font-size: 4vw;
  }

  .review_card p{
    font-size: 3.7vw;
  }

  .reason h3{
    font-size: 5vw;
  }
  .reason img{
    width: 100%;
  }
}

/* ---------------/ランキングコンテナ-------------- */


.columnsH1{
  font-size:24px;
  color:#fff;
  background-color:#035aa6;
  line-height:1.2em;
  margin-top:17px;
  padding:13px 30px;
  text-indent:-1.5em;
  padding-left:2.5em;
}

.columnsH1::before{
  font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f5ad';
    font-size: 24px;
    color: #fff;
    position: relative;
  padding-right:0.5em;
    width: 24px;
    height: 24px;
  top: 0;
}

.columnsH2 {
  font-size:17px;
  position: relative;
  padding: 0.5rem 0.5rem;
  border-bottom: 3px solid #035aa6;
  margin:25px 0 10px
}

.columnsH2:before {
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 20%;
  height: 3px;
  content: '';
  background: #8EB8FF;
}

.columnsWrap{
  background-color:#fff;
  padding:15px;
}


.columnsParagraph{line-height:1.8;color:#333;text-align:justify;font-size:14px;text-indent:1em;}


.hiddenHead01,.hiddenHead02,.hiddenHead03{
  width: 780px;
    height: 50px;
    color: #fff;
    background: #0064dc;
    font-weight: bold;
    font-size: 1.75em;
    text-indent: 0.5em;
    line-height: 1.8em;
    margin: 15px auto 0;
  padding-left:20px
}

.hiddenHead01:hover{
  cursor:pointer;
  opacity:0.7;
  transition:0.5s;
}
.hiddenHead02:hover{
  cursor:pointer;
  opacity:0.7;
  transition:0.5s;
}
.hiddenHead03:hover{
  cursor:pointer;
  opacity:0.7;
  transition:0.5s;
}

.hiddenHead01::before{
  font-family: 'Font Awesome 5 Free';
  font-weight:900;
  content:'\f138';
  font-size:20px;
  color:#fff;
  position:relative;
  width:25px;
  height:25px;
  top:-2px;
  left:-20px;
}
.hiddenHead02::before{
  font-family: 'Font Awesome 5 Free';
  font-weight:900;
  content:'\f138';
  font-size:20px;
  color:#fff;
  position:relative;
  width:25px;
  height:25px;
  top:-2px;
  left:-20px;
}
.hiddenHead03::before{
  font-family: 'Font Awesome 5 Free';
  font-weight:900;
  content:'\f138';
  font-size:20px;
  color:#fff;
  position:relative;
  width:25px;
  height:25px;
  top:-2px;
  left:-20px;
}

.hiddenHead01.open::before{
  font-family: 'Font Awesome 5 Free';
  font-weight:900;
  content:'\f13a';
  font-size:20px;
  color:#fff;
  position:relative;
  width:25px;
  height:25px;
  top:-2px;
  left:-20px;
}
.hiddenHead02.open::before{
  font-family: 'Font Awesome 5 Free';
  font-weight:900;
  content:'\f13a';
  font-size:20px;
  color:#fff;
  position:relative;
  width:25px;
  height:25px;
  top:-2px;
  left:-20px;
}
.hiddenHead03.open::before{
  font-family: 'Font Awesome 5 Free';
  font-weight:900;
  content:'\f13a';
  font-size:20px;
  color:#fff;
  position:relative;
  width:25px;
  height:25px;
  top:-2px;
  left:-20px;
}

.hiddenParagraph01,.hiddenParagraph02,.hiddenParagraph03{
  display:none;
  width:780px;
  color: #000;
    font-size: 15px !important;
    line-height: 1.8em;
  padding:20px 30px;
  background-color:#fff;
}

.hiddenBox{
  margin-bottom:20px;
}

.hiddenBox p{
  margin-bottom:20px;
}

.hiddenBox dt{
  font-size:18px;
  border-bottom:solid 1px #0064dc;
  margin:10px 0;
}

.hiddenBox dd{
  padding-left:1em;
}

.areaWrap{
  background-color:#fff;
}

.areaWrap dt{
  font-size:15px;
  color:#333;
  font-weight: bold;
  border-bottom: 2px dashed #ccc;
  margin-bottom:.5em;
  position: relative;
  line-height: 2em;
}

.areaWrap dd{
  font-size:13px;
  color:#333;
  margin-bottom:1rem;
  padding-left:1em;
}

.areaWrap p{
  font-size:13px;
  color:#333;
  margin-bottom:30px!important;
  padding-left:1em;
}

.areaWrap h3{
  padding-left:5px;
}

.areaWrap h3::before{
  font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f14a';
    font-size: 16px;
    color: #000;
    position: relative;
    width: 16px;
    height: 16px;
    top: 0px;
    left: -5px;
}


.areaWrap li{
  margin-bottom:7px;
}

.textArea{
  width: 95%;
  margin: 0 auto;
}

.areaWrap ol{
  counter-reset:item;
  list-style-type:none;
  margin:0 0 15px 14px;
}

.areaWrap ol li{
  text-indent:-1.3em;
  padding-left:1.3em;
  font-size:14px;
}


section.areaWrap{
  margin-top:40px;
}

section.areaWrap h2{
  border-bottom:none;
}

section.areaWrap textarea{
  width:313px;
}

section.areaWrap input.wpcf7-submit{
  padding:2px 15px;
  background-color:#035aa6;
  color:#fff;
}

.pointTable{
  border:2px solid #002e86;margin:0px auto 0;max-width: 100%;
}

.pointTable tr.tr2{
  background:#FFF7DB;
}

.pointTable tr.tr2:nth-of-type(odd){
  background:#FFF;
}

.pointTable th,.pointTable td{
  height:70px;
  vertical-align:middle;
  text-align:center;
  border-right:1px solid #c8c8c8;
  font-size:18px;
}

.pointTable th.pointTableTh1{
  width:320px;
}

.pointTable th.pointTableTh2{
  width:140px;
}

.pointTable th{
  background-color:#d3f0fe;
  color:#002e86;
}

.rankingH4{
  position: relative;
  padding-top: 1em;
  font-size: 18px;
  font-weight: 600;
  line-height: 2em;
  width: 90%;
  margin-bottom: 1rem;
  background: linear-gradient(-45deg,#59cb29 25%,transparent 25%,transparent 50%,#59cb29 50%,#59cb29 75%,transparent 75%);
  background-size: 5px 5px;
  background-position: bottom;
  background-repeat: repeat-x;
}
.contentsIcon::after{
  background-image: url(/wp-content/themes/custom-theme/images/topColumn/contents.png);
}
.interestingIcon::after{
  background-image: url(/wp-content/themes/custom-theme/images/topColumn/interesting.png);
}
.commentIcon::after{
	background-image: url(/wp-content/themes/custom-theme/images/topColumn/comment.png);
}
.otameshiIcon::after{
  background-image: url(/wp-content/themes/custom-theme/images/topColumn/otameshi.png);
}
.penIcon::after{
  background-image: url(/wp-content/themes/custom-theme/images/topColumn/pen.png);
}
.presentIcon::after{
  background-image: url(/wp-content/themes/custom-theme/images/topColumn/present.png);
}

.contentsIcon::after,
.interestingIcon::after,
.commentIcon::after,
.otameshiIcon::after,
.penIcon::after,
.presentIcon::after{
  position: absolute;
  content: "";
  width: 3rem;
  height: 3rem;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  top: 50%;
  transform: translateY(-50%);
  right: -60px;
}
@media screen and (max-width:480px){
	.rankingH4{
		width: 85%
	}
	.contentsIcon::after,
	.interestingIcon::after,
	.commentIcon::after,
	.otameshiIcon::after,
	.penIcon::after,
	.presentIcon::after{
		right: -53px;
	}
}

.swiper .swiper-wrapper .swiper-slide img{
  width: 96%;
  margin-top: 1em;
}
@media screen and (max-width:480px) {
  .swiper .swiper-wrapper .swiper-slide img{
    width: 96%;
    margin-top: 0.3em;
  }
}
.swiper-button-prev,
.swiper-button-next {
  width: 24px; /* ボタンの幅 */
  height: 40px; /* ボタンの高さ */
  background-size: 24px 40px; /* 表示したいサイズ */
  transform: translateY(-50%);
  margin-top: 0;
}

/*------------------------------------------------------------------------------- /ranking -------------------------------------------------------------------------------*/

/*------------------------------------------------------------------------------- right -------------------------------------------------------------------------------*/
.right{width:200px;height:auto;float:right;background:none;margin:1em auto 30px;}
.rightBox{
  margin: 0 auto 2rem;
  background-color: #fff;
  border: solid 2px #59cb29;
  border-radius: 10px;
}
.sideH2{
  text-align: center;
  font-weight: bold;
  padding: 1em 0;
  color: #59cb29;
  position: relative;
  position: relative;
}
.sideH2::after{
  position: absolute;
  content: "";
  width: 90%;
  height: 2px;
  background-color: #59cb29;
  left: 5%;
  bottom: -1px;
}
.sideH2 i{
  margin-right: .5em;
}

.rightRankBox ul li:not(:last-child){
  border-bottom: dashed 2px #eee;
}

.rightRankBox a{
  display: block;
  padding: 0 .5em;
  margin: 10px 0;
  color: #333;
  text-align: center;
  font-weight: bold;
  line-height: 1.5em;
  position: relative;
}

.rightRankBox a img{
  width: 96%;
  display: block;
  margin: 0 auto;
}

.rightRankBox ul li a .sideRank_txt{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

.rightRankBox ul li a .sideRank_txt p{
  width: 100%;
}

#sideForm form{
  padding: .5rem;
}

#sideForm form dl:not(:last-of-type){
  padding-bottom: .5rem;
  margin-bottom: .5rem;
}

#sideForm form dl dt{
  width: 100%;
  color: #59cb29;
  margin-bottom: .2em;
}


#sideForm form dl dd select{
  width: 100%;
  border: solid 1px #ddd;
  border-radius: 5px;
  padding: .3em .5em;
  color: #888;
}

#sideForm form dl dd label{
  width: 100%;
  display: block;
  padding: .3em 0;
  font-size: .9em;
}

#sideForm form p{
  text-align: right;
}

#sideForm form p button{
  padding: .5em 1em;
  font-weight: bold;
  background-color: #eee;
  border: solid 1px #ddd;
  color: #777;
  border-radius: 5px;
}

/* .rankingBg .infant .infant_title,
.rankingBg .elementary .elementary_title,
.rankingBg .junior .junior_title{
	background-color: #fbc800;
    height: 1.6em;
    margin-bottom: 0.6em;
}
.rankingBg .infant .infant_title p,
.rankingBg .elementary .elementary_title p,
.rankingBg .junior .junior_title p{
	margin-left: 2em;
	line-height: 1.6em;
} */

.rankingBg .infant .infant_title,
.rankingBg .elementary .elementary_title,
.rankingBg .junior .junior_title{
  position: relative;
  padding: 1em 1.6em;
  border: 3px solid #fbc800;
  border-radius: 10px;
  background: #fffae7;
	width: 96%;
	margin: 0 auto 1em;
}

.rankingBg .infant .infant_title:before,
.rankingBg .elementary .elementary_title:before,
.rankingBg .junior .junior_title:before {
  position: absolute;
  bottom: -14px;
  left: 1em;
  width: 0;
  height: 0;
  content: '';
  border-width: 14px 12px 0 12px;
  border-style: solid;
  border-color: #fbc800 transparent transparent transparent;
}

.rankingBg .infant .infant_title:after,
.rankingBg .elementary .elementary_title:after,
.rankingBg .junior .junior_title:after {
  position: absolute;
  bottom: -10px;
  left: 1em;
  width: 0;
  height: 0;
  content: '';
  border-width: 14px 12px 0 12px;
  border-style: solid;
  border-color: #fffae7 transparent transparent transparent;
}
.rankingBg .infant,
.rankingBg .elementary,
.rankingBg .junior{
	margin: 2em auto 4em;
}
.rankingBg .officialBtn_box {
    width: 96%;
    margin: 1em auto 4em;
	text-align: center;
}
@media screen and (max-width:480px) {
	.rankingBg .officialBtn_box {
		margin: 1em auto 3em;
	}
}

.rankingBg .ranking__firstBlock .totalPoint_block{
	margin-left: 1.6em;
}

/*------------------------------------------------------------------------------- /right -------------------------------------------------------------------------------*/


/*------------------------------------------------------------------------------- footer -------------------------------------------------------------------------------*/
img.footerLogo{width:460px;text-align:center;margin:0px auto 0;display:block;}
footer{width:100%;background:#59cb29;text-align:center;padding: .5rem 0;}
footer p{color:#fff;font-size:0.875em;text-align:center;}
footer p a{color:#2f2f2f !important;}
div#footer_logo{width:1000px;text-align:left;margin: 0 auto 1rem;}
.footerMenu {
  width: 100%;
  height:auto;
  background:#fff;
  padding:10px 0 25px;
  margin-top:30px;
  box-shadow: 0px -3px 6px rgba(0, 0, 0, 0.1);
}
.footer_container{
  width: 1000px;
  margin: 0 auto 1rem;
  display: flex!important;
  flex-wrap: wrap;
  border-radius: 10px;
}
.footer_container > div{
  width: 25%;
  padding: 0 1em;
  border-left: solid 1px #ddd;
}

.footer_container > div:last-child{
  border-right: solid 1px #ddd;
}
.footer_container h2{
  text-align: center;
  height: 3em;
  font-weight: bold;
  line-height: 3em;
  margin-bottom: 1rem;
}
.footer_container a{
  color: #333;
  padding: .5em 0;
  display: block;
  height: 3em;
}
.footer_container a:hover{
  text-decoration: none;
}
.footer_container h2 a{
  color: #333;
}
.footer_container ul li{
  font-size: .8em;
}

@media screen and (max-width: 480px){
  .footerMenu{
    padding-bottom: 0;
  }
  div#footer_logo{
    width: 100%;
    text-align: center;
  }
  div#footer_logo img{
    margin: 0;
    width: 60%;
    height: auto;
  }
  .footer_container_sp{
    width: 100%;
    margin: 0 auto;
    padding-bottom: 1rem;
  }
  .footer_container_sp h2{
	  position: relative;
	  font-size: 4.5vw;
    font-weight: bold;
    padding: 0 1em;
    line-height: 2.2em;
    border-bottom: solid 1px #fff;
    color: #555;
  }
  .footer_container_sp h2::after{
    position: absolute;
    font-family: 'Font Awesome 5 Free';
    top: 0;
    right: 1em;
    content: "\2b";
    color: #59cb29;
  }
  .footer_container_sp .footerSp_btn_list li:first-child h2::after{
    content: "\f064";
    transform: scaleX(-1);
  }
  .footer_container_sp .footerSp_btn_list li h2.footerMenu_open::after{
    content: "\f068";
  }
  .footer_container_sp .footerSp_btn_list li:first-child h2{
    border-top: solid 1px #fff;
  }
  .footer_container_sp h2 a{
    color: #555;
    display: block;
  }
  .footer_container_sp .footerSp_btn_list{
    margin-bottom: 1rem;
  }
  .footer_container_sp .footerSp_list{
    display: none;
    width: 96%;
    margin: 0 auto;
    padding: 1em;
  }
  .footer_container_sp .footerSp_list li a{
    display: block;
    line-height: 2em;
    color: #555;
    font-size: 4.5vw;
  }
  .footer_container_sp .footerSp_list li a::before{
    content: "・";
    margin-right: .5em;
  }

  ul.footerSp_menu{
    width: 96%;
    margin: 0 auto;
  }

  ul.footerSp_menu li{
    display: inline;
    font-size: 3vw;
  }
  ul.footerSp_menu li a{
    display: inline-block;
    height: auto;
    padding: 0;
    text-indent: 0;
    color: #555;
  }
  ul.footerSp_menu li a::before{
    content: "/";
    padding: 0 .5em;
  }
  .footer_box_top h2 a{
    padding: 0;
    color: #fff;
  }
  .footer_container_sp h2.footerMenu_open{
    background-color: #59cb29;
    color: #fff;
  }

  .footer_container_sp h2.footerMenu_open::after{
    color: #fff;
  }
}
/*------------------------------------------------------------------------------- /footer -------------------------------------------------------------------------------*/


/*------------------------------------------------------------------------------- 下層ページ -------------------------------------------------------------------------------*/

/*------------------------------------------------------------------------------- /下層ページ -------------------------------------------------------------------------------*/





/**********************************/


.searchBox{
  width:100%;
	margin:0 auto 1rem;
  background-color: #fff;
  font-size:1em;
}
.searchTitle {
  background-color:#59cb29;
  color: #fff;
  padding: 1em;
  text-shadow: 1px 1px 0px rgba(0,0,0,0.2);
  font-weight: bold;
  text-align: center;
}
.searchTitle::before{
  font-family: 'Font Awesome 5 Free';
  content: "\f002";
  margin-right: 1em;
}
.searchForm{
  width: 96%;
  margin: 0 auto 2rem;
}
.searchForm dt{
  text-align: left;
  font-weight: bold;
  line-height: 3em;
  color: #59cb29;
}
.searchForm dt::before{
  content: "ー";
  /* font-family: 'Font Awesome 5 Free'; */
  margin-right: .5em;
}
.searchForm dd{
  /* padding:  0 1rem 1rem; */
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.searchForm dd label{
  width: calc((100% - 10px * 3) / 4);
  border: solid 1px #ccc;
  padding: .5em;
  border-radius: 5px;
}
.searchForm p{
  text-align: center;
}
.searchForm p button{
  padding: .5em 0;
  width: 150px;
  background-color: #59cb29;
  color: #fff;
  border: solid 2px #fff;
  box-shadow: 0 0 5px rgba(0,0,0,.2);
  transition: .3s;
  border-radius: 5px;
}

.searchForm p button:hover{
  cursor: pointer;
  background-color: #fff;
  color: #59cb29;
  border-color: #59cb29;
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.2);
}

.searchSort_title{
  width: 96%;
  margin: 0 auto;
  text-align: center;
  padding: .5em 0;
  margin-bottom: 2px;
  background-color: #f7f7f7;
}

.searchSort_container{
  display: flex;
  flex-wrap: wrap;
  gap: 2px;
  width: 96%;
  margin: 0 auto 1rem;
}

.searchSort_container .searchSort_button{
  display: block;
  text-align: center;
  width: calc((100% - 2px * 2) /3);
  background-color: #ffe2d4;
  color: #777;
  padding: .3em 0;
  font-weight: bold;
}

.searchSort_container .searchSort_button.searchSort_button_active{
  background-color:#59cb29;
  color: #fff;
}

.searchForm .select_wrap{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.searchForm .select_wrap dl{
  width: calc((100% - 10px * 3) / 4);
}


.searchForm .select_wrap dl dd select{
  width: 100%;
  padding: .5em;
  border: solid 1px #ccc;
  border-radius: 5px;
}

.searchBtn_wrap{
  margin-top: 2rem;
}


@media screen and (max-width: 480px) {
  .searchBox{
    margin-bottom: 2vw;
  }

  .searchTitle{
    padding: .5em;
    font-size: 3.7vw;
  }
  .searchForm{
    display: none;
  }
  .searchForm dd label{
    width: calc((100% - 10px * 1) / 2);
    line-height: 1.7em;
    font-size: 3.3vw;
    display: flex;
    align-items: center;
  }

  .searchForm .select_wrap dl{
    width: calc((100% - 10px * 1) / 2);
  }

  .searchForm p button{
    font-size: 3.5vw;
  }

  .searchSort_button{
    width: 40%;
  }
  .searchForm dt{
    font-size: 3.5vw;
  }

  .searchForm label input{
    width: .7em;
    height: .7em;
    margin-right: .5em;
  }

  .searchSort_title{
    width: 100%;
    font-size: 3.5vw;
  }

  .searchSort_container{
    width: 100%;
  }

  .searchSort_container .searchSort_button{
    font-size: 3.5vw;
  }
}

/**********************************/


/*
 * トップページ/アーカイブの記事一覧スタイル
 */
.cardtype {
  width: 96%;
 margin: 1em auto;
 display: flex;
 flex-wrap: wrap;
 gap: 15px;
}
.cardtype__article {
 position: relative;
 
 width: calc( (100% - 10px*3) / 3 );
 border-radius: 2px;
 background: #fff;
 box-shadow: 0 0 3px 0 rgba(0,0,0,.12), 0 2px 3px 0 rgba(0,0,0,.22);
 cursor: pointer;
 transition: .2s ease-in-out;
 padding: .7em .7em 0;
}
.cardtype__article:hover {
 box-shadow: 0 15px 30px -5px rgba(0,0,0,.15),0 0 5px rgba(0,0,0,.1);
 transform: translateY(-4px);
 transition: 1;
}
.cardtype__article:hover img{
  transition: 1;
}
.cardtype__link {
 display: block;
 color: #555;
 text-decoration: none;
 cursor: pointer;
}
.cardtype__link:hover {
 color: #555;
 text-decoration: none;
}
.cardtype__img {
 margin: 0;
 overflow: hidden;
 height: 0;
 padding-bottom: 65%;
 margin:0 auto;
}
.cardtype h3 {
 display: flex;
 align-items: center;
 min-height: calc( 17px * 2 );
 margin: .7em 0;
 color: #555;
 font-size: 1em;
 font-weight: bold;
 text-align: left;
}
.cardtype time {
 display: block;
 margin: 13px 13px 8px;
 color: #b5b5b5;
 font-size: 0.8125em;
 font-weight: bold;
}
.cardtype time:before {
 content: '\f017';
 font-family:'Font Awesome 5 Free';
 padding-right: 4px;
 font-weight: normal;
 font-size:12.5px;
}
.cat-name {
 display: inline-block;
 overflow: hidden;
 position: absolute;
 top: 13px;
 left: 13px;
 height: 22px;
 margin: 0;
 padding: 0 10px;
 border-radius: 14px;
 background-color: #6bb6ff;
 color: #fff !important;
 font-size: 11px;
 font-weight: bold;
 vertical-align: middle;
 line-height: 22px;
 text-decoration: none;
}
.cat-name:hover {
 background: silver;
}

@media (max-width: 480px){
  .cardtype__article:nth-of-type(5),
  .cardtype__article:nth-of-type(6){
    display: none;
  }

  .cardtype h3{
    font-size: 3.3vw;
  }
}



/* クリアフィックスハック */
.clearfix:after {
  content:"";
    display:block;
    clear:both;
}
.clearfix {
  display: inline-block;
}
/* Mac版IE除外 \*/
.clearfix {
  display: block;
}






@media screen and (max-width: 480px){
.pc{display: none !important;;}
.sp{display: block !important;;}
body{font-family: 'Meiryo',"ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック","Osaka", sans-serif;}
img{max-width:100%;}
.wrap{width:480px;overflow:hidden;}
/*------------------------------------------------------------------------------- ヘッダー -------------------------------------------------------------------------------*/
header{width:100%;height:auto;background:#fffdeb;border:1px solid #b4b4b4;}
header img{text-align:center;display:block;margin:0px auto;width:90%;padding:15px 0;}
nav{width:100%;background-size:1000px 51px;}
nav table{width:300px;margin:0 auto;}
nav table td{width:100px;text-align:center;height:auto;}
nav table td a{width:100px;font-size: 0.75em;display:block;line-height:2.7em;}
nav table td:last-child a{width:120px;height:30px;font-size: .75em;display:block;line-height:2.7em;}
img.fv{width:100%;height:auto;margin:0 auto;display:block;}
#header_logo{padding: 5px 0;border-bottom: solid 4px #59cb29;}
#header_logo img{width:50%; height:auto;}
/*------------------------------------------------------------------------------- /ヘッダー -------------------------------------------------------------------------------*/
.container{width:100%;height:auto;margin:0px auto 20px;}
/*------------------------------------------------------------------------------- left -------------------------------------------------------------------------------*/
.left{width:100%;height:auto;float:none;margin:0 auto;}
.bnr0 {width:100%;margin:0.1em auto 0;}
ul.bnr{margin:10px auto 0;width:100%;}
ul.bnr li.leftLi{width:49%;width:calc(50% - 2px);width:-moz-calc(50% - 2px);height:auto;float:left;margin:0 2px 0 0;}
ul.bnr li.rightLi{width:49%;width:calc(50% - 2px);width:-moz-calc(50% - 2px);height:auto;float:right;margin:0 0 0 2px;}
ul.bnr li img{width:100%;}

/*
.rankBox{width:98%;height:auto;background:url(../images/rankBg.jpg) center top no-repeat;background-size:95% auto;margin:10px auto 0px;}
.rankBox ul{padding:65px 0 10px 75px;}
.rankBox ul li a{margin:0 auto 25px;font-size: 0.8125em;font-weight:bold;display:block;}
.rankBox ul li:first-child a{margin:0 auto 25px;font-size: 1.25em;display:block;}

.rankH2{height:40px;color:#fff;background:#002e86;font-size: 1.125em;line-height:2em;padding:5px 0 0;font-weight:bold;border-radius:10px 10px 0px 0px;text-align:center;margin:15px auto 0;}*/
  .ui-tabs-panel {overflow:scroll}
  table.ichiran{overflow:auto;width:780px !important;border-radius:15px !important;border:2px solid #002e86;margin:0px auto 0;}

  table.ichiran tr.tr1 {height: 80px;padding: 10px 0;line-height: 1.2;}
  table.ichiran tr.tr2 {height: 80px;}
  table.ichiran tr.tr2:nth-of-type(odd) {background: #fff;}

  /* 総合ランキングの一覧テーブル */
#tabs-1 table.ichiran{overflow:scroll;width:1100px !important;border-radius:15px !important;border:2px solid #002e86;margin:0px auto 0;}
#tabs-1 table.ichiran tr.tr1 th.th1{width:15%;font-size: 1em;text-align:center;padding:18px 0 0;border-right:1px solid #c8c8c8;}
#tabs-1 table.ichiran tr.tr1 th.th2{width:5%;font-size: 1em;text-align:center;padding:18px 0 0;border-right:1px solid #c8c8c8;}
#tabs-1 table.ichiran tr.tr1 th.th3{width:35%;font-size: 1em;text-align:center;padding:18px 0 0;border-right:1px solid #c8c8c8;}
#tabs-1 table.ichiran tr.tr1 th.th4{width:10%;font-size: 1em;text-align:center;padding:18px 0 0;border-right:1px solid #c8c8c8;}
/* 総合ランキングの一覧テーブル */

/* 手数料ランキングの一覧テーブル */
#tabs-2 table.ichiran{overflow:auto;width:900px !important;border-radius:15px !important;border:2px solid #002e86;margin:0px auto 0;}
#tabs-2 table.ichiran tr.tr1 th.th1{width:15%;font-size: 1em;text-align:center;padding:18px 0 0;border-right:1px solid #c8c8c8;}
#tabs-2 table.ichiran tr.tr1 th.th2{width:5%;font-size: 1em;text-align:center;padding:18px 0 0;border-right:1px solid #c8c8c8;}
#tabs-2 table.ichiran tr.tr1 th.th4{width:9%;font-size: 1em;text-align:center;padding:18px 0 0;border-right:1px solid #c8c8c8;}
/* 手数料ランキングの一覧テーブル */

/* 投資商品ランキングの一覧テーブル */
#tabs-3 table.ichiran{overflow:auto;width:1000px !important;border-radius:15px !important;border:2px solid #002e86;margin:0px auto 0;}
#tabs-3 table.ichiran tr.tr1 th.th1{width:15%;font-size: 1em;text-align:center;padding:18px 0 0;border-right:1px solid #c8c8c8;}
#tabs-3 table.ichiran tr.tr1 th.th2{width:5%;font-size: 1em;text-align:center;padding:18px 0 0;border-right:1px solid #c8c8c8;}
#tabs-3 table.ichiran tr.tr1 th.th3{width:35%;font-size: 1em;text-align:center;padding:18px 0 0;border-right:1px solid #c8c8c8;}
#tabs-3 table.ichiran tr.tr1 th.th4{width:10%;font-size: 1em;text-align:center;padding:18px 0 0;border-right:1px solid #c8c8c8;}
/* 投資商品ランキングの一覧テーブル */

#tabs-1 table.ichiran tr.tr1 th.th1 {
  width: 15%;
  font-size: 1em;
  text-align: center;
  padding: 18px 0 0;
  border-right: 1px solid #c8c8c8;
}
#tabs-1 table.ichiran tr.tr1 th.th2 {
  width: 5%;
  font-size: 1em;
  text-align: center;
  padding: 18px 0 0;
  border-right: 1px solid #c8c8c8;
}
  #tabs-1 table.ichiran tr.tr1 th.th3 {
  width: 35%;
  font-size: 1em;
  text-align: center;
  padding: 18px 0 0;
  border-right: 1px solid #c8c8c8;
}

ul.ui-tabs-nav li.ui-tabs-tab{font-size: 2vw;}
ul.ui-tabs-nav li.ui-tabs-tab:nth-child(1) {width: 30%;}
ul.ui-tabs-nav li.ui-tabs-tab:nth-child(2) {width: 32%;}
ul.ui-tabs-nav li.ui-tabs-tab:nth-child(3) {width: 36%;}

.rankBox{width:100%;margin:20px auto 0;padding:20px 10px;}
.rankBox:before{width:460px;height:53px;margin:0 auto;}

.rankBox div{width:460px;margin-top:20px;border:solid 1px rgba(0,0,0,0.2);box-shadow: none;}
.rankBox ul{margin-top:-35px;}
.rankBox ul li a{font-size: 1.125em;}
.rankBox ul li a span{width:calc(100% - 64px - 10px - 10px - 25px);line-height:200%;}
.rankBox ul li a:before{width:64px;}
.rankBox ul li:nth-of-type(1) a:before{height:73px;}
.rankBox ul li:nth-of-type(2) a:before{height:57.25px;}
.rankBox ul li:nth-of-type(3) a:before{height:57.25px;}
.rankBox ul li:nth-of-type(4) a:before{height:41px;}
.rankBox ul li:nth-of-type(5) a:before{height:41px;}



.scroll{
width: 431px;
margin: 0 auto;
overflow-x: scroll !important;
}


/*------------------------------------------------------------------------------- /left -------------------------------------------------------------------------------*/

/*------------------------------------------------------------------------------- ranking -------------------------------------------------------------------------------*/


table.rankDetailTbl{width:90%;margin:10px auto 8px;}
table.rankDetailTbl tr th{width:25%;padding:7px 0;font-size: 0.8125em;background-size: 100%;}
table.rankDetailTbl tr td{width:25%;padding:7px 0;text-align:center;}
.itemDetail__detailTable tr th,.itemDetail__detailTable tr td{font-size:0.75em}
.itemDetail__h2Title {font-size:1.5em;line-height:1.5;text-indent:0;padding:0.2em 0.5em;}
/*------------------------------------------------------------------------------- /ranking -------------------------------------------------------------------------------*/

/*------------------------------------------------------------------------------- right -------------------------------------------------------------------------------*/
.right{display:none;}
/*------------------------------------------------------------------------------- /right -------------------------------------------------------------------------------*/




/**********************************/


/*
 * トップページ/アーカイブの記事一覧スタイル
 */
 .cardtype{
   gap: 7px;
 }

  .cardtype__article {
   float: none;
   width: calc( (100% - 7px) / 2 );
   margin-left: 0;
   margin-right: 0;
  }

  .cardtype h3 {
   min-height: 0;
  }
}

.voice__block {
  padding: 10px 15px;
  margin: 0 auto 10px;
  border-radius: 10px;
  width: 92%;
  min-height: 300px;
  position: relative;
  background-color: #fff;
}
.voice__fukidashi p{font-size: 1em;line-height: 1.2}
.voice__person {
  text-align: right;
  display: block;
  margin-top: 50px;
  margin-bottom: 10px;
  margin-right: 20px;
}

.voice__person:after {
  background-size: contain;
  background-repeat: no-repeat;
  background-position: right;
  content: '';
  height: 90px;
  position: absolute;
  right: -90px;
  width: 80px;
  bottom: -4px;
}
.voice__person--man1:after { background-image: url(/wp-content/themes/custom-theme/images/man/man1.png);}
.voice__person--man2:after { background-image: url(/wp-content/themes/custom-theme/images/man/man2.png);}
.voice__person--man3:after { background-image: url(/wp-content/themes/custom-theme/images/man/man3.png);}
.voice__person--woman1:after { background-image: url(/wp-content/themes/custom-theme/images/man/woman1.png);}
.voice__person--woman2:after { background-image: url(/wp-content/themes/custom-theme/images/man/woman2.png);}
.voice__person--woman3:after { background-image: url(/wp-content/themes/custom-theme/images/man/woman3.png);}
.voice__person {
  position: absolute;
  bottom: 20px;
  right: 85px;
  font-size: 1em;
  line-height: 1;
}

h2.contentsTitle {
  width: 100%;
  font-weight: 700;
  font-size: 1.875em;
  background: #FFF;
  padding: 10px .5em;
}

.contentsTitle__span {
  font-size: .7em;
}

.sortButton {font-size: 0;}
.sortButton__button {
  width: 12%;
  width: calc(100%/8);
  height: 35px;
  border: #fff solid 1px;
  background: linear-gradient(to bottom,#8baad0,#049);
  color: #fff;
  font-size: .75rem;
}

.sortButton__button img {
  width: 25px;
  margin-left: 5px;
}

@media screen and (max-width: 480px){
  .voice__block {
    padding: 10px 12px;
    margin: 0 auto 10px;
    border-radius: 10px;
    width: 98%;
    min-height: 450px;
  }

  h2.contentsTitle {
    width: 100%;
    font-weight: 700;
    font-size: 5vw;
    line-height: 1.5em;
    padding: .2em 0;
  }

  .sortButton__button {
    height: 65px;
    position: relative;
  }

  .sortButton__button img {
    width: 25px;
    margin-left: unset;
    display: block;
    bottom: 5px;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
  }
}

#sideColumn ul {
  padding: 0 5px;
}

#sideColumn li {
  line-height: 1.5;
  position: relative;
  padding-right: 1em;
  height: 5rem;
}
#sideColumn li:not(:last-child){
  border-bottom: dashed 1px #DDD;
}
#sideColumn li::after{
  position: absolute;
  font-family: 'Font Awesome 5 Free';
  font-weight: bold;
  color: #ccc;
  content: "\f0da";
  top: calc((100% - 1em) / 2);
  right: .5em;
  z-index: 10;
}
#sideColumn a {
  display: block;
  padding: 10px;
  font-size: .9rem;
  height: 100%;
  color: #555;
  z-index: 99;
}
#sideColumn a:hover {text-decoration: none;}

#sideColumn li:last-child a {font-weight: bold;display: flex;align-items: center;justify-content: center;}

#sideColumn li a h3{
  display: flex;
  align-items: center;
  height: 100%;
}



/*========== 新規 ==========*/

.feeTable{width: 50%;height: auto; margin:0px auto 10px;display: inline-block;vertical-align: top}
/* input[type="radio"]{display:none;} */
.tab_area{font-size:0; margin:0 10px;}
.tab_area label{width: 46%;
  width: calc(50% - 7.5px);
  margin: 0 5px 0 2.5px;
  display: inline-block;
  padding: 12px 0;
  color: #e7e7e7;
  background: #f3cf6e;
  text-align: center;
  font-size: .8125rem;
  cursor: pointer;
  transition: ease 0.2s opacity;
  border-top-right-radius: 10px;
  border-top-left-radius: 10px;
  box-shadow: 0px 1px 4px #00000036;}
.tab_area label:hover{opacity:0.5;}
.panel_area{overflow: hidden;height: 313px;position: relative;box-shadow: 0px 1px 4px #00000036;}
.tab_panel{width:100%; background:#fff; overflow:hidden; position:absolute; height:100%;}
.tab_panel p{font-size: .875em;; letter-spacing:1px; text-align:center; padding:80px 0;}
#tabs {font-size: 1em;}
#feeTableTab1__sbi:checked ~ .panel_area #panel1__sbi,
#feeTableTab2__sbi:checked ~ .panel_area #panel2__sbi,
#feeTableTab1__rakuten:checked ~ .panel_area #panel1__rakuten,
#feeTableTab2__rakuten:checked ~ .panel_area #panel2__rakuten,
#feeTableTab1__matsui:checked ~ .panel_area #panel1__matsui,
#feeTableTab2__matsui:checked ~ .panel_area #panel2__matsui,
#feeTableTab1__neoTrade:checked ~ .panel_area #panel1__neoTrade,
#feeTableTab2__neoTrade:checked ~ .panel_area #panel2__neoTrade,
#feeTableTab1__monex:checked ~ .panel_area #panel1__monex,
#feeTableTab2__monex:checked ~ .panel_area #panel2__monex,
#feeTableTab1__smbc:checked ~ .panel_area #panel1__smbc,
#feeTableTab2__smbc:checked ~ .panel_area #panel2__smbc,
#feeTableTab1__okasan:checked ~ .panel_area #panel1__okasan,
#feeTableTab2__okasan:checked ~ .panel_area #panel2__okasan,
#feeTableTab1__iwaiCosmo:checked ~ .panel_area #panel1__iwaiCosmo,
#feeTableTab2__iwaiCosmo:checked ~ .panel_area #panel2__iwaiCosmo,
#feeTableTab1__gmoClick:checked ~ .panel_area #panel1__gmoClick,
#feeTableTab2__gmoClick:checked ~ .panel_area #panel2__gmoClick,
#feeTableTab1__aukabucom:checked ~ .panel_area #panel1__aukabucom,
#feeTableTab2__aukabucom:checked ~ .panel_area #panel2__aukabucom,
#feeTableTab1__neomobile:checked ~ .panel_area #panel1__neomobile,
#feeTableTab2__neomobile:checked ~ .panel_area #panel2__neomobile,
#feeTableTab1__musashi:checked ~ .panel_area #panel1__musashi,
#feeTableTab2__musashi:checked ~ .panel_area #panel2__musashi,
#feeTableTab1__dmm:checked ~ .panel_area #panel1__dmm,
#feeTableTab2__dmm:checked ~ .panel_area #panel2__dmm,
#feeTableTab1__naito:checked ~ .panel_area #panel1__naito,
#feeTableTab2__naito:checked ~ .panel_area #panel2__naito,
#feeTableTab1__tachibana:checked ~ .panel_area #panel1__tachibana,
#feeTableTab2__tachibana:checked ~ .panel_area #panel2__tachibana,
#feeTableTab1__line:checked ~ .panel_area #panel1__line,
#feeTableTab2__line:checked ~ .panel_area #panel2__line,
#feeTableTab1__froggy:checked ~ .panel_area #panel1__froggy,
#feeTableTab2__froggy:checked ~ .panel_area #panel2__froggy{-webkit-animation:tabAnim ease 0.4s forwards;animation:tabAnim ease 0.4s forwards; -ms-animation:tabAnim ease 0.4s forwards; z-index:1;}
#feeTableTab1__sbi:checked ~ .tab_area .feeTableLabel1,
#feeTableTab2__sbi:checked ~ .tab_area .feeTableLabel2,
#feeTableTab1__rakuten:checked ~ .tab_area .feeTableLabel1,
#feeTableTab2__rakuten:checked ~ .tab_area .feeTableLabel2,
#feeTableTab1__matsui:checked ~ .tab_area .feeTableLabel1,
#feeTableTab2__matsui:checked ~ .tab_area .feeTableLabel2,
#feeTableTab1__neoTrade:checked ~ .tab_area .feeTableLabel1,
#feeTableTab2__neoTrade:checked ~ .tab_area .feeTableLabel2,
#feeTableTab1__monex:checked ~ .tab_area .feeTableLabel1,
#feeTableTab2__monex:checked ~ .tab_area .feeTableLabel2,
#feeTableTab1__smbc:checked ~ .tab_area .feeTableLabel1,
#feeTableTab2__smbc:checked ~ .tab_area .feeTableLabel2,
#feeTableTab1__okasan:checked ~ .tab_area .feeTableLabel1,
#feeTableTab2__okasan:checked ~ .tab_area .feeTableLabel2,
#feeTableTab1__iwaiCosmo:checked ~ .tab_area .feeTableLabel1,
#feeTableTab2__iwaiCosmo:checked ~ .tab_area .feeTableLabel2,
#feeTableTab1__gmoClick:checked ~ .tab_area .feeTableLabel1,
#feeTableTab2__gmoClick:checked ~ .tab_area .feeTableLabel2,
#feeTableTab1__aukabucom:checked ~ .tab_area .feeTableLabel1,
#feeTableTab2__aukabucom:checked ~ .tab_area .feeTableLabel2,
#feeTableTab1__neomobile:checked ~ .tab_area .feeTableLabel1,
#feeTableTab2__neomobile:checked ~ .tab_area .feeTableLabel2,
#feeTableTab1__musashi:checked ~ .tab_area .feeTableLabel1,
#feeTableTab2__musashi:checked ~ .tab_area .feeTableLabel2,
#feeTableTab1__dmm:checked ~ .tab_area .feeTableLabel1,
#feeTableTab2__dmm:checked ~ .tab_area .feeTableLabel2,
#feeTableTab1__naito:checked ~ .tab_area .feeTableLabel1,
#feeTableTab2__naito:checked ~ .tab_area .feeTableLabel2,
#feeTableTab1__tachibana:checked ~ .tab_area .feeTableLabel1,
#feeTableTab2__tachibana:checked ~ .tab_area .feeTableLabel2,
#feeTableTab1__line:checked ~ .tab_area .feeTableLabel1,
#feeTableTab2__line:checked ~ .tab_area .feeTableLabel2,
#feeTableTab1__froggy:checked ~ .tab_area .feeTableLabel1,
#feeTableTab2__froggy:checked ~ .tab_area .feeTableLabel2{ background: #fcbf1e;color: #fff;border-top-right-radius: 10px;border-top-left-radius: 10px;}
.feeTable table {width: 95%;margin: 10px auto 10px;}
.feeTable table th,
.feeTable table td{width: 50%;font-size: 1em;padding: 9px 2px;text-align:center;border:#fcbf1e solid 2px;background-color:#fff;vertical-align:middle;}
.feeTable table tr:first-of-type th, .feeTable table tr:first-of-type td{background-color: #fcbf1e;color:#fff;}
.feeTable table tr:first-of-type th{border-right: #fff solid 2px;}


@media screen and (max-width: 480px) {
  .tab_area label:hover{opacity:unset;}
  .ranking__itemImage{width: 100%;}
  .ranking__raderChart {width: 80%;padding: 5px;margin: auto;display: block;}
  .ranking__scoreBlock {text-align: center;font-size: 1.5em;font-weight: bold;}
  .feeTable{width: 100%;float: unset;}
  .ranking .swiper-container-horizontal>.swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction{bottom: 0px;}
  .ranking .swiper-button-next, .ranking .swiper-button-prev {height:27px;}

}
/*=============== 証券会社詳細ページ ================*/
h3.itemDetail__h3Title {font-size:28px;line-height:2em;color:#039;}
article p.cardParagraph{margin-bottom:2em;}
.cardParagraph{line-height:1.8em;}
h3.itemDetail__h3Title,.cardParagraph{margin-left:39px;}
.stepCard{background-color:#ffe;padding:1.5em 1.5em 1.5em 15px;box-shadow:2px 2px 4px 1px #aaa;position:relative;}
.circle{display:inline-block;position:absolute;width:24px;height:24px;border-radius:12px;background-color:#f3f2ea;top:calc(50% - 12px);box-shadow:2px 2px 4px 1px #aaa inset;}
.triangle{width: 0;height: 0;border-left: 30px solid transparent;border-right: 30px solid transparent;border-top: 30px solid #039;margin:0.5em auto;}
.kaisetsu_btn{-webkit-animation:fluffy1 3s ease infinite;animation:fluffy1 3s ease infinite;margin-bottom:1.5em;}
kaisetsu_btn:hover{opacity:0.9;transition:0.5s;}
h1.itemDetail__h1Title{width:100%;font-size:70px;font-weight:800;line-height:130px;padding-left:1em;border-radius:10px;color:#fff;margin:16px 0 10px 0;box-shadow:2px 2px 4px 1px #aaa;}
.stepCard dl,.stepCard ul{margin-left:39px;}
.stepCard dt{color:#039;margin-bottom:0.5em;}
.stepCard dd{text-indent:1em;font-weight:400;}

@media screen and (max-width: 780px){.stepCard{width:95%;margin:0 auto;}}
@media screen and (max-width: 480px){h1.itemDetail__h1Title{line-height:60px;font-size:8vw;}h2.itemDetail__h2Title{font-size:4.7vw;-webkit-text-size-adjust: 100%;}article p.cardParagraph{width:auto;margin-bottom:0;}h3.itemDetail__h3Title{font-size:22px;}img.kaisetsu_btn{width:95%;}.itemDetail__feeTable th,.itemDetail__feeTable td{font-size:2.5vw;-webkit-text-size-adjust: 100%;}}
/*  */
/*  */
/*  */
/*  */
/*  */
/*  */
/*=============== サイトマップ ================*/
.siteMap{background-color:#fff;}
.siteMap h1{
  width: 780px;
    height: 50px;
    color: #fff;
    background: #0064dc;
    font-weight: bold;
    font-size: 1.75em;
    text-indent: 0.5em;
    line-height: 1.8em;
    margin: 15px auto;
}
.siteMapLeft,.siteMapRight{
  width:50%;
  padding:1em;
}
.siteMapWrap{display:flex;}
.siteMapH2{
  line-height:2em;
  border:solid 1px #333;
  border-left:solid 3px #0064dc;
  padding:0 1em;
  margin-bottom:0.5em;
  color:#333;
}
.siteMapH2 a{
  color:#333;
}
.siteMapUl{
  margin-bottom:1em;
}
.siteMapUl li::before{
  font-family:'Font Awesome 5 Free';
  color: #0064dc;
  content:"\f105";
  position:absolute;
  top:0.15em;
  left:-1em;
}
.siteMapUl li{
  position:relative;
  margin-left:2em;
  margin-bottom:0.5em;
}
.siteMapUl li a{
  font-size:14px;
  color:#333;
  text-indent:1.5em;
  line-height:1.5em;
}

@media screen and (max-width: 480px){
  .siteMapLeft,.siteMapRight{
    display:block;
    width:100%;
    padding:0 0.5em;
  }
  .siteMapWrap{display:block;}
}
/*  */
/*  */
/*  */
/*=============== タブレット対応用 ================*/
/*============== トップページ ================*/
@media screen and (max-width: 1000px){
  .container{width:100%;}
  #tabs,.topTopic{max-width:780px;margin:0 auto;}
  .right{display:none;}
  .campaign{width:90%;height:auto;}
  .campaignInner{width:100%;}
  .campaign p{width:100%;}
  .button{width:90%;}
  .button a{width:100%;background-size:100% 100%;}
  .button a::before{width: calc(95% - 64%);left:2%;height:100%;top:0;background-position:center;}
  .button a::after{width: calc(95% - 31%);height:100%;top:0;background-position:center;}
  a.cardtype__link{padding:0;}
  .hiddenHead01,.hiddenHead02,.hiddenHead03,.hiddenParagraph01,.hiddenParagraph02,.hiddenParagraph03{max-width:780px;width:100%;margin:0 auto;}
}
@media screen and (max-width: 780px){
  #tabs-1 table.ichiran {overflow: scroll;width: 780px !important;border-radius: 15px !important;border: 2px solid #002e86;margin: 0px auto 0;}
    .ui-tabs-panel {overflow: scroll;}
    .scroll {width: 100%;margin: 0 auto;overflow-x: scroll !important;}
}
/*============= ランキングページ ==============*/
@media screen and (max-width: 1000px){
  table.sp{display:block;width:100%;max-width:780px;}
  ul.pc,a.pc{display:none;}
}

/*============= スマホで口コミの影非表示 ==============*/
@media screen and (max-width: 480px){
  .swiper-container-cube .swiper-cube-shadow{display:none;}
}




h3.listedBrand__title {
  padding: 15px 10px;
  font-size: 1.375em;
  background-color: #035aa6;
  color: #fff;
  font-weight: bold;
  background: #035aa6;
  margin-bottom: 20px;
}

.listedBrand {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto 60px;
  height: 14em;
  overflow-y: hidden;
  position: relative;
}

.listedBrand--on {
  height: auto !important;
  overflow-y: visible;
}

.listedBrand:after {
  content: '続きを読む';
  position: absolute;
  bottom: 0;
  display: block;
  width: 100%;
  height: 27px;
  text-align: center;
  background: linear-gradient(180deg, transparent ,#FFF 50%);
  padding-top: 60px;
}

.listedBrand--on:after {
  content: '閉じる';
  background: transparent;
  height: auto;
  margin-top: 0;
  bottom: -30px;
}


.listedBrand table {
  width: calc(50% - .75em);
  border: 2px solid #000;
}
.listedBrand table:first-child {margin: .5em .25em .5em .5em;}
.listedBrand table:nth-child(2) {margin: .5em .5em .5em .25em;}
.listedBrand table td{
  padding: .5em;
  border: 2px solid #120136;
  height: 3.5em;
  vertical-align: middle;
}

.listedBrand table th{
  padding: .5em;
  font-size: 1.2em;
  background: #120136;
  color: #fff;
  vertical-align: middle;
}
.listedBrand table th:first-child{width: 76%;border-right: #fff 2px solid;}


@media screen and (max-width: 480px) {
  .listedBrand {display: block;}
  .listedBrand table {width: 95%;}
  .listedBrand table:first-child {margin: .5em auto 0;border-bottom: none;}
  .listedBrand table:first-child tr:last-child td {border-bottom:none}
  .listedBrand table:nth-child(2) {margin: 0 auto .5em;}
  .listedBrand table:nth-child(2) thead { display: none;}
  .listedBrand table td:first-child{ width: 76%;}
}

/* -----------------------総合ランキング結論-------------- */
h3.merit_title{
  padding: 15px 10px;
  font-size: 1.375em;
  background-color: #035aa6;
  color: #fff;
  font-weight: bold;
  background: #035aa6;
  margin-bottom: 20px;
}

.meritH4{
  font-size: 1.5rem;
  color: #035aa6;
  text-shadow: 1px 1px 0px #ddd;
  padding-left: 2em;
  margin: 2rem 0 0.5rem;
  text-indent: -1.5em;
}

.meritH4::before{
  font-family: 'Font Awesome 5 Free';
  content: "\f14a";
  margin-right: 0.5em;
}

.meritTable{
  width: 84%;
  margin:1rem 5% 0 11%;
  border: solid 2px #c8c8c8;
  border-collapse: collapse;
  color: #333;
}

.meritTable th,.meritTable td{
  height: 40px;
  text-align: center;
  vertical-align: middle;
  border: solid 1px #c8c8c8;
}

.meritTable th{
  color: #002e86;
  background-color: #d3f0fe;
}

.meritTable tr.meritTable_no1{
  position: relative;
  border: solid 2px #002e86;
  background-color: #fff7db;
}

.meritTable tr.meritTable_no1 td{
  height: 60px;
  color: #ee0000;
  font-size: 20px;
}

.meritTable tr.meritTable_no1 td:first-child{
  background-color: #fff7db;
  height: 62px;
  position: absolute;
  width: calc(20% / 84 * 100);
  bottom: -3px;
  left: calc((100% / 6 - 20% / 84 * 100) - 3%);
  border: solid 2px #002e86;
  border-right: none;
  background-image: url(/wp-content/themes/custom-theme/images/itemLogo/itemLogo_sbi.png);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

.tableAttention{
  font-size: 0.7em;
  color: #555;
  margin:0 5% 1rem 11%;
  width: 84%;
}

.meritP{
  font-size: 15px;
  line-height: 2em;
  width: 95%;
  margin: 0 auto 1em;
}

.meritP .important{
  background-color: #ffdc7e;
  background: linear-gradient(180deg, transparent 60%,#ffdc7e 60%);
}

.merit2_container,.merit3_container{
  display: flex;
  width: 95%;
  margin: 0 auto;
}

.merit2_container p,.merit3_container p{
  margin: 0 auto 1em 0;
}

.merit2_container img,.merit3_container img{
  width: 35%;
}

@media screen and (max-width: 480px){
  .meritH4{
    font-size: 5.5vw;
  }

  .meritTable{
    font-size: 3vw;
  }

  .meritTable tr.meritTable_no1 td{
    font-size: 4vw;
  }

  .meritP{
    font-size: 3.5vw;
    /* line-height: 5vw; */
  }

  .merit2_container,.merit3_container{
    flex-wrap: wrap;
  }

  .merit2_container p,.merit3_container p{
    width: 100%;
  }

  .merit2_container img,.merit3_container img{
    width: 100%;
    margin-bottom: 1em;
  }
}


.archive-entry-content p{
  line-height: 1.8em;
  color: #777;
}

/* --------------------------コラムページ--------------------- */
#column .column_article{
  width: 96%;
  margin: 0 auto 1rem;
}
#column .column_article h3{
  color: #79B4B7;
  border-bottom: solid 2px #79B4B7;
  font-size: 1.2rem;
  margin: 2rem auto 1rem;
  font-weight: bold;
}
#column .column_article h4{
  font-size: 1rem;
  border-bottom: dashed 2px #ddd;
  margin: 1em auto;
}
#column .column_article p{
  width: 96%;
  margin: 0 auto 1rem;
  line-height: 2em;
  font-size: .8rem;
  color: #555;
  margin-bottom: 2em;
}
#column .column_article ul{
  font-size: .8rem;
  color: #555;
  line-height: 1.5em;
  border: solid 1px #ddd;
  border-radius: 10px;
  width: 100%;
  margin: 0 auto 2em;
  padding: .5em;
}

#column .column_img img{
  display: block;
  width: 100%;
  max-width: 500px;
  margin: 0 auto 1rem;
  height: auto;
}

/* -----------------リダイレクトページ------------------- */
.redirectImg{
  width: 60%;
  margin: 1rem auto;
}

.loader{
  text-align: center;
  line-height: 2em;
  height: 4rem;
}

.redirectParagraph_wrap{
  text-align: center;
  line-height: 1.7em;
  margin-bottom: 2rem;
}

.redirectParagraph_wrap p span{
  font-size: 1.3em;
  font-weight: bold;
}

h2{
  font-family: 'Actor', sans-serif;
  color:#333;
  font-size:16px;
  letter-spacing:1px;
  font-weight:bold;
  text-align:center;
}
.loader span{
  width:10px;
  height:10px;
  border-radius:50%;
  display:inline-block;
  position:absolute;
  left:50%;
  margin-left:-10px;
  -webkit-animation:3s infinite linear;
  -moz-animation:3s infinite linear;
  -o-animation:3s infinite linear;
  
}


.loader span:nth-child(2){
  background:#98ded8;
  -webkit-animation:kiri 1.2s infinite linear;
  -moz-animation:kiri 1.2s infinite linear;
  -o-animation:kiri 1.2s infinite linear;
  
}
.loader span:nth-child(3){
  background:#78beb8;
  z-index:100;
}
.loader span:nth-child(4){
  background:#589e98;
  -webkit-animation:kanan 1.2s infinite linear;
  -moz-animation:kanan 1.2s infinite linear;
  -o-animation:kanan 1.2s infinite linear;
}


@-webkit-keyframes kanan {
    0% {-webkit-transform:translateX(20px);
    }
   
  50%{-webkit-transform:translateX(-20px);
  }
  
  100%{-webkit-transform:translateX(20px);
  z-index:200;
  }
}
@-moz-keyframes kanan {
    0% {-moz-transform:translateX(20px);
    }
   
  50%{-moz-transform:translateX(-20px);
  }
  
  100%{-moz-transform:translateX(20px);
  z-index:200;
  }
}
@-o-keyframes kanan {
    0% {-o-transform:translateX(20px);
    }
   
  50%{-o-transform:translateX(-20px);
  }
  
  100%{-o-transform:translateX(20px);
  z-index:200;
  }
}




@-webkit-keyframes kiri {
     0% {-webkit-transform:translateX(-20px);
  z-index:200;
    }
  50%{-webkit-transform:translateX(20px);
  }
  100%{-webkit-transform:translateX(-20px);
  }
}

@-moz-keyframes kiri {
     0% {-moz-transform:translateX(-20px);
  z-index:200;
    }
  50%{-moz-transform:translateX(20px);
  }
  100%{-moz-transform:translateX(-20px);
  }
}
@-o-keyframes kiri {
     0% {-o-transform:translateX(-20px);
  z-index:200;
    }
  50%{-o-transform:translateX(20px);
  }
  100%{-o-transform:translateX(-20px);
  }
}


@media screen and (max-width: 480px){
  .redirectImg{
    width: 96%;
  }
}

/* ---------------トップに戻る------------ */
#page_top{
  width: 50px;
  height: 50px;
  position: fixed;
  right: -50px;
  bottom: 5px;
  background: #fff;
  opacity: 0.7;
  border-radius: 10px;
  z-index: 9999;
  box-shadow: 0 0 5px #999;
}
#page_top a{
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
}
#page_top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f0d8';
  font-size: 25px;
  color: #ccc;
  position: absolute;
  width: 25px;
  height: 25px;
  top: -5px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}

/*--------------- 検索結果 --------------------*/
.searchTable_block{
  padding: 0 1em;
}

.searchTable_block table{
  width: 100%;
  height: 100%;
}

.searchTable_block table tr:not(:last-child){
  border-bottom: solid 2px #ef8aa8;
}

.searchTable_price{
  width: 96%;
  margin: 0 auto 1rem;
  border-collapse: separate;
  border-spacing: 3px;
}

.searchTable_price th,
.searchTable_price td{
  width: 50%;
  text-align: center;
  vertical-align: middle;
  padding: .5em 0;
}

.searchTable_price th{
  background-color: #eee;
  font-weight: bold;
  text-shadow: 2px 2px 0  #fff;
}

.searchTable_price tr:last-child td{
  border-bottom: solid 1px #eee;
}

.detailParts{
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  width: 96%;
  margin: 1rem auto;
}

.searchTable_block table th,
.searchTable_block table td{
  width: 50%;
  color: #777;
  font-weight: bold;
  vertical-align: middle;
}

.searchTable_block table th{
  text-align: center;
  position: relative;
  color: #ef8aa8;
}

.searchTable_block table th::after{
  position: absolute;
  content: "▶";
  right: -1em;
  top: 50%;
  transform: translateY(-50%);
  color: #ddd;
}

.searchTable_block table td{
  text-align: right;
  padding: 0 1em 0 0;
}

.detailParts .detailParts_card{
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: calc((100% - 7px * 2) / 3);
  height: 3rem;
  background-color: #ddd;
  color: #aaa;
  font-weight: bolder;
}

.detailParts .detailParts_card_1{
  background-color: #FAEDC6;
  color: #555;
  text-shadow: 2px 2px 0 #fff;
  border: double 4px #DACDA6;
}

.searchTable{
  width: 100%;
  height: 100%;
}

.searchTable tr{
  height: calc(100% / 6);
  border-bottom: solid 1px #ddd;
}

.searchTable tr th,
.searchTable tr td{
  vertical-align: middle;
  color: #333;
}

.searchTable tr th{
  background-color: #ffeff3;
  font-weight: bold;
}

.searchTable tr td{
  text-align: right;
}

@media screen and (max-width : 480px){
  .search__firstBlock .search__firstBlock-left,
  .search__firstBlock .search__firstBlock-right{
    width: 100%;
  }

  .search__firstBlock .search__firstBlock-right{
    height: 240px;
  }

  .detailParts .detailParts_card{
    font-size: 3.8vw;
  }

  .searchTable_block table th,
  .searchTable_block table td{
    height: 2.5em;
    font-size: 4.2vw;
  }

  .searchTable_price th,
  .searchTable_price td{
    font-size: 4.2vw;
  }

  .searchTable tr{
    height: 2em;
  }
}

/* ------------------------------
バーガー中身
---------------------------------*/
.header-nav{
	display: block;
list-style: none;
position: fixed;
top: 0;
right: 0;
width: 45vw;
height: 100vh;
background-color: rgba(34, 34, 34, 95);
z-index: 12;
text-align: center;
padding: 120px 0 0;
color: #fff;
/*　透明にして表示を消しています　 */
opacity: 0;
/*　X（右）方向に100％ずらして画面外に移動させています。　*/
transform: translateX(100%);
/* 　スライドで出てくる秒数と表示される秒数を指定　*/
transition: transform .3s, opacity .3s;
}
.header-nav .nav-list{
	display: block;
	width: 100%;
	margin-top: 3rem;
}
.header-nav .nav-list li{
  width: 100%;
	margin: 0;
	border: none;
}

.header-nav .nav-list li a{
  color: #fff!important;
  text-shadow: none;
  line-height: 1.2em;
  padding: 1em 0;
  border-bottom: solid 1px #fff;
}
.nav-item{
margin-bottom: 30px;
}
.nav-item:first-of-type{
margin-bottom: 40px;
}
.nav-item:last-of-type{
margin-bottom: 0;
}
.header-nav a{
color: #fff;
}

/* ------------------------------
BURGER
---------------------------------*/
.burger-btn{
display: none;/* 　ハンバーガーメニューとmenuを横並びに　*/
align-items: center;
position: fixed;
top: 5vw;
right: 4vw;
z-index: 13;/* 　他の指数よりも大きくして一番前面に表示　*/
}
/* 　ここでハンバーガーメニューの大きさや色を変更　*/
.bar{
display: block;
background-color: #777;
height: 2px;
width: 22px;
border-radius: 1px;
box-shadow: 0 0 2px #fff;
}
/*　topとbottomをY方向に移動させて3本の線に。秒数はバツから戻る時の秒数　 */
.bar-top{
transform: translateY(-4px);
transition: transform .3s;
}
.bar-bottom{
transform: translateY(4px);
transition: transform .3s;
}
.menu{
display: block;
font-size: 10px;
text-transform: uppercase;
color: #777;
font-weight: bold;
margin-left: 5px;
text-shadow: 0 0 1px #555;
}
/* ハンバーガーボタンを押した後のバツの記述
rotateで角度を決める事ができるので好きなバツを作れます */
.bar.cross.bar-top{
transform: translateY(2px) rotate(30deg);
transition: .3s;
}
.bar.cross.bar-mid{
opacity: 0;
transition: opacity .3s;
}
.bar.cross.bar-bottom{
transform: translateY(-2px) rotate(-30deg);
transition: .5s;
}
/* メニューが開いた時に画面をスクロールしないようにする記述。
jQueryと組み合わせます。 */
body.noscroll{
overflow: hidden;
}
/* 　開いた時にX(0)で元の位置へ。
openというクラスをjQueryでつけます。　*/
.header-nav.open{
transform: translateX(0);
opacity: 1;
transform: transform .3s, opacity .3s;
}
/* 　薄暗い画面の記述　*/
.burger-musk{
display: none;
height: 100vh;
width: 100vw;
position: fixed;
top: 0;
left: 0;
background-color: rgba(0, 0, 0, 0.5);
z-index: 11;
}

button{
background-color: transparent;
border: none;
cursor: pointer;
outline: none;
padding: 0;
-webkit-appearance: none;
   -moz-appearance: none;
        appearance: none;
}

@media screen and (max-width: 480px) {
	.burger-btn{
		display: flex;
	}
}

.table_annotation{
  caption-side: bottom;
  text-align: left;
  color: #777;
  margin-top: .3em;
}

@media screen and (max-width: 480px) {
	.table_annotation{
    font-size: 3vw;
  }
}

/* ポップアップ */
.popup-button{
  box-shadow: 0 4px 0 #e55776;
  background: linear-gradient(
    -45deg,
    #f56786 25%,
    #ff7796 25%,
    #ff7796 50%,
    #f56786 50%,
    #f56786 75%,
    #ff7796 75%
    )!important;
  background-size: 15px 15px!important;
}
.topColumn > .content > h4{
    line-height: 1.7em;
    width: 96%;
    margin: 0 auto 1rem;
		position:relative;
	}
.topColumn > .content > h4 > span{
  color: #59cb29;
  font-size: 1.1em;
  font-weight: bold;
}
.topColumn > h3{
	width:96%;
	margin:0 auto;
}
.topColumn > .content > h4:before{
	position:absolute;
	content:'';
	top:0;
	left:-0.3em;
	background-color:#59cb29;
	height:120%;
	width:3px;
}
.topColumn > .content > h4:after{
	position:absolute;
	content:'';
	bottom:0;
	left:-0.5em;
	background-color:#59cb29;
	height:3px;
	width:100%;
}
.flex{
	width:98%;
	margin:0 auto;
	display:flex;
	align-items:center;
	justify-content:space-between;
	border-bottom:2px dotted #e3e3e3;
}
.totalPointKg{
	display:flex;
	align-items:center;
}
@media screen and (max-width:480px){
	.flex{
		display:block;
		border-bottom:none;
	}
	.meds{
		border-top:1px dotted #aaa;
		padding-top:2em;
		padding-bottom:1em;
	}
	.meds_title > h3{
		width:96%;
		margin:0 auto;
		margin-bottom:1em;
		font-weight:bold;
	}
	.med_title > h4{
		width:96%;
		margin:0 auto;
	}
	.text_title > h4{
		font-size:.9em;
	}
}
.small{
	font-size:.8em;
}
.strong{
	font-size:1.2em;
	font-weight:bold;
}

.carousels{
	border:1px solid #aaa;
	padding-top:1em;
	padding-bottom:1em;
	border-radius:5px;
	background-color: #f5f2ec;
	position:relative;
}
.carousel{
	overflow-x:scroll;
	display:flex;
	scroll-snap-type:x mandatory;
	width:100%;
	max-width:600px;
	margin:0 auto;
   scrollbar-width: thin;
   scrollbar-color: #17585d #ccc;
}
#swipe_left,
#swipe_right{
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	width:30px;
	height:30px;
	content:'';
	background-color:rgba(0,0,0,0.7);
	border-radius:50%;
}
.swipe_left,
.swipe_right{
	position:relative;
}
.swipe_left:before,
.swipe_right:before{
	position:absolute;
	content:'';
	top:50%;
	transform:translateY(-50%);
	border-top:.5em solid transparent;
	border-bottom:.5em solid transparent;
}
.swipe_left:before{
	left:-20%;
	border-left:.8em solid transparent;
	border-right:.8em solid #fff;
}
.swipe_right:before{
	right:-20%;
	border-left:.8em solid #fff;
	border-right:.8em solid transparent;
}
#swipe_left{
	left:0;
}
#swipe_right{
	right:0;
}
#yubi{
	display:none;
}
@media screen and (max-width:480px){
	#swipe_left,#swipe_right{
		display:none;
	}
	#yubi{
		display:block;
		width:20%;
		position:absolute;
		top:50%;
		left:50%;
		transform:translate(0,-50%);
		animation-duration:1.2s;
		animation-name:left;
		animation-iteration-count:infinite;
	}
}
@keyframes left{
	0%{
		transform:translate(-50%,-50%);
	}
	100%{
		transform:translate(-80%, -50%);
	}
}
#swipe_left:hover,
#swipe_right:hover{
	cursor:pointer;
}
.carousel > img{
/* 	display:none; */
	width:100%;
	scroll-snap-align:start;
	scroll-snap-stop:always;
}
.carousel::-webkit-scrollbar{
	width:1px;
	height:5px;
	border-radius:50%;
	-webkit-border-radius:50%;
}
@media screen and (min-width: 491px){
	.carousel::-webkit-scrollbar{
		display:none;
	}
}
.carousel::-webkit-scrollbar-thumb{
	background-color:#3f838f;
	border-radius:5px;
	-webkit-border-radius:5px;
}
.carousel::-webkit-scrollbar-track{
	background-color:#cdcdcd;
	border-radius:5px;
	-webkit-border-radius:5px;
}
.hide{
	display:none;
}
.block{
	display:block !important;
}
.opacity{
	opacity:0.5;
}
.img_block{
	display:block;
	text-align:center;
	width:96%;
	margin:0 auto 1em;
}
.img_block > img{
	width:96%;
}
.texts{
	margin-top:1em;
	padding:1em .5em;
	border:1px solid #aaa;
	box-sizing:border-box;
	border-radius:5px;
}
.text_item{
	margin-bottom:1em;
}
.text_title > h4{
	padding: 8px 16px 8px 40px;
    box-sizing: border-box;
    font-weight:bold;
    color: #333;
    background-color: #f5f2ec;
	position:relative;
}
.text_title > h4:before,
.text_title > h4:after{
	position:absolute;
	content:'';
	top:50%;
	transform:translateY(-50%);
	border-radius:50%;
}
.text_title > h4:before{
	left:5px;
	width:20px;
	height:20px;
	background-color:#59cb29;
}
.text_title > h4:after{
	left:10px;
	width:10px;
	height:10px;
	background-color:#fff;
}

.add{
	width:96%;
	margin:1em auto 0;
}
.add > p{
	font-weight:bold;
	margin:0;
	line-height:1.6;
	font-size:0.8em;
}
.pr{
	text-align:center;
	font-size:.5em;
	line-height:70%;
}
.sp-pr{
	display:block;
}
@media screen and (max-width:480px){
	.sp-pr{
		display:none;
	}
}

/* トップページコラム */
.topColumn p {
    line-height: 1.7em;
    width: 96%;
    margin: 0 auto 1rem;
}
.topColumn > .title{
	font-size: 1.3em;
	color: #FFFFFF;
	background: #59cb29;
	padding: 0.75em;
	text-align: center;
	margin-bottom: 0.8em;
}
.topColumn > .content > h3 > span {
    color: #59cb29;
    font-size: 1.2em;
    font-weight: bold;
}
.topColumn > .content > h3{
	line-height: 1.7em;
	width: 96%;
	margin: 0 auto 1em;
	position: relative;
}
.topColumn > .content > h3:before{
	position: absolute;
    content: '';
    top: 0;
    left: -0.3em;
    background-color: #59cb29;
    height: 120%;
    width: 3px;
}
.topColumn > .content > h3:after{
	position: absolute;
    content: '';
    bottom: 0;
    left: -0.5em;
    background-color: #59cb29;
    height: 3px;
    width: 100%;
}
.text_body > img {
    display: block;
    margin: 0 auto;
}
	@media screen and (max-width:480px){
		.topColumn > .title{
			font-size: 5vw;
		}
	}
/* 1位商材コラム */
.reason > .texts > .text_item > .text_body > div{
	text-align: center;
}
.flex > .rankIcon > .itemName{
	text-align: left;
	padding: 2em;
}
/* コラム一覧 */
.columnTop > .mainH2 > a{
	color: #FFFFFF;
}

/* 2023/12/13前川追加 */
.table_subject p{
	display:inline-block;
	text-align:left;
}

/* 2024/2/27前川追加 */
.side_scroll {
  display: flex;
	width: 96%;
  /* height: 240px; */
  overflow-x: scroll;
	margin: 0 auto;
}
 
.side_scroll .scroll_item {
  width: 80%;
	flex-shrink: 0;
  padding: 0.5em .5em .5em 1em;
  margin: 1em 0.5em 2em;
  color: #232323;
  background: #fffbed;
  border-left: solid 10px #ffc06e;
  box-shadow: 0 3px 4px rgba(0, 0, 0, 0.32);/*影*/
}


.side_scroll::-webkit-scrollbar {
  height: 14px; /* スクロールバーの高さ */
}
 
.side_scroll::-webkit-scrollbar-thumb {
  background: #d2b48c; /* ツマミの色 */
  border-radius: 7px; /* ツマミ両端の丸み */
}
 
.side_scroll::-webkit-scrollbar-track {
  background: #f5deb3; /* トラックの色 */
  border-radius: 7px; /* トラック両端の丸み */
}
.scroll_title{
	display: flex;
	align-items: center;
}
.choose .scroll_title img{
	display: block;
	width: 10%;
	margin: 0 -0.3em 0.5em 0.3em;
}
.scroll_contents ul{
	position: relative;
  padding:0.5em 1em;
  margin: 0.5em;
}
.scroll_contents ul:before, .scroll_contents ul:after{
	content:'';
  width: 20px;
  height: 30px;
  position: absolute;
  display: inline-block;
}
.scroll_contents ul:before{
  border-left: solid 4px #ffac21;
  border-top: solid 4px #ffac21;
  top:0;
  left: 0;
}
.scroll_contents ul:after{
  border-right: solid 4px #ffac21;
  border-bottom: solid 4px #ffac21;
  bottom:0;
  right: 0;
}
.scroll_contents ul li {
  margin: 0; 
  padding: 0;
}
@media screen and (max-width:480px){
	.choose .scroll_title img{
		width: 18%;
		margin: 0 -0.3em 0.3em 0.3em;
	}
}
