@charset "utf-8";
/* CSS Document */

/* ------------ 基本設計 ------------ */

html, body {
  width: 100%;
  height: 100%;
}
body{
    margin:0 auto;
    font-family:'メイリオ', 'Meiryo','ＭＳ ゴシック','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
    font-size: 16px;
}
* { box-sizing: border-box;}
br.cf {
  clear: both;
}
.cf:after {
  content: "";
  display: block;
  clear: both;
}
img{ width: 100%; text-align: center;}
p { font-size: 16px; line-height: 1.7; margin-bottom: 20px;}
ul, li, dd, dl,dt {font-size:16px; line-height: 1.8;}
td, th { font-size: 16px; vertical-align: middle;}
select, input {
    padding: 5px 7px 3px;
    font-size: 16px;
    border: 1px #d0d4d9 solid;
    border-radius: 5px;info-box cf
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    cursor: pointer;
}
button { border:none;}
.pc_none {display: none;}
.red { color: #ea4242;}
.bold { font-weight: bold;}

/* ------------ 見出し ------------ */

h1 {
    margin-bottom: 20px;
    font-size: 48px;
    font-weight: bold;
    text-shadow: 2px 3px 2px rgba(50,50,50,0.4);
    color: #fff;
    letter-spacing: 2px;
    font-family:"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}
h2 { font-size: 28px; font-weight: bold; color: #082f50;}
h3 { font-size: 22px; font-weight: bold; color: #082f50;}

/* ------------ ボタン ------------ */

.search_btn { display: flex; text-align: center; flex-flow: column; }
.search_btn label, .search_btn button {
    width: 100%;
    max-width: 320px;
    margin: 0 auto;
    padding: 26px 0;
    font-size: 16px;
    line-height: 0;
    text-align: center;
    color: #fff;
    background: #f0a100;
    border-radius: 26px;
    box-shadow: 0px 2px 2px 0px rgba(0,0,0,0.4);
    text-decoration: none;
    cursor: pointer;
    position: relative;
}
.search_btn label:after, .search_btn button:after {
    content: '\f002';
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: #fff;
    position: absolute;
    right: 20px;
}

.search_btn button.refine {
    display: block;
    box-shadow: none;
    border-bottom: solid 3px #ba6000;
}

.search_btn button.reset {
    display: block;
    box-shadow: none;
    border-bottom: none;
    background: none transparent;
    color: #000;
    margin-top: 1rem;
}

.btn_official { display: flex; margin-bottom: 0;}
.btn_official a {
    width: 100%;
    max-width:  380px;
    margin: 10px auto 0;
    padding: 24px 0;
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 2px;
    line-height: 0;
    text-align: center;
    color: #fff;
    background: #ea4242;
    text-decoration: none;
    border-radius: 6px;
    border-bottom: solid 3px #c12828;
    position: relative;
}
.btn_official a:after {
    content: '\f14d';
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: #fff;
    position: absolute;
    right: 20px;
}
.btn_offi { display: flex; margin-bottom: 0;}
.btn_offi a {
    width: 100%;
    max-width:  380px;
    margin: 10px auto 0;
    padding: 24px 0;
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 2px;
    line-height: 0;
    text-align: center;
    color: #fff;
    background: #ea4242;
    text-decoration: none;
    border-radius: 6px;
    border-bottom: solid 3px #c12828;
}

/* header ---------------------------------- */

#top {
    padding: 50px 10px;
    display: block;
    text-align: center;
    background: url(../img/top_image.jpg) center center no-repeat;
    background-size: cover;
}

#top p {
    color: #fff;
    text-shadow: 2px 2px 2px rgba(50,50,50,0.4);
}

/* main ---------------------------------- */

/* ------- 国内人気No.1！海外FXならXM ------- */

.recommend_area {
    padding: 15px 10px;
    background: #fffaea;
}

.recommend {
    max-width: 750px;
    margin: 0 auto;
    padding: 0;
    border: 3px solid #ea4242;
    border-radius: 10px;
    background: #fff;
}

.recommend .info-box { margin-bottom: 0; padding: 20px;}

/*
.recommend h2 {
    padding: 10px 0;
    text-align: center;
    color: #fff;
    background: #ea4242;
}
*/

.recommend_area h2 {
    max-width: 700px;
    margin: 0 auto 20px;
    position: relative;
    text-align: center;
}

.recommend_area h2:before,
.recommend_area h2:after {
  position: absolute;
  z-index: 0;
  bottom: -10px;
  display: block;
  content: '';
  border: 1em solid #c71a1a;
}

.recommend_area h2:before {
  left: -24px;
  border-left-width: 15px;
  border-left-color: transparent;
}

.recommend_area h2:after {
  right: -24px;
  border-right-width: 15px;
  border-right-color: transparent;
}

.recommend_area h2 span {
  position: relative;
  z-index: 1;
  display: block;
    padding: 12px 10px;
  color: #fff;
  background: #ea4242;
}

.recommend_area h2 span:before,
.recommend_area h2 span:after {
  position: absolute;
  bottom: -10px;
  display: block;
  width: 0px;
  height: 0px;
  content: '';
  border-style: solid;
  border-color: #a50b0b transparent transparent transparent;
}

.recommend_area h2 span:before {
  left: 0;
  border-width: 10px 0 0 19px;
}

.recommend_area h2 span:after {
  right: 0;
  border-width: 10px 19px 0 0;
}

ul.point li:before {
    content: '\f058';
    margin-right: 6px;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: #ffb000;
}

/* ------- 並び替えセレクトボックス ------- */

.select_area {
    width: 100%;
    max-width: 750px;
    margin: 10px auto;
    text-align: right;
    position: relative;
}

.select_area:before {
    width: 0;
    height: 0;
    padding: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid #53566d;
    content: '';
    position: absolute;
    top: 17px;
    right: 12px;
    pointer-events: none;
}

.select_area select {
    width: 100%;
    max-width: 320px;
}

/* ------- 業者一覧 ------- */

#content { background: #f2f5f8;}

.cont-box {
    margin-bottom: 30px;
    padding: 20px;
    background: #fff;
    border: 1px solid #d0d4d9;
    border-radius: 10px;
}

.cont-box.rank-top {
    background: #fffaea;
    border: 3px solid #f0a100;
}

.cont-box .point { margin-bottom: 10px;}

/* 基本情報 */
.info-box { margin-bottom: 10px;}

.info-box .thum {
    width: 43%;
    margin-right: 3%;
    float: left;
    position: relative;
}

.rank-top .info-box .thum:before {
    content: '';
    background-image: url(../img/rank_top.svg);
    background-repeat: no-repeat;
    display: block;
    width: 44px;
    height: 60px;
    position: absolute;
    left: 8px;
    top: -5px;
}

.info {
    width: 54%;
    display: inline-block;
}

.info p { margin-bottom: 0;}

.info h2 { padding: 6px 0; line-height: 1.3;}

.rank-top .info h2 {
    position: relative;
    width: calc(100% + 33px);
    margin-bottom: 12px;
    padding: 0.8rem 1.5rem;
    color: #fff;
    border-radius: 100vh 0 0 100vh;
    background: #ea4242;
    -webkit-box-shadow: 3px 3px 5px rgba(0, 0, 0, .2);
    box-shadow: 3px 3px 5px rgba(0, 0, 0, .2);
}

.rank-top .info h2:before {
    position: absolute;
    bottom: -10px;
    right: 0;
    width: 0;
    height: 0;
    content: '';
    border-top: 10px solid #c12828;
    border-right: 10px solid transparent;
}

.evaluate {
    margin-bottom: 15px;
    color: #ffb413;
}

/* 比較表 */
table.list {
    width: 100%;
    max-width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    text-align: center;
    background: #fff;
}
table.list.under { margin-bottom: 8px;  border: 1px solid #d0d4d9;}

table.list th, table.list td { padding: 10px;}
table.list th{ background: #edeff1; border: 1px solid #d0d4d9;}
table.list td { border-right: 1px solid #d0d4d9; border-left: 1px solid #d0d4d9;}

/* タブエリア */

@keyframes tabAnim{
    0%{opacity:0;}
    100%{opacity:1;}
}

.tab_wrap {
    width:100%;
    max-width: 750px;
    margin: 0 auto;
    padding: 20px 0;
}

input[type="radio"] { display:none;}

.tab_area { font-size: 0; margin: 0;}
.tab_area label {
    width:25%;
    height: 52px;
    margin:0;
    padding:18px 10px;
    display:inline-block;
    color:#082f50;
    background:#c2d2e3;
    text-align:center;
    font-size:15px;
    line-height: 1.2;
    transition:ease 0.2s opacity;
    border-bottom: 2px solid #082f50;
    vertical-align: middle;
    cursor:pointer;
}

.tab_panel {
    width:100%;
    padding: 20px 0;
//    opacity:0;
//    display:none;
}

#tab1:checked ~ .tab_area .tab1_label { background:#082f50; color:#fff;}
#tab2:checked ~ .tab_area .tab2_label { background:#082f50; color:#fff;}
#tab3:checked ~ .tab_area .tab3_label { background:#082f50; color:#fff;}
#tab4:checked ~ .tab_area .tab4_label { background:#082f50; color:#fff;}

/*
#tab1:checked ~ .panel_area #panel1 {
    display:block;
    animation:tabAnim ease 0.6s forwards;
    -ms-animation:tabAnim ease 0.6s forwards;
}
#tab2:checked ~ .panel_area #panel2 {
    display:block;
    animation:tabAnim ease 0.6s forwards;
    -ms-animation:tabAnim ease 0.6s forwards;
}
#tab3:checked ~ .panel_area #panel3 {
    display:block; animation:tabAnim ease 0.6s forwards;
    -ms-animation:tabAnim ease 0.6s forwards;
}
#tab4:checked ~ .panel_area #panel4 {
    display:block; animation:tabAnim ease 0.6s forwards;
    -ms-animation:tabAnim ease 0.6s forwards;
}
*/

/* 条件検索 */

.ttl {
    font-size: 16px;
    font-weight: bold;
    color: #082f50;
}

.cont { margin-bottom: 12px;}

.checkbox li label, .radio li label {
    width: 32%;
    height: 50px;
    margin: 0 2% 2% 0;
    float: left;
    border: 1px solid #ced3dc;
    border-radius: 5px;
    text-align: center;
    line-height: 1.3;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: center;
    justify-content: center;
    display: -webkit-box;
    display: flex;
}
.checkbox li:nth-child(3) label,
.checkbox li:nth-child(6) label,
.radio li:nth-child(3) label { margin-right:0;}

.search_box.side { width: 32%; margin-right: 2%; float: left;}
.search_box.side.last { margin-right:0;}
.search_box.side .checkbox li label { width: 100%;}

.search_box input.number { width: 100%; max-width: 120px;}

.search_box input[type=checkbox],
.search_box input[type=radio] { display: none;}
.search_box input[type=checkbox]:checked + label,
.search_box input[type=radio]:checked + label {
    color: #ffffff;
    background: #f0a100;
    border: 1px solid #f0a100;
    cursor: pointer;
}

/* footer ---------------------------------- */

footer {
    padding: 8px;
    color: #fff;
    background: #082f50;
    text-align: center;
    font-size: 12px;
    font-weight: normal;
}
        .sp-only { display: none; }

/* ================== メディアクエリ ================== */

@media screen and (max-width:750px) {

    .pc_none { display: block;}
    p, ul, li, dd, dl,dt { font-size: 14px;}
    th ,td { font-size: 14px;}

    h1 { font-size: 24px; margin-bottom: 10px;}
    h2 { font-size: 20px;}
    h3 { font-size: 16px;}
    .info h2 { padding: 0;}

    #top { padding: 30px 10px;}
    #top p { font-size: 14px; margin-bottom: 10px;}

    ul.point:after { content: ""; display: block; clear: both;}

    .search_btn label, .search_btn button, .btn_official a { font-size: 15px;}

    .select_area { padding: 0 10px;}
    .select_area select {max-width: 280px;}
    .select_area:before { right: 20px;}

    .tab_area label:nth-child(2), .tab_area label:nth-child(3) { padding: 9px 10px;}
    .tab_wrap { padding: 0}
    .tab_panel { padding: 10px 0}
        .sp-only { display: none; }
    .cont-box { margin: 0 10px 30px; padding: 20px;}

    .recommend_area h2 { margin: 0 20px 20px 20px;}
    .recommend_area h2 span:before { border-width: 10px 0 0 11px;}
    .recommend_area h2 span:after { border-width: 10px 11px 0 0;}
.info-box { margin-bottom: 0;}
        .point {margin:0 0 10px;}
ul.point .pointlist {
    font-size: 11px;
}
}

@media screen and (max-width:480px) {
        .recommend .info-box { padding: 15px;}
        th ,td { font-size: 13px;}
        table.list th { padding: 6px 3px;}
        table.list td { min-width: 60px; padding: 6px 3px;}
        .evaluate { margin-bottom: 5px;}
        .cont-box { padding: 15px;}
        .tab_area label { padding: 18px 3px; font-size: 14px;}
        .tab_area label:nth-child(2), .tab_area label:nth-child(3) { padding: 9px 3px;}
        .search_box input.number { max-width: 90px;}
        ul.point li { font-size: 13px; line-height: 1.7;}
        .sp-only { display: block; }
        .rank-top .info h2 { width: calc(100% + 28px); padding: 0.6rem 1rem;}
        .rank-top .info-box .thum:before { width: 32px; height: 44px; left: 5px;}
        .info-box { margin-bottom: 0;}
        .point {margin:0 0 10px;}
.btn_offi { display: flex; margin-bottom: 0;}
.btn_offi a {
    width: 100%;
    max-width:  380px;
    margin: 10px auto 0;
    padding: 24px 0;
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 2px;
    line-height: 0;
    text-align: center;
    color: #fff;
    background: #ea4242;
    text-decoration: none;
    border-radius: 6px;
    border-bottom: solid 3px #c12828;
}
ul.point .pointlist {
    font-size: 12px;
}
}
