@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;
    background: #dee8ee;
}

/** 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;
    background: #fff;
}
.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%;
    }
}
/*layout
----------------------------------------------------*/
img{
    width: 100%;
    margin: 0 0 30px;
    padding: 0;
}
.tac{
    text-align: center;
}
.tar{
    text-align: right;
}
.mt0{
    margin-top: 0;
}
.mb-10{
    margin-bottom: -10px;
}
.mb0{
    margin-bottom: 0;
}
.mb10{
    margin-bottom: 10px;
}
.mb20{
    margin-bottom: 20px;
}
.mt20{
    margin-top: 20px;
}
.mb30{
    margin-bottom: 30px;
}
.mt30{
    margin-top: 30px;
}
.mb40{
    margin-bottom: 40px;
}
.mt40{
    margin-top: 40px;
}
.pink{
    color: rgb(255, 0, 120);
}
.red{
    color: rgb(255, 0, 0);
}
.gray{
    color: rgb(100, 100, 100);
}
.orange{
    color: rgb(255, 153, 0);
}
.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;
}
footer{
    padding: 30px 20px;
    text-align: center;
    background: #ECECEC;
    margin-top: 50px;
    font-size: 13px;
}


@media (max-width: 620px){
    .star{
        color:#FFD966;
        font-size: 10px;
    }
    .rankTable table {
        background: #ffffff;
        width: 154%;
        margin: auto;
        box-sizing: border-box;
        padding: 0%;
        border-radius: 5px;
    }
    .rankTable table tr th {
        background: #3b6ab1;
        color: #ffffff;
        border-radius: 0;
        padding: 1% 0;
        font-weight: bold;
    }
    .rankTable table tr:first-child th {
        background: #ffffff;
        border-radius: 0;
        padding: 10px 0 5px 0;
        font-size: 12px;
        vertical-align: top;
        line-height: 1.3;
        border-right: 2px dotted #c4c4c4;
    }
    .rankTable table tr:last-child th {
        background: #ffffff;
        border-radius: 0;
        padding: 3% 0 1% 0;
        font-size: 6px;
        vertical-align: top;
        line-height: 1;
        border-right: 2px dotted #c4c4c4;
    }
    .rankTable table tr:first-child th:last-child,
    .rankTable table tr:last-child th:last-child {
        border-right: none;
    }
    .rankTable table tr:first-child th a img,
    .rankTable table tr:last-child th a img {
        padding: 5% 0;
    }
    .rankTable td {
        line-height: 1.3;
        border-right: 2px dotted #c4c4c4;
        text-align: center;
        padding: 10px 5px;
        width: calc(100% / 5);
        font-size: 0.8rem;
        vertical-align: top;
    }
    .rankTable td:last-child {
        border-right: none;
    }
    td.txt_only {
        font-size: 1.5rem;
        color: #333333;
        padding: 2.5% 0;
    }
    span.ex {
        font-size: 5rem;
        color: #f8525d;
    }
    span.go {
        font-size: 3.5rem;
        color: #7cd0dd;
    }
    span.so {
        font-size: 3.2rem;
        color: #f5c132;
    }
    span.ba {
        font-size: 4rem;
        color: #7a7a7a;
    }
    .rankTable {
        /*padding: 20px 0 0 0;*/
        border: 10px solid #b6e4f3;
        border-top: 10px solid #b6e4f3;
        border-width: 5px;
        overflow-x: scroll;
        width: 100%;
        box-sizing: border-box;
        margin: 0;
        background: #ffffff;
    }
    .rankTable table tr.sp_th {
        /*display: block;*/
        height: 28px;
    }
    .rankTable table tr.sp_th th {
        position: absolute;
        left: 0;
        right: 0;
        margin: auto;
        width: calc(100% - 5%);
        text-align: center;
        /* padding-top: 5px; */
    }
    span.ex, span.go, span.so, span.ba {
        line-height: 50px;
    }
    span.ex {
        font-size: 3rem;
    }
    span.go {
        font-size: 3rem;
    }
    span.so {
        font-size: 3rem;
    }span.ba {
        font-size: 3rem;
    }
}
/*ランキング表*/
.kaso .kaso_pro_tbl th,
.kaso .kaso_pro_tbl td{
    border: 1px solid #cccccc;
    font-size: 1rem;
}
.kaso_pro_tbl table {
    width: 100%;
    margin: 5% auto;
}
@media (min-width: 620px){
    .star{
        color:#FFD966;
        font-size: 15px;
    }
    .kaso_pro_tbl table {
        width: 100%;
        margin: 5% auto;
    }
    /*ランキング表*/
    .rankTable {
        background: #eaf7fd;
        width: 800px;
        margin: 0% auto 5px;
        box-sizing: border-box;
    }
    .rankTable table {
        background: #ffffff;
        width: 100%;
        margin: auto;
        box-sizing: border-box;
        border-radius: 5px;
    }
    .rankTable table tr th {
        background: #3b6ab1;
        color: #ffffff;
        border-radius: 0;
        /*	padding: 0.5% 0;*/
        font-weight: bold;
    }
    .rankTable table tr:first-child th,
    .rankTable table tr:last-child th {
        background: #ffffff;
        border-radius: 0;
        font-size: 1.5rem;
        vertical-align: top;
        line-height: 1;
        border-right: 2px dotted #c4c4c4;
    }
    .rankTable table tr:first-child th:last-child,
    .rankTable table tr:last-child th:last-child {
        border-right: none;
    }
    .rankTable table tr:first-child th:nth-child(1){
        color: #dba728;
        text-align: center;
    }
    .rankTable table tr:first-child th:nth-child(2) {
        color: #9d9a93;
        text-align: center;
    }
    .rankTable table tr:first-child th:nth-child(3) {
        color: #c56e6e;
        text-align: center;
    }

    .rankTable table tr:last-child th:nth-child(1){
        color: #dba728;
        text-align: center;
    }
    .rankTable table tr:last-child th:nth-child(2) {
        color: #9d9a93;
        text-align: center;
    }
    .rankTable table tr:last-child th:nth-child(3) {
        color: #c56e6e;
        text-align: center;
    }
    .rankTable table tr:first-child th:nth-child(4) {
        color: #74cccc;
        text-align: center;
    }
    .rankTable table tr:first-child th:nth-child(5){
        color: #74cccc;
        text-align: center;
    }
    .rankTable table tr:first-child th:nth-child(6){
        color: #74cccc;
        text-align: center;

    }
    .rankTable table tr:last-child th:nth-child(4) {
        color: #74cccc;
        text-align: center;

    }
    .rankTable table tr:last-child th:nth-child(5){
        color: #74cccc;
        text-align: center;

    }
    .rankTable table tr:last-child th:nth-child(6){
        color: #74cccc;
        text-align: center;
    }
    .rankTable table tr:first-child th a,
    .rankTable table tr:last-child th a {
        font-size: 1rem;
    }
    .rankTable table tr:first-child th a img,
    .rankTable table tr:last-child th a img {
        padding: 5% 0;
    }

    .rankTable td {
        border-right: 2px dotted #c4c4c4;
        text-align: center;
        padding: 2% 1%;
        width: calc(100% / 5);
        font-size: 0.9rem;
        vertical-align: top;
    }
    .rankTable td:last-child {
        border-right: none;
    }
    td.txt_only {
        font-size: 1.5rem;
        color: #333333;
        padding: 2.5% 0;
    }
    span.ex, span.go, span.so, span.ba {
        font-weight: normal;
        line-height: 70px;
    }
    span.ex {
        font-size: 5rem;
        color: #f8525d;
    }
    span.go {
        font-size: 3.5rem;
        color: #7cd0dd;
    }
    span.so {
        font-size: 3.2rem;
        color: #f5c132;
    }
    span.ba {
        font-size: 4rem;
        color: #7a7a7a;
    }
    span.txt_ex {
        font-weight: bold;
        color: #f8525d;
    }

    span.ex, span.go, span.so, span.ba {
        line-height: 50px;
    }
    span.ex {
        font-size: 3.5rem;
    }
    span.go {
        font-size: 2.5rem;
    }
    span.so {
        font-size: 2.2rem;
    }span.ba {
        font-size: 3rem;
    }
    .rankTable table tr th {
        font-size: 1rem;
    }
    .rankTable {
        /*padding: 20px 0 0 0;*/
        border: 10px solid #b6e4f3;
        border-top: 10px solid #b6e4f3;
        border-width: 10px;
        /*overflow-x: scroll;*/
        width: 100%;
        box-sizing: border-box;
        /* margin: 0 0 20px 0px; */
        background: #ffffff;
    }
    .rankTable table {
        width: 100%;
    }
    .rankTable table tr.sp_th {
        /*display: block;*/
        height: 28px;
    }
    .rankTable table tr.sp_th th {
        /*	position: absolute;*/
        left: 0;
        right: 0;
        margin: auto;
        width: calc(100% - 20px);
        text-align: center;

    }
    .scrollok {
        display: block;
        text-align: center;
        color: #0b4685;
        /*position: absolute;*/
        right: 0;
        left: 0;
        background: #edf5fa;
        width: 100%;
        margin: auto;
    }
    span.ex, span.go, span.so, span.ba {
        line-height: 51px;
    }
    span.ex {
        font-size: 3.4rem;
        line-height: 56px;
    }
    span.go {
        font-size: 3.4rem;
        line-height: 56px;
    }
    span.so {
        font-size: 2.8rem;
        line-height: 56px;
    }span.ba {
        font-size: 3rem;
    }

    .rankTable table tr th {
        font-size: 1rem;
    }
}
/*ランキング表*/
.kaso .kaso_pro_tbl th,
.kaso .kaso_pro_tbl td{
    border: 1px solid #cccccc;
    font-size: 1rem;
}
.kaso_pro_tbl table {
    width: 100%;
    margin: 5% auto;
}
.rankTable table tbody tr td:first-child, .first-cell {
    background-color: #fffad1 !important;
}
.li_no a {
    text-decoration: none;
}
.li_no a :hover{
    opacity: 0.7 ;
}
.hikaku_btn {
    max-width: 500px;
    margin: 7% auto 0;
    background-image: linear-gradient(90deg, rgba(255, 147, 0, 1), rgba(255, 95, 52, 1));
    text-align: center;
    font-weight: 1.5rem;
    font-weight: bold;
    color: #fff;
    padding: 10px 0;
    border-radius: 5px;
    text-decoration: none;
}
.mokuji{
    border: 2px solid #06c;
    border-radius: 10px;
    background: aliceblue;
    margin-top: 4%;
    margin-bottom: 2%;
}
.mokuji_title {
    margin: 0;
    background: #0066cc;
    text-align: center;
    padding: 5px;
    color: #fff;
    font-weight: bold;
    letter-spacing: 4px;
}

.mokuji_inner {
    padding: 15px;
}

.mokuji_inner p{
    margin-left: 18px;
    text-indent: -16px;
    margin-top: 0;
    margin-bottom: 0;
}
.mokuji_inner p:before {
    content: "●";
    margin-right:5px;
    color: #0066cc;
}

h1{
    margin: 30px 0 20px;
    background: #3b6ab1;
    padding: 8px 5px 8px 15px;
    border-left: 7px solid #000;
    color: #fff;
    line-height: 1.3;
    font-size: 20px;
}
h3{
    margin-bottom: 10px;
    border-bottom: 1px solid #696969;
}
a.table_btn{
text-decoration: none;
    color: #000;
}
.table_btn{
    display: block;
    background: orange;
    padding: 7px 2px;
    border-radius: 10px;
    box-shadow: 0 6px #ff6200;
    margin-bottom: 10px;
}
h2 {
    background: #9cb8ff;
    padding: 10px;
    letter-spacing: 1.5px;
    font-size: 20px;
}
h2 span{
    color: #3b6ab1;
    font-size: 24px;
    margin-right: 5px;
}
.youtube{
    position:relative;
    width:100%;
    height:0;
    padding-top:60%;
}
.youtube iframe{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
}
h5 {
    font-size: 20px;
    border-bottom: 3px solid #3b6ab1;
    padding: 10px 0 10px 15px;
    border-left: 8px solid #3b6ab1;
    margin: 30px 0 20px;
}
.kuchikomi {
    padding: 10px;
    background: aliceblue;
    border-radius: 10px;
}
.kuchikomi_title {
    margin-top: 10px;
    color: #3b6ab1;
    font-weight: bold;
    font-size: 18px;
    line-height: 1.3;
    padding-bottom: 5px;
    border-bottom: 1px solid #3b6ab1;
}
video{
    width: 100%;
}
.hukudasi_sakura{
    position:relative;
    width:310px;
    background:hsl(212, 100%, 62%);
    text-align:center;
    border:5px solid hsl(212, 100%, 62%);
    color:#FFFFFF;
    font-size:1.4rem;
    font-weight:bold;
    margin: 5% auto 3%;
    padding: 7px 0;
}
.hukudasi_sakura:after,.hukudasi_sakura:before{
    border: solid transparent;
    content:'';
    height:0;
    width:0;
    pointer-events:none;
    position:absolute;
    top:100%;
    left:50%;
}
.hukudasi_sakura:after{
    border-color: rgba(0, 0, 255, 0);
    border-top-width:9px;
    border-bottom-width:9px;
    border-left-width:11px;
    border-right-width:11px;
    margin-left: -11px;
    border-top-color:hsl(212, 100%, 62%);
}
.hukudasi_sakura:before{
    border-color: rgba(0, 0, 255, 0);
    border-top-width:13px;
    border-bottom-width:13px;
    border-left-width:16px;
    border-right-width:16px;
    margin-left: -16px;
    margin-top: 5px;
    border-top-color:hsl(212, 100%, 62%);
}
a.cta{
    display: block;
    margin: auto;
    text-align: center;
    background: linear-gradient(to bottom, #ffa25a, #ff6f00);
    color: #fff;
    text-decoration: none;
    font-weight: bold;
    padding: 10px 0;
    border-radius: 50px;
    font-size: 20px;
    line-height: 1.3;
    box-shadow: 0 8px #ee4c1c;
}

.item_table{
    border-collapse: collapse;
    border: solid 2px #3b6ab1;
    width: 100%;
}
.item_table th {
    border: solid 1px #fff;
    color: #fff;
    background: #3b6ab1;
}
.item_table td {
    border: solid 1px #3b6ab1;
    text-align: center;
    padding: 10px;
    font-size: 14px;
}
.shuffling {
    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);}
}
a.cta02{
    display: block;
    margin: auto;
    text-align: center;
    background: linear-gradient(to bottom, #81ff81, #329500);
    color: #fff;
    text-decoration: none;
    font-weight: bold;
    padding: 10px 0;
    border-radius: 50px;
    font-size: 20px;
    line-height: 1.3;
    box-shadow: 0 8px #217300;
    margin-top: 20px;
}
.box01{
    background: #ddd;
    padding: 1px 10px;
}
.cta_area {
    max-width: 90%;
    margin: 4% auto 0;
}
/* 比較根拠ページ */
.info {
    margin-bottom: 5%;
}
.info .item_table td {
    text-align: left;
}
.info .item_table th {
    padding: 1.2%;
}
.info .ex::before {
    content: "◎";
    font-size: 2.6rem;
    font-weight: bold;
    color: #ff0000;
    vertical-align: middle;
}
.info .ok::before {
    content: "〇";
    font-size: 2.0rem;
    color: #00bcd4;
    vertical-align: middle;
    margin: auto 2.2% auto 1.2%;
}
.info .so::before {
    content: "△";
    font-size: 2.1rem;
    font-weight: bold;
    color: #ffc107;
    vertical-align: middle;
    margin: auto 2.2% auto 1%;
}
.info ul {
    list-style: none;
    padding-left: 10px;
}
.info .item_detail {
    width: 100%;
    border: 2px solid #b4dcff;
}
.info .item_detail td {
    text-align: center;
}
.info .item_detail th {
    text-align: center;
    background-color: aliceblue;
}
.info h2 {
    background: #b4dcff;
    margin-bottom: 2%;
}
.info .kuchikomi {
    display: flex;
    align-items: center;
    margin-top: 20px;
}
.info .kuchikomi .ttl {
    width: 30%;
    text-align: center;
    background-color: #0b4685;
    color: #fff;
    vertical-align: middle;
    margin-right: 3%;
}
.info .mokuji {
    margin-top: 3%;
}
.kuchikomi2 {
    padding: 20px;
    background: aliceblue;
    border-radius: 10px;
    margin-bottom: 1%;
}
.kuchikomi_prof {
    display: flex;
    justify-content: flex-start;
    margin-bottom: -14px;
}
.icon {
    max-width: 65px;
    margin: 0 15px 0 0;
}
.prof_fsL {
    font-size: 1.2rem;
    font-weight: bold;
}
.icon_txt {
    margin-top: 9px;
}
.ye_star {
    color: #ffc400;
}
@media (min-width: 767px){
    .info .mokuji {
        position: relative;
        margin-top: 3%;
        margin-bottom: 6%;
    }
    .info .mokuji .mokuji_title {
        position: absolute;
        width: 30%;
        height: 80px;
        border-bottom-left-radius: 10px;
        border-top-left-radius: 6px;
        padding-top: 4%;
    }
    .info .mokuji .mokuji_inner {
        position: relative;
        left: 35%;
    }
    .info .item_table td {
        text-align: left;
        font-size: 20px;
    }
    .info .pc {
        display: inline-table;
    }
}

@media (max-width: 767px){
    .info .sp {
        display: inline-table;
    }
    .info {
        margin-bottom: 20%;
    }
    .info .ex::before {
        font-size: 2.8rem;
        margin: auto -1.8% auto -3.0%
    }
    .hukudasi_sakura {
        width: 280px;
        font-size: 1.2rem;
        padding: 5px 0;
    }
    .cta_area {
        max-width: 100%;
    }
    .kuchikomi2 {
        padding: 14px;
        margin-bottom: 1%;
    }
    .prof_fsL {
        font-size: 1.1rem;
        font-weight: bold;
    }
}