@charset "utf-8";
/*------------------------------------------------------------
共通
------------------------------------------------------------*/

body {
  margin: 0;
  -webkit-text-size-adjust: 100%;
  font-family: 'Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3', 'Meiryo', 'メイリオ', sans-serif !important;
  background: #fff;
  color: #000;
  font-size: 17px;
  background: #fff;
  word-break: break-all;
}

*,
*:before,
*:after {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}

a:visited, a:hover, a:active {
  color: #1c44bd;
}

a:vis

a:hover {
  opacity: 0.8;
  filter: alpha(opacity=80);
  -ms-filter: "alpha(opacity=80)";
}


/*共通*/
.fsS{
    font-size: .9em;
}
.fsSS {
    font-size: .6em;
    line-height: 1.3;
    text-align: right;
	margin: 1% auto;
}
.fsL{
    font-size: 1.3em;
}
.taC {
    text-align: center;
}
.taR {
    text-align: right;
}
.taL {
    text-align: left;
}
.fwB {
  font-weight: bold;
}
.marker {
    background: linear-gradient(transparent 60%, #fff47d 60%);
}
.rel {
    position: relative;
}
.abs {
    position: absolute;
}
.pa{
    padding: 20px 10px;
}
.pa2 {
    padding: 0 10px;
}
.pb2 {
	padding: 0 0 2% !important;
}

 .pc {
    display: block;
  }
 .sp {
    display: none;
  }

.fcB{
	color: #1c44bd;
}
.fcY{
	color: #ffff01;
}
.fcG{
	color: #999;
}
.fcR{
	color: rgb(255, 0, 0);
}
.fcP{
	color: rgb(255, 0, 120);
}
.fcwP{
	color: #feaac2;
}
.taR{
	text-align: right;
}
.g_k {
	font-size: 10px;
    color: #999;
	text-align: right;
	margin: 6px auto;
}
.fs25{
	font-size: 25px !important;
}
.fs21{
	font-size: 21px !important;
}
.fs19{
	font-size: 19px !important;
}
.fs33{
	font-size: 33px !important;
}
.fs16{
	font-size: 16px !important;
}
.y_mark{
	background: rgba(0, 0, 0, 0) linear-gradient(transparent 60%,#ffff00 0%) repeat scroll 0 0;
}
.b_mark{
	text-decoration: underline;
}
.mt20{
	margin-top: 20px;
}
.mb20{
	margin-bottom: 20px;
}
.mt40{
	margin-top: 40px;
}
.mb40{
	margin-bottom: 40px;
}
.b_box{
	background: #1c44bd;
    padding: 0 2%;
    margin: 0;
	color: #fff;
}
.pc {
    display: block;
  }
 .sp {
    display: none;
  }


h2{
	padding: 1rem 2rem;
    border-left: 5px solid #00307e;
    background: #eaf4ff;
    color: #00307e;
    font-weight: bold;
    line-height: 1.4;
    font-size: 22px;
	margin: 2% 0;
}

.chart h2 {
    padding: 1rem 2rem;
    background: #ffdde7;
    font-weight: bold;
    line-height: 1.4;
    font-size: 22px;
    margin: 2% 0;
    text-align: center;
	border-left: none;
	color: #000;
}


@media screen and (max-width:740px){
html {
    overflow-x: hidden;
    overflow-y: scroll; -webkit-overflow-scrolling: touch
}
	
	p{
		font-family: 'Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3', 'Meiryo', 'メイリオ', sans-serif;
	}

}

/*------------------------------------------------------------
レイアウト
------------------------------------------------------------*/

body{
    margin: 0 auto;
    /*max-width: 1920px;*/
}

p{
    color: #000;
}
img{
    display: block;
    width: 90%;
	margin: 0 auto;
}
video{
	display: block;
    width: 90%;
	margin: 0 auto;
}

.wrapper {
    margin: 3%;
}
.inside_width{
    max-width: 1200px;
    width: 95%;
    margin: auto;
}
figure{
  margin: 0 auto;
  max-width: 100%;
}

p {
    font-size: 18px;
    margin: 0 auto 10px;
    line-height: 1.5;
	width: 90%;
  }

b{
	font-weight: bold !important;
}

.box{
    width:100%;
    max-width:100%; 
    padding-right: 0;
    box-sizing:border-box;
    overflow: hidden;
}

section{
    margin: 0 auto;
    overflow: hidden;
    padding: 0 0 0 0;
    background: url(../img/bg.jpg);
    background-position: center top;
    width: 100%;
    height: 100%;
    z-index: -1;
}

.all {
	max-width: 730px;
    margin: 0 auto;
    font-size: 17px !important;
    color: #000000 !important;
    line-height: 1.9 !important;
    padding: 0 25px;
}

/*ヘッダー*/
header{
	background: #feaac2;
    text-align: center;
}
header p{
	color: #fff;
	font-size: 22px;
	font-weight: bold;
	padding: 1%;
	text-align: center;
}

/*FV*/
.fv{
	position: relative;
    padding: 1rem 0;
    background: #def3ff;
    color: #000;
    font-weight: bold;
    margin: 4% 5% 1%;
    text-align: center;
	line-height: 1.7;
}

.fv::before{
	position: absolute;
    top: -7px;
    left: -7px;
    width: 100%;
    height: 100%;
    content: '';
    border: 2px solid #000;
}

.fv p{
	font-size: 25px !important;
}


/*比較表*/
table {
    width: 94%;
    margin: 0 auto 2%;
    background: #fff;
    border-collapse: collapse;
    color: #222;
    text-align: center;
}

table td {
    font-size: 14px;
    padding: 2% 0 2%;
	line-height: 1.5;
	vertical-align: middle;
}
.yellow{
    color: #ffa500;
}
.rankTable table img {
    max-width: 100%;
    padding: 5% 0;
    margin: 0 auto;
}
.rankTable a {
    color: #00307e;
    text-decoration: none;
    font-weight: bold;
    font-size: 13px;
    line-height: 1.2;
}
table tr {
	border-top: 1px solid #cdd4d0;
}
.rankTable table tr th {
        background: #00307e;
        color: #fff;
        border-radius: 0;
        /*	padding: 0.5% 0;*/
        font-weight: bold;
		font-size: 1.1em;
		width: 135px;
    }
.rankTable {
        border: 10px solid #d3e7ff;
        border-top: 10px solid #d3e7ff;
        border-width: 10px;
        width: 90%;
        box-sizing: border-box;
        background: #ffffff;
		margin: 3% auto 0px;
    }
.rankTable td {
        border-right: 2px dotted #cdd4d0;
        text-align: center;
    }
.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;
}
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: #ff7510;
    box-shadow: 0 5px 0 0 #ce6010;
    text-align: center;
    width: 100%;
    margin: 15px auto;
    position: relative;
    line-height: 1.3;
}
.chart_btn a{
	color: #fff;
	font-size: 14px;
}
.chart02_btn {
    border-radius: 5px;
    padding: 5px;
    background-color: #03af38;
    box-shadow: 0 5px 0 0 #006537;
    text-align: center;
    width: 100%;
    margin: 15px auto;
    position: relative;
    line-height: 1.3;
}
.chart02_btn a{
	color: #fff;
	font-size: 14px;
}
.pa1{
	padding: 1%;
}

/*口コミ01*/
.voice01{
	margin: 20px auto 5px;
    background: #eaf4ff;
    box-shadow: #ddd 4px 4px 4px;
    border-radius: 10px;
	width: 90%;
	display: flex;
    justify-content: center;
	align-items: center;
}

.voice01 img{
	width: 46%;
}
.voice01 p{
	padding: 2%;
}

/*コンテンツ*/
.content{
    position: relative;
    background: #feffdf;
    box-shadow: 0px 0px 0px 7px #feffdf;
    border: dashed 2px #00307e;
    padding: 0.2em 0.5em;
    color: #454545;
    width: 90%;
    margin:0 auto;
}
.content p{
    margin: 2% 3%;
    font-size: 19px;
    font-weight: bold;
    color: #00307e;
}
.component p{
    background: #00307e;
    margin: 3% auto 0;
    padding: 1%;
    font-size: 19px;
    text-align: center;
    font-weight: bold;
    line-height: 1.3;
    color: #fff;
}

/*口コミ02*/
.voice02_ttl p{
    background: #00307e;
    padding: 3%;
    border-radius: 10px 10px 0 0;
    margin: 3% auto 0;
    color: #fff;
    font-weight: bold;
}
.voice02_txt{
    margin: 0 auto 5px;
    background: #f0f0f0;
    border-radius: 0 0 10px 10px;
    padding: 3% 0;
    width: 90%;
}

/*フッター*/
footer{
    background: #eee;
    text-align: center;
    width: 90%;
    margin: 0 auto;
    padding: 5%;
}
footer a{
    color: #000 !important;
    text-decoration: none;
}

/*フローティング動画*/
_:-ms-lang(x)::-ms-backdrop,
.flowing {
    display: -ms-grid;
    overflow: hidden;
}
.flowing_wrap {
    display: flex;
    overflow: hidden;
}
.flowing_list {
    display: flex;
    list-style: none;
    margin: 30px 0 20px;
}
.flowing_list-left{
    animation :infinity-scroll-left 15s infinite linear 0s both;
    padding: 0;
}
.flowing_item {
    width: calc(100vw / 6);
    margin: auto;
}
@keyframes infinity-scroll-left {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-100%);
    }
}
.rainbow{
    background-image: url(../img/slider_bg.jpg);
	background-size: cover;
    background-repeat: no-repeat;
	width: 90%;
    margin: 0 auto;
}
@media screen and (max-width:740px) {
    .flowing_item {
        width: calc(100vw / 2);
        margin: auto;
    }
}

/*三角アニメーション*/
.triangle_ani img{
	width: 100%;
    margin: 8% auto;
}
.triangle_ani{
	animation: move-y .5s infinite alternate ease-in-out;
	display: inline-block;
}
@keyframes move-y {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(10px);
  }
}

/*みかん*/
.mikan h2{
	padding: 1rem 2rem;
    background: #feffdf;
    font-weight: bold;
    line-height: 1.4;
    font-size: 22px;
    margin: 2% 0;
    text-align: center;
    border-left: none;
    color: rgb(255, 0, 120);
}
.blinking{
  animation: flash 1.7s linear infinite;
}

@keyframes flash {
  0% {
    opacity: 1;
  }

  50% {
    opacity: 0;
  }


  100% {
    opacity: 1;
  }
}

/*ボタン*/
.btn {
  margin: 0 auto;
}
.btn img {
  animation: anime1 0.5s ease 0s infinite alternate;
  transform-origin:center;
}
@keyframes anime1 {
  from {
    transform: scale(0.9,0.9);
  }
  to {
    transform: scale(1,1);
  }
}

/*SPレスポンシブ*/
@media screen and (max-width:740px){
	.all{
		padding: 0;
	}
	.fv p {
		font-size: 21px !important;
	}
	.fv {
		margin: 7% 5% 1%;
	}
	.fs33 {
		font-size: 28px !important;
	}
	img {
		width: 93%;
	}
	.rankTable {
		border: 5px solid #d3e7ff;
		border-top: 5px solid #d3e7ff;
		width: 93%;
	}
	p {
		font-size: 17px;
		width: 93%;
	}
	.pc {
		display: none;
	  }
	 .sp {
		display: block;
	  }
	.voice01{
		display: block;
	}
	.voice01 p {
		padding: 6% 0;
	}
	.voice01 img {
		width: 100%;
	}
	.component p {
		margin: 5% auto 0;
	}
	.mb40 {
		margin-bottom: 30px;
	}
	.mt40 {
		margin-top: 30px;
	}
	h2 {
		font-size: 21px;
	}
	.fs16 {
		font-size: 14px !important;
	}
	video {
		width: 93%;
	}
	footer{
		width: 100%;
		padding: 10%;
	}
	h2 {
		border-bottom: 5px solid #00307e;
		border-left: none;
		text-align: center;
	}
	.chart h2 ,.mikan h2 {
		border-bottom: none;
		font-size: 21px;
	}
	.voice02_txt {
		width: 93%;
	}
	.voice02_ttl p {
		margin: 7% auto 0;
	}
	.rainbow {
		width: 93%;
	}
	.chart_btn a{
		font-size: 12px !important;
	}
	.chart_btn02 a{
		font-size: 12px !important;
	}
	.rankTable a {
		font-size: 12px;
		line-height: 1;
	}
	.rankTable table tr th {
		width: 70px;
		font-size: 14px;
	}
}

