@charset "utf-8";
/* ========================
   bootstrap reset
   ======================== */
/* common */
@media (max-width:1200px) {
}
@media (max-width:991px) {
}
@media (max-width:767px) {
}

body{
  line-height: 1.5em;
  font-family:'Noto Sans JP',"Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif !important;
  color:#333;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.1em;
}
a:hover {
text-decoration: none;
}
.contents {
  padding: 100px 0;
  position: relative;
}
.alpha {
  -webkit-transition: 0.4s ease;
  transition: 0.4s ease;
}
.alpha:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
  -webkit-transition: 0.4s ease;
  transition: 0.4s ease;
}
.oswald {
    font-family: 'Oswald', sans-serif;
    font-weight: bold;
}

.Page-top {
    position: fixed;
    right: 0;
    bottom: 5%;
    right: 1%;
}
.pt-100{
  padding-top:100px;
}
.pb-100{
  padding-bottom:100px;
}
.weight-900 span{
  font-weight: 900;
}
img.img-responsive {
    display: inline-block;
}
.color-red{
  color:#cb0d0d;
}
.color-black{
  color:#131313;
}
.color-yellow{
  color:#fff400;
}
.color-orange{
  color:#f15a25;
}
.color-blue{
  color:#033674;
}
.bg-yellow{
  background-color: #fff1bf;
}
.bg-orange{
  background-color: #edf0f0;
}
.bold{
  font-weight: bold;
}
.font-150{
  font-size:150%;
}
h2 {
  position: relative;
  display: inline-block;
  padding: 0 55px;
  font-size: 24px;
}

h2:before, h2:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 45px;
  height: 2px;
  border-top: solid 1px black;
  border-bottom: solid 1px black;
}

h2:before {
  left:0;
}
h2:after {
  right: 0;
}
h3{
  font-size: 135%;
  color: #fff;
  font-weight: bold;
  background:#161b5f;
  padding: 20px 10px 20px 30px;
}

.fix_navi {
    position: fixed;
    top: 20%;
    right: 0%;
    text-align: right;
}
header .container{
  padding: 15px 0px 15px 0px;
}
@media (max-width:767px) {
.sp_fix_navi {
    background: rgba(0,0,0,0.4);
    padding: 9px 0 10px 0;
    position: fixed;
    z-index: 9999;
    bottom: 0;
    width: 100%;
}
.sp_fix_dl {
    background: #cb0d0d;
    padding: 5px 0px;
}
.sp_fix_dl a{
    color: #fff;
}
.sp_fix_navi .button01 {
    padding: 0px 0px 0px;
    margin: 0px 10px;
}
.sp_fix_navi .pochitto_btn {
    padding: 15px 10px;
    transition: .0s;
}
.sp-pt-15{
  padding-top: 15px;
}
body{
  font-size: 14px;
}
.sp-width-45{
  width: 45%;
}
.row {
    margin-left: 0px;
    margin-right: 0px;
}
}
/* header */
header .container-fluid {
    padding-left: 0px;
    padding-right: 0px;
}
header .col-sm-8{
  padding-right: 0px;
}
@media (max-width:767px) {
header{
  padding-bottom: 10px;
}
header img{
  width: 60%;
  padding-left: 0px !important;
}
}
/* mv */
.mv{
  position: relative;
  min-height: 850px;
  background: url('../images/mv_bg.jpg') no-repeat;
  background-position: top center;
}

@media (max-width:1200px) {
.mv {
    background-size: cover;
    min-height: 730px;
    background: url(../images/mv_bg.jpg) no-repeat;
    background-position: top center;
}
}
@media (max-width:991px) {
  .mv {
    position: relative;
    min-height: 650px;
    background: url(../images/mv_bg.jpg) no-repeat;
    background-position: top center;
    background-size: cover;
}
}
@media (max-width:767px) {
    .mv {
    min-height:auto;
    background:none;
}
.mv .container{
  padding-left: 0px;
  padding-right: 0px;
}
}

/*about*/
.gray-box{
    background: #f4f4f4;
    padding: 30px;
    font-size: 16px;
}
@media (max-width:767px) {
.gray-box{
    background: #f4f4f4;
    padding: 15px 10px;
    font-size: 14px;
}
}

/*比較表*/

.site {
    background-color: #31ad00;
    border-bottom: 4px solid #226100;
    color: #fff;
    padding: 10px 20px;
}
.hikaku table {
    table-layout: auto;
    font-size: .8rem;
}
.hikaku table {
    max-width: 100%;
    table-layout: fixed;
    margin: 1em 0;
    vertical-align: middle;
    font-size: 80%;
}
small span{
  color: #ff9800;
}
@media (max-width:767px) {
.hikaku table {
    table-layout: fixed;
    width: auto;
    font-size: .8rem;
}
}
.hikaku table th {
    width: 15em;
    color: #222;
    font-weight: normal;
    padding: 2rem .5rem;
    background-color: #f3f3f3;
    font-weight: normal;
    font-size: 150%;
}
.hikaku table th {
    text-align: center;
    width: 15%;
    font-size: 110%;
    background-color: #004e98;
    vertical-align: middle;
    padding: 1em;
    color: #fff;
    border: 1px solid #ddd;
}
.hikaku table tr:nth-of-type(1) td {
    font-size: 200%;
    color:#004e98;
    font-weight:normal;
}
.hikaku table td {
    max-width: 8em;
    padding: 0.5rem 5px;
    text-align: center;
    font-size: 110%;
}
td.is-selected {
    background-color: #fff1d6;
    color: #e15f8e;
    font-weight: 900;
}
.hikaku table tr:first-of-type td:nth-of-type(1) {
    border-top: 5px solid #f15a25;
}
.hikaku table tr:nth-of-type(1) td {
    font-size: 100%;
    color: #f15a25;
    font-weight: normal;
}
.hikaku table tr td:nth-of-type(1) {
    border-left: 5px solid #f15a25;
    border-right: 5px solid #f15a25;
    background-color: #ffefd9;
}
.hikaku table tr:last-of-type td:nth-of-type(1) {
    border-bottom: 5px solid #f15a25;
}
.hikaku table td {
    vertical-align: middle;
    padding: 1rem;
    border: 1px solid #ddd;
    line-height: 1.5;
    background-color: #fff;
}
.hikaku table tr:nth-of-type(1) td i {
    display: block;
    margin: 0 auto;
    font-size: 1.5rem;
    color: #e15f8e;
}
.hikaku table td .site {
    font-size: .8rem;
    padding: 1rem 5rem;
}
td svg:not(:root).svg-inline--fa {
    overflow: visible;
    display: block;
    margin: 0 auto;
}
@media (max-width:767px) {
.hikaku table td .site {
    font-size: .8rem;
    padding: 1rem 0.5rem;
}
.hikaku table th {
    padding: 0em;
}
}
/* about */
#about {
  padding-top: 50px;
  padding-bottom: 20px;
}
.about-01{
  padding-top:30px; 
}
#about ul {
  list-style: none;
}
#about .bg-orange{
  padding:20px 15px;
}
@media (max-width:767px) {
  #about .boutou{
    text-align:left;
  }
  h3 {
    font-size: 120%;
    background: #161b5f;
    padding: 15px 5px 15px 5px;
}
  }
/* ranking */
.ranking h1{
  font-size: 300%;
  color:#161b5f;
  font-style: italic;
  font-weight: 800;
  z-index: 9999;
}
.count{
  font-weight: bold;
  font-size: 120%;
}
.ttl_inner{
  padding-bottom: 20px;
}
.itembox{
  padding:50px 0 0 0;
}

.rank-disc {
    display: inline-block;
    vertical-align: top;
    width: 100%;
}
th {
    border-right: solid 3px #161b5f;
    font-weight: 700;
    text-align: center;
    line-height: 1.3;
}
td{
      padding: 15px 0px;
}
dd.text-left{
  font-size:125%;
}
.rank-disc td {
    font-size: 150%;
}
.rank-disc th {
    line-height: 55px;
}
.rank-disc tbody {
    line-height: 46px;
    font-size: 18px;
}
tbody>tr {
    border-top: solid 1px #161b5f;
}
table {
    width: 100%;
    border: solid 3px #161b5f;
}
thead {
    background: #161b5f;
    color: #fff;
}

.itembox small{
  font-size: 70%;
}
.itembox .oswald{
  font-size: 120%;
}
.box27 {
    position: relative;
    margin: 3em 0;
    padding: 1em 1em;
    border: solid 2px #131313;
    text-align: left;
    font-size: 114%
}
.box27 .box-title {
    position: absolute;
    display: inline-block;
    top: -27px;
    left: -3px;
    padding: 0 9px;
    height: 25px;
    line-height: 25px;
    font-size: 17px;
    background: #131313;
    color: #ffffff;
    font-weight: bold;
    border-radius: 5px 5px 0 0;
}
.box27 p {
    margin: 0;
    padding: 0;
}
.kutikomi th{
  padding: 10px 0px;
}

.kutikomi .oswald{
  font-size: 200%;
  color:#161b5f;
}
.pointo td{
      border-right: solid 3px #161b5f;
      padding: 15px;
}
a:hover{
  text-decoration:none;
}
#maildealer .font-150-big td{
  font-size: 150%;
}
.button {
  margin: 15px 0 0 0;
  display: inline-block;
  width: 100%;
  padding: 15px 10px;
  text-align: center;
  text-decoration: none;
  line-height: 54px;
  outline: none;
  font-weight: bold;
  font-size: 120%;
}
.button::before,
.button::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: '';
}
.button,
.button::before,
.button::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
}
.button {
  position: relative;
  z-index: 2;
  background-color: #131313;
  border: 2px solid #161b5f;
  color: #161b5f;
  line-height: 50px;
  overflow: hidden;
}
.button:hover {
  color: #131313;
}
.button::after {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.button:hover::after {
  -webkit-transform: scale(2) rotate(180deg);
  transform: scale(2) rotate(180deg);
  background: #161b5f;
}
.sougou {
    position: relative;
    right: 0;
    top: 10px;
    border-radius: 5px;
    overflow: hidden;
    background: #fff;
}
.kutibox{
    color: #333;
    border:solid 3px #013774;
    padding: 10px 5px;
    height:auto;
    font-size: 84%;
}
.kutikomi .fa, .kutikomi .fas {
    color: #161b5f;
    font-size: 125%;
}
.kaisha {
width: 100%;
}

.kaisha th,
.kaisha td {
border: 1px solid #013774;
padding: 10px 10px;
}

.kaisha td{
  font-weight: 400;
}

.kaisha th {
font-weight: bold;
text-align:left;
background-color: #cfe6ff;
width: 18%;
}
span.marker-yellow {
    background-image: linear-gradient(to top,#ffb1fc 30%,transparent 30%);
}
.box-1{
  border:solid 3px #013774;
  padding: 30px 10px 30px;
  list-style-position: inside;
  min-height: 350px;
}
.button01{
  padding: 30px 0px 70px;
}
.button01 a{
  font-size: 150%;
  font-weight: 900;
}
#ranking ul {
  padding-left: 20px;
  list-style-type: disc;
  list-style-position: outside;
  font-size: 84%;
}
.pochitto_btn {
  display: inline-block;
  width: 100%;
  padding:25px 10px;
  text-align: center;
  text-decoration: none;
  color: #fff;
  background:#31ad00;
  border-bottom:7px solid #226100;
  border-radius: 4px;
  transition: .0s;
}
.pochitto_btn:hover {
   cursor: pointer;
   text-decoration: none;
   background:#226100;
   transform: translate3d(0, 4px, 0);
   transition: .0s;
   border-bottom: none;
   color:#fff;
}
.sougou dt {
    background: #fff400;
    color: #013774;
    font-weight: bold;
    font-family: hirakaku-sans;
    width: 120px;
    height: 60px;
    float: left;
    font-size: 125%;
    text-align: center;
    padding-top: 10px;
}
.sougou dd {
    width: 240px;
    height: 60px;
    float: right;
    text-align: center;
    font-size: 34px;
    color: #131313;
}

.ttl02{
  background-color:#013774;
}
.ttl02 .container {
    padding: 15px 0px 0px;
}
.ttl02 span{
  color: #fff;
  font-size: 200%;
}
@media (max-width:1200px) {
  .itembox .oswald {
    font-size: 103%;
}
.box-1{
  min-height: 400px;
}
}
@media (max-width:991px) {
  .sougou dd {
    width: 190px;
}

#iosis h2, #sofmap h2 {
    font-size: 100%;
}
.rank-disc td {
    font-size: 105%;
}
.kaisha th, .kaisha td {
    padding: 10px 5px;
}
.mt-30 .col-sm-3{
  padding-left: 5px;
    padding-right: 5px;
}
#ranking ul {
    font-size: 81%;
}
h2 {
    font-size: 110%;
}
}
@media (max-width:767px) {

  .ranking h1 {
    font-size: 150%;
    margin-bottom: 0px;
}
.button01 a {
    font-size: 90%;
    font-weight: 900;
}
.pochitto_btn {
    padding: 10px 5px;
}
.count {
    font-size: 110%;
}
.point01 img{
  width: 7%;
}
.sougou dd {
    width: 160px;
    padding-top: 0px;
    height: 35px;
    font-size: 115%;
}
.ttl02 span {
    color: #fff;
    font-size: 150%;
    position: relative;
    margin-left: 32%;
    top: 30px;
}
.ttl02 .container {
    padding: 15px 0px 10px 5px;
}
.sougou dt {
    width: 80px;
    height: 25px;
    font-size: 94%;
    padding-top: 5px;
}
.pointo td {
    padding: 10px;
}
.ttl02 .col-sm-7 img {
    position: absolute;
    top: 3px;
}
.box-1 {
    min-height: auto;
}
.mt-30 .col-sm-3 {
    padding-top: 10px;
}
.box-1:nth-child(n + 2){
  padding-top: 10px;
}
dd img{
  width: 10%;
}
.ttl02 .col-sm-7 img {
    width: 25%;
}
#ranking ul {
    font-size: 100%;
}
.sougou {
left: 15px;
    top: -25px;
    width: 90%;
    border-radius: 5px;
    margin-top: 0px;
}
.sougou dd {
    width: 140px;
    padding-top: 0px;
    height: 25px;
    font-size: 115%;
}
.ttl02 h2 {
    left: 0px;
    top: 40px;
    margin-left: 30%;
}
.rank-disc td {
    font-size: 84%;
}
.rank-disc {
    padding-top: 15px;
}
.itembox .col-sm-7{
  padding-left: 0px;
  padding-right: 0px;
}

#ranking .col-sm-3 img {
    width: 30%;
}
.itembox .col-sm-7 {
    padding-left: 5px;
    padding-right: 5px;
    padding-top: 10px;
}
th{
font-size: 84%;
}
.kutikomi p{
  font-size: 84%;
}
#iosis h2, #sofmap h2,#dospara h2 {
    font-size: 80%;
}
#iosis .sougou, #sofmap .sougou, #dospara .sougou {
    top: -25px;
}
.itembox {
    padding: 30px 0 0 0;
}
.pt-30 .col-sm-4{
  padding-left: 0px;
  padding-right: 0px;
}
.col-sm-12{
    padding-left: 5px;
    padding-right: 5px;
}
.itembox .col-sm-5 {
    padding-left: 5px;
    padding-right: 5px;
}
.cp .col-sm-6{
  padding-left: 0px;
  padding-right: 0px;
}
}
@media (max-width:320px) {
.sougou dd {
    width: 134px;
}
.ttl02 .col-sm-7 img {
    width: 25%;
    top: 0px;
}
.sougou {
    left: 10px;
}
.ttl02 h2 {
    left: 0%;
}
}
/* footer */
footer {
  color:#fff;
  padding: 20px 0;
  text-align:center;
  background-color: #013774;
}
footer a{
  color: #fff;
}
@media (max-width:991px) {
  footer {
    font-size: 12px;
  }
}
@media (max-width:480px) {
  footer {
    font-size: 10px;
    padding-bottom: 100px;
  }
}

/*マーカーアニメーション*/
 
.marker-animation.active{
    background-position: -100% .5em;
}
 
.marker-animation {
    background-image: -webkit-linear-gradient(left, transparent 50%, rgb(255,244,0) 50%);
    background-image: -moz-linear-gradient(left, transparent 50%, rgb(255,244,0) 50%);
    background-image: -ms-linear-gradient(left, transparent 50%, rgb(255,244,0) 50%);
    background-image: -o-linear-gradient(left, transparent 50%, rgb(255,244,0) 50%);
    background-image: linear-gradient(left, transparent 50%, rgb(255,244,0) 50%);
    background-repeat: repeat-x;
    background-size: 200% .8em;
    background-position: 0 .5em;
    transition: all 2s ease;
    font-weight: bold;
}
.heading {
  text-align:center;
  position:relative;
}
.heading span {
  font-size:24px;
  display:inline-block;
  padding:0 20px;
  background-color:#fff;
  color:#cb0d0d;
  font-weight: bold;
}
.heading::after { /* ::after または:after */
  content:"";
  width:100%;
  height:5px;
  display:block;
  background-color:#cb0d0d;
  position:absolute;
  top:50%;
  left:0;
  z-index:-1;
}
