/*--------------------------------------
共通
--------------------------------------*/
:root {
    --color_border: hsla(0,0%,78%,.5);
    --color_gray: hsla(0,0%,78%,.15);
    --swl-color_hov_gray: rgba(3,2,2,.05);
    --swl-color_shadow: rgba(0,0,0,.12);
    --swl-fz--root: 3.6vw;
    --swl-fz--side: var(--swl-fz--root);
    --swl-block-margin: 2em;
    --swl-sidebar_width: 280px;
    --swl-sidebar_margin: 24px;
    --swl-pad_post_content: 0px;
    --swl-pad_container: 4vw;
    --swl-h2-margin--x: -2vw;
    --swl-box_shadow: 0 2px 4px rgba(0,0,0,.05),0 4px 4px -4px rgba(0,0,0,.1);
    --swl-img_shadow: 0 2px 8px rgba(0,0,0,.1),0 4px 8px -4px rgba(0,0,0,.2);
    --swl-btn_shadow: 0 2px 2px rgba(0,0,0,.1),0 4px 8px -4px rgba(0,0,0,.2);
    --swl-text_color--black: #333;
    --swl-text_color--white: #fff;
    --swl-fz--xs: .75em;
    --swl-fz--small: .9em;
    --swl-fz--normal: 1rem;
    --swl-fz--medium: 1.1em;
    --swl-fz--large: 1.25em;
    --swl-fz--huge: 1.6em;
    --swl-list-padding--left: 1.5em;
    --swl-list-padding--has_bg: 1em 1em 1em 1.75em
}

.container {
    font-size: initial;
}

.home-content {
    box-sizing: border-box;
    width: 100vw;
    font-family: sans-serif;
}

.home-content-area {
    box-sizing: border-box;
    margin: 3em auto;
    width: 100%;
    max-width: 900px;
}

.home-content-area[inner] {
    box-sizing: border-box;
    width: 100%;
    padding: 0 1em;
}

.blue-btn a {
    display: block;
    color: #fff;
    text-decoration: none;
    border-radius: 35px;
    background: #2C92E5;
    position: relative;
}

.blue-btn a::before {
    position: absolute;
    content: '';
    width: 12px;
    height: 12px;
    background: #fff;
    border-radius: 50%;
}

.blue-btn a::after {
    position: absolute;
    content: '';
    width: 0;
    height: 0;
    border-top: 3px solid transparent;
    border-left: 5px solid #2C92E5;
    border-bottom: 3px solid transparent;
}

.scroll-hint {
    position: relative;
}

.scroll-hint::before {
    content: "";
    position: absolute;
    top: 250px;
    left: 50%;
    transform: translateX(-50%);
    background-image: url(../images/icon/scroll-w.svg);
    background-repeat: no-repeat;
    background-size: 28%;
    width: 170px;
    height: 110px;
    border-radius: 5px;
    animation: scroll-hint 1.2s linear;
    animation-iteration-count: 2;
    z-index: 10;
}

.scroll-hint::after {
    position: absolute;
    content: "横のボタンタップで\Aスライドできます";
    white-space: pre;
    /* 改行を有効にする */
    text-align: center;
    font-weight: bold;
    font-size: .95em;
    color: #fff;
    top: 250px;
    left: 50%;
    transform: translateX(-50%);
    padding-top: 80px;
    height: 75px;
    animation: scroll-hint 1.2s linear;
    animation-iteration-count: 2;
    z-index: 10;
}

@keyframes scroll-hint {
    0% {
        transform: translateX(-35%);
        opacity: 0;
    }

    10% {
        opacity: 1;
    }

    50%,
    100% {
        transform: translateX(-53%);
        opacity: 0;
    }
}

@media (max-width : 680px) {
    .scroll-hint::before {
        background-size: 30%;
        top: 200px;
        transform: translateX(-25%);
    }

    .scroll-hint::after {
        font-size: 14px;
        content: "スクロールできます";
        top: 200px;
        transform: translateX(-15%);
    }

    @keyframes scroll-hint {
        0% {
            transform: translateX(-15%);
            opacity: 0;
        }

        10% {
            opacity: 1;
        }

        50%,
        100% {
            transform: translateX(-25%);
            opacity: 0;
        }
    }
}

.toc {
    border: initial !important;
    font-size: initial !important;
    padding: initial !important;
}

.accordion-008 {
    width: 100%;
    margin-bottom: 7px;
    background-color: #fff;
    border-radius: 5px;
    margin-top: 10px;
    border: 1px solid var(--color_border);
}
.accordion-008 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 13px 10px;
    color: #333333;
    font-weight: 600;
    cursor: pointer;
}
.accordion-008 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #c2c2c2;
    border-right: 3px solid #c2c2c2;
    content: '';
    transition: transform .3s;
}
.accordion-008[open] summary::after {
    transform: rotate(225deg);
}

/*※スプレッドは~*/
.has-border {
    border: solid 1px #333;
}
.xs-font-size,
.xs-font-size p{
    font-size: .95em !important;
}
.is-style-bg_grid {
    background-image: linear-gradient(transparent calc(100% - 1px), var(--color_gray) 50%, var(--color_gray)), linear-gradient(90deg, transparent calc(100% - 1px), var(--color_gray) 50%, var(--color_gray));
    background-repeat: repeat;
    background-size: 16px 16px;
    padding: var(--swl-box_padding);
}


/*--------------------------------------
トップイメージ
--------------------------------------*/
.main-image-area {
    box-sizing: border-box;
    width: 100%;
    height: 500px;
    background: #0065B7;
    position: relative;
    z-index: 0;
}

.main-image-area::after {
    position: absolute;
    content: '';
    top: 0;
    width: 100%;
    height: 100%;
    background: url(../images/lp/chart.jpg) 49% 0% no-repeat;
    opacity: .2;
    z-index: -1;
}

.main-image {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column;
}

.feature {
    box-sizing: border-box;
    position: absolute;
    bottom: 0;
    width: 100%;
    background: #15225194;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: -1;
}

.feature ul {
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 2em 1em;
}

.feature ul li {
    box-sizing: border-box;
    display: inline-block;
    padding: 1px 20px 5px;
    font-size: .9em;
    color: #fff;
    font-weight: bold;
    border: solid 1px #fff;
    border-radius: 3px;
}

.feature ul li:not(:first-child) {
    margin-left: 1.5em;
}

.icon-reten {
    display: inline-block;
    width: 26px;
    height: 26px;
    margin-right: 3px;
    background: url(../images/icon/check.png) 50% 50% no-repeat;
    background-size: contain;
    position: relative;
    top: 5px;
}

@media (max-width : 850px) {
    .feature ul {
        text-align: center;
        display: block;
        padding: .7em 1em;
    }

    .feature ul li {
        vertical-align: top;
        text-align: left;
        padding: 3px 10px 3px;
        width: 45%;
        margin: .5em 0;
    }

    .feature ul li:not(:first-child) {
        margin-left: initial;
    }

    .feature ul li:nth-child(odd) {
        margin-right: 5%;
    }

    .icon-reten {
        width: 20px;
        height: 20px;
        top: 3px;
    }
}

@media (max-width : 480px) {
    .feature ul li {
        font-size: .8em;
        width: 48%;
    }

    .feature ul li:nth-child(odd) {
        margin-right: 2%;
    }
}

/*トップデザイン*/
.title-phrase {
    margin-top: 90px;
    font-size: 20px;
    font-weight: bold;
    color: #0058A0;
    position: relative;
    top: 15px;
    left: 145px;
    z-index: 1;
}

.title-phrase::before {
    position: absolute;
    content: '';
    top: -65px;
    left: -120px;
    width: 450px;
    height: 100px;
    background: url(../images/lp/selection.png) 50% 0% no-repeat;
    background-size: contain;
    z-index: -1;
}

.main-title-in {
    width: 900px;
    height: fit-content;
    padding: 20px 0;
    display: flex;
    align-items: center;
    position: relative;
    z-index: 0;
}

.main-title-in::before {
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    background: #031d7b;
    transform: skewX(-25deg);
    opacity: .6;
    z-index: -1;
}

.main-title-in::after {
    position: absolute;
    content: '';
    top: 6px;
    left: -15px;
    width: 100%;
    height: 100%;
    border: solid 2px #003781;
    transform: skewX(-25deg);
    z-index: -1;
}

.main-title {
    margin-top: 15px;
    margin-left: 1em;
    text-align: center;
    font-weight: bold;
    font-size: 55px;
    color: #fff;
    line-height: 1.1;
}

.str-gold {
    font-size: 55px;
    display: block;
    -webkit-text-fill-color: transparent;
    background: linear-gradient(180deg, #a8702d 0%, #c3963b 10%, #e3c24c 45%, #f0d353 50%, #e3c24c 55%, #c3963b 90%, #a8702d 100%);
    -webkit-background-clip: text;
    position: relative;
    filter: drop-shadow(2px 1px .7px #fff);
}

.title-mark {
    color: #e9c84e;
    font-size: 18px;
    line-height: 1.2;
    position: relative;
    top: 0px;
    left: 53px;
}

.title-mark::before {
    position: absolute;
    content: '';
    top: -40px;
    left: -29px;
    width: 120px;
    height: 120px;
    background: url(../images/lp/crown.png) 50% 15px no-repeat;
    background-size: contain;
    filter: drop-shadow(0 0 .1px #003781);
}

.sub-image-in {
    width: 980px;
    height: fit-content;
    position: relative;
}

.sub-phrase {
    position: absolute;
    top: 30px;
    left: 50px;
    line-height: 1.4;
    color: #fff;
    text-align: center;
}

.chart-mobile {
    position: absolute;
    bottom: -130px;
    left: 460px;
    width: 150px;
    height: 150px;
    background: url(../images/lp/mobile.png) 50% 0% no-repeat;
    background-size: contain;
    filter: drop-shadow(-15px 15px 10px #3d3d3d3d);
}

.chart-monitor {
    position: absolute;
    top: -217px;
    right: -130px;
    width: 380px;
    height: 380px;
    background: url(../images/lp/monitor.png) 50% 0% no-repeat;
    background-size: contain;
    filter: drop-shadow(15px 10px 13px #1717176b);
}

@media (max-width : 920px) {
    .main-image-area {
        height: fit-content;
    }

    .title-phrase {
        font-size: 17px;
        left: -10%;
        margin-top: 50px;
        text-align: right;
    }

    .title-phrase::before {
        top: -56px;
        left: 10%;
        width: 380px;
        height: 100px;
    }

    .main-title-in {
        width: 100%;
        height: fit-content;
        justify-content: center;
        padding: 10px 15px;
    }

    .main-title-in::before {
        transform: skewX(0deg);
    }

    .main-title-in::after {
        top: 3px;
        left: 0;
        transform: skewX(0deg);
        border: none;
        border-top: solid 2px #003781;
        border-bottom: solid 2px #003781;
    }

    .main-title {
        margin-left: 0;
        font-size: 1em;
    }
    .main-image h1{
        width: 95%;
        margin: 0 auto;
    }

    .str-gold {
        font-size: 1.5em;
        line-height: 1.3;
    }

    .title-mark {
        font-size: 14px;
        top: -1px;
        left: 19px;
    }

    .title-mark::before {
        top: -35px;
        left: -22px;
        width: 92px;
        height: 81px;
    }

    .sub-image-in {
        width: 100%;
    }

    .sub-phrase {
        position: relative;
        left: 0;
        margin-bottom: 1em;
        font-size: .95em;
    }

    .chart-mobile {
        position: relative;
        top: 140px;
        left: -125px;
        width: 100px;
        height: 100px;
        margin: 0 auto;
        z-index: 1;
    }

    .chart-monitor {
        position: relative;
        top: -80px;
        left: 0;
        width: 250px;
        height: 250px;
        margin: .5em auto 2em;
    }
}


/*--------------------------------------
ロゴスライド
--------------------------------------*/
.logo-slider {
    box-sizing: border-box;
    padding: 3em 0 2em;
    display: flex;
    overflow: hidden;
}

.slider {
    display: flex;
    animation: scroll-left 100s infinite linear .5s both;
}
.compare-bonus li{
    list-style:none;
}
.slide-eye-catch {
    width: 250px;
    height: 50px;
    min-width: 180px;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    background-position: 50% 50% !important;
}

@media (max-width : 599px) {
    .logo-slider {
        padding: 2em 0 1em;
    }

    .slide-eye-catch {
        width: 150px;
        height: 30px;
    }
}

@keyframes scroll-left {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-100%);
    }
}


/*--------------------------------------
全5項目で徹底比較
--------------------------------------*/
/*タブ*/
.tab-scroll-gide {
    font-size: .8em;
    text-align: right;
    color: #999;
    margin-bottom: 2em;
}

.tab-area-in {
    position: relative;
}

.element-scroll {
    position: absolute;
    top: 7px;
    right: 0;
    background: #fff;
    width: 25px;
    height: 25px;
    transition: .3s;
    visibility: hidden;
}

.element-scroll::after {
    position: absolute;
    content: '';
    top: 7px;
    right: 10px;
    width: 10px;
    height: 10px;
    border-top: 2px solid #bbb;
    border-right: 2px solid #bbb;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.element-scroll.active {
    visibility: visible;
}

.tab-area {
    box-sizing: border-box;
    overflow-x: auto;
    white-space: nowrap;
}

.tab-area::-webkit-scrollbar {
    width: 10px;
    height: 8px;
}

.tab-area::-webkit-scrollbar-track {
    background: #f7f7f7;
}

.tab-area::-webkit-scrollbar-thumb {
    background: #e7e7e7;
    border-radius: 50px;
}

.tab-area::-webkit-scrollbar-thumb:hover {
    background: #d2ebff;
}

.tab-switch {
    display: none;
}

.tab_label {
    display: inline-block;
    width: 190px;
    padding: 7px 10px;
    text-align: center;
    color: #999;
    font-weight: bold;
    border-bottom: solid 2px #ccc;
    cursor: pointer;
}

.tab-switch:checked+.tab_label {
    color: #2678BA;
    border-bottom: solid 2px #2678BA;
}

@media (max-width : 599px) {
    .tab-area {
        -ms-overflow-style: none;
        scrollbar-width: none;
    }

    .tab-scroll-gide {
        text-align: center;
    }

    .tab_label {
        width: fit-content;
        color: #999;
        font-size: .9em;
    }
}

/*ランキング表*/
.platform-ranking-area {
    padding: 1em 0 1.5em;
}

@media (max-width : 900px) {
    .platform-ranking-area {
        padding: 1em 1em 1.5em;
    }
}

.platform-ranking {
    box-sizing: border-box;
    width: 100%;
    position: relative;
}

.platform-ranking *,
.platform-ranking *::before,
.platform-ranking *::after {
    box-sizing: border-box;
}

.platform-table {
    width: 100%;
    overflow-x: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.cell[button] {
    width: 100%;
    max-width: 180px;
    height: 50px;
    border-bottom: solid 1px #ccc;
    position: relative;
}

.fix-btn {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 60px;
    height: 30px;
    background: #EDEDED;
    border: solid 1px #c7c7c7;
    border-bottom: none;
    font-size: .7em;
    border-radius: 5px 5px 0 0;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

.fix-btn.first {
    position: absolute;
    height: 40px;
    color: #fff;
    background: #FF9300;
    border: solid 1px #FF9300;
    border-bottom: none;
    align-items: end;
    z-index: 0;
}

.fix-btn.first::before {
    position: absolute;
    content: '';
    top: 50%;
    left: 50%;
    transform: translateY(-15px) translateX(-50%);
    width: 15px;
    height: 15px;
    background: url(../images/icon/pin.png) 50% 50% no-repeat;
    background-size: contain;
    z-index: 1;
}

.cell[tr] {
    width: max-content;
    display: grid;
    gap: 0;
    grid-auto-flow: column;
    position: relative;
}

.sticky-group .cell[td],
.cell[tr]:last-child .cell[td] {
    border-bottom: solid 1px #ccc;
}

.sticky-group .cell[td],
.cell[tr][data] .cell[td] {
    border-right: solid 1px #ccc;
}

.sticky-group:first-child .cell[td],
.cell[tr][data] .cell[td]:first-child {
    border-left: solid 1px #ccc;
}

.sticky-group {
    width: 180px;
    position: sticky;
    top: 0;
    z-index: 2;
    background: white;
}

.cell[th],
.cell[td] {
    padding: 7px 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column;
    line-height: 1.3;
}

.cell[th] {
    width: 100%;
    height: 45px;
    color: #fff;
    font-size: .85em;
    background: #2678BA;
    align-items: start;
    position: sticky;
    left: 0;
}

.cell[td] {
    width: 180px;
}

.cell[tr]:nth-child(1) .cell[td] {
    height: 180px;
}

.cell[tr]:nth-child(n+3) .cell[td] {
    min-height: 30px;
    height: auto;
    padding: 7px 5px;
    font-size: .9em;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.cell[tr]:nth-child(n+3) .cell[td][half] {
    height: 45px;
}

.cell[td] .item-data,
.cell[td] .item-data[double],
.cell[td] .item-data[circle],
.cell[td] .item-data[triangle],
.cell[td] .item-data[expire] {
    height: 30px;
    margin: 10px 0;
    z-index: 0;
}

/*スクロールと追随*/
.platform-table.scroll-hint::before {
    left: calc(50% + 50px);
}

.scroll-hint .cell[th] {
    background: linear-gradient(to right, #2678BA 178px, #2c6491 180px, #1e639b 180px);
}

@media (max-width : 680px) {
    .scroll-hint .cell[th] {
        background: linear-gradient(to right, #2678BA 148px, #2c6491 150px, #1e639b 150px);
    }
}

.scroll-hint .sticky-group:nth-child(n+2) .cell[td],
.scroll-hint .cell[tr][data] .cell[td]:nth-child(n+2) {
    background: rgba(0, 0, 0, .35);
    filter: brightness(65%);
}

.sticky-group[first] {
    position: sticky;
    left: 0;
    z-index: 3;
}

.cell[td][first] {
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 2;
}

/*スライドボタン*/
.slide-btn {
    position: absolute;
    top: 140px;
    width: 25px;
    height: 45px;
    z-index: 10;
    background: rgba(0, 0, 0, .5);
    cursor: pointer;
}

.slide-btn[right] {
    right: 0;
}

.slide-btn[left] {
    left: 0;
}

.slide-btn::before {
    position: absolute;
    content: '';
    top: calc(50% - 6px);
    width: 12px;
    height: 12px;
    border-bottom: solid 2px #fff;
}

.slide-btn[right]::before {
    right: calc(50% - 3px);
    border-right: solid 2px #fff;
    transform: rotate(-45deg);
}

.slide-btn[left]::before {
    left: calc(50% - 3px);
    border-left: solid 2px #fff;
    transform: rotate(45deg);
}

/*メダルアイコン*/
.ranking {
    box-sizing: border-box;
    display: block;
    width: 35px;
    height: 45px;
    margin: 0 auto .5em;
    position: relative;
}

.ranking[gold]::before {
    background: url(../images/icon/gold.png) center center no-repeat;
    background-size: contain;
}

.ranking[silver]::before {
    background: url(../images/icon/silver.png) center center no-repeat;
    background-size: contain;
}

.ranking[bronze]::before {
    background: url(../images/icon/bronze.png) center center no-repeat;
    background-size: contain;
}

.ranking::before {
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    background-size: contain;
}

.ranking[other] {
    color: #fff;
    margin: 0 auto 7px;
    font-size: 1.1em;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

.ranking[other]::before {
    position: absolute;
    content: '';
    width: 30px;
    height: 30px;
    aspect-ratio: 1/1;
    background: #9B9B9B;
    border-radius: 50%;
    z-index: -1;
}

.ranking-img {
    display: block;
    width: 100%;
    height: 150px;
    aspect-ratio: 7/4;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
}

.ranking-img img {
    display: block;
    width: 100%;
    height: auto;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .1), 0 4px 8px -4px rgba(0, 0, 0, .2);
}

/*評価とアイコン*/
.cell[td] .review-rating-all {
    padding: 4px 0px 0px 95px;
    top: 0;
    font-size: 1.2em;
}

.cell[td] .item-data[double]::before,
.cell[td] .item-data[circle]::before,
.cell[td] .item-data[triangle]::before,
.cell[td] .item-data[expire]::before {
    width: 35px;
    height: 35px;
    opacity: 1;
}

/*リンクボタン*/
.url-btn[ranking] {
    width: fit-content;
    padding: 7px 35px;
    font-size: .95em;
}

.url-btn[ranking]::before {
    top: 18px;
    right: 16px;
}

.url-btn[ranking]::after {
    top: 21px;
    right: 19px;
}

@media (max-width : 680px) {
    .fix-btn {
        font-size: .65em;
    }

    .fix-btn.first {
        height: 35px;
    }

    .fix-btn.first::before {
        transform: translateY(-13px) translateX(-50%);
        width: 13px;
        height: 13px;
    }

    .slide-btn {
        top: 105px;
    }

    .sticky-group {
        width: 150px;
    }

    .cell[th],
    .cell[td] {
        padding: 5px 7px;
    }

    .cell[tr]:nth-child(1) .cell[td] {
        height: 130px;
    }

    .cell[th] {
        height: 35px;
        font-size: .75em;
    }

    .cell[td] {
        width: 150px;
        font-size: .8em;
    }

    .cell[tr]:nth-child(n+6) .cell[td] {
        height: 80px;
    }

    .cell[td] .review-rating-all {
        padding: 4px 10px 0px 75px;
        font-size: 1em;
    }

    .cell[td] .star00,
    .cell[td] .star05,
    .cell[td] .star10,
    .cell[td] .star15,
    .cell[td] .star20,
    .cell[td] .star25,
    .cell[td] .star30,
    .cell[td] .star35,
    .cell[td] .star40,
    .cell[td] .star45,
    .cell[td] .star50 {
        -webkit-background-size: 70px 10px;
        background-size: 70px 10px;
    }

    .cell[td] .item-data,
    .cell[td] .item-data[double],
    .cell[td] .item-data[circle],
    .cell[td] .item-data[triangle],
    .cell[td] .item-data[expire] {
        height: 25px;
        margin: 13px 0 10px;
    }

    .cell[td] .item-data[double]::before,
    .cell[td] .item-data[circle]::before,
    .cell[td] .item-data[triangle]::before,
    .cell[td] .item-data[expire]::before {
        width: 25px;
        height: 25px;
    }

    .url-btn[ranking] a {
        padding: 7px 25px;
        border-radius: 5px;
    }

    .url-btn[ranking] a::before {
        background: none;
    }

    .url-btn[ranking] a::after {
        border: none;
    }

    .platform-table.scroll-hint::before {
        left: calc(50% + 55px);
    }

    .ranking {
        width: 40px;
        height: 50px;
    }

    .ranking::before {
        height: 28px;
    }

    .ranking[other] {
        font-size: .9em;
    }

    .ranking[other]::before {
        width: 26px;
        height: 26px;
    }

}

/*切り替え*/
.tab {
    display: none;
}

.tab.active {
    display: flex;
    animation-name: displayAnime;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
}

@keyframes displayAnime {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}


/*--------------------------------------
診断ツール
--------------------------------------*/
/*タイトル*/
.tool-title-area-in {
    color: #fff;
    width: 100%;
    height: fit-content;
    background: url(../images/lp/shindan.jpg) 50% 0 no-repeat;
    background-size: cover;
}

.shindan-description[mb] {
    display: none;
}

.tool-title-area {
    height: fit-content;
    display: flex;
    justify-content: center;
    align-items: center;
}

.shindan-title-area[result] {
    display: none;
}

.shindan-bubble {
    font-size: 1.1em;
    line-height: 1.2;
    text-align: center;
    width: 105px;
    height: 105px;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 0;
    position: relative;
    top: -4px;
    left: -15px;
}

.shindan-bubble::before {
    position: absolute;
    content: '';
    top: 4px;
    left: 7px;
    width: 100%;
    height: 100%;
    background: url(../images/icon/bubble.svg) center center no-repeat;
    background-size: contain;
    z-index: -1;
}

.shindan-human {
    width: 110px;
    height: 110px;
    position: relative;
}

.shindan-human::after {
    position: absolute;
    content: '';
    bottom: -7px;
    left: 10px;
    width: 130px;
    height: 130px;
    background: url(../images/icon/human.svg) 50% 0% no-repeat;
    background-size: contain;
}

.shindan-human.result {
    left: 55px;
}

.shindan-title-area {
    text-align: center;
}

.shindan-icon {
    display: inline-block;
    width: 40px;
    height: 40px;
    position: relative;
}

.shindan-icon::after {
    position: absolute;
    content: '';
    top: 1px;
    left: 5px;
    width: 30px;
    height: 40px;
    background: url(../images/icon/loupe.svg) 50% 100% no-repeat;
    background-size: contain;
}

.shindan-title {
    display: inline-block;
    font-size: 2em;
    line-height: 1.2;
}

@media (max-width : 599px) {
    .tool-title-area-in {
        background: url(../images/lp/shindan-mb.jpg) 50% 0 no-repeat;
        background-size: cover;
    }

    .shindan-description[mb] {
        display: block;
        width: fit-content;
        margin: 0 auto;
        padding-top: 10px;
    }

    .shindan-description[pc] {
        display: none;
    }

    .shindan-bubble {
        font-size: .85em;
        width: 80px;
        height: 80px;
        top: -4px;
        left: -15px;
    }

    .shindan-bubble::before {
        position: absolute;
        content: '';
        top: 3px;
        left: 5px;
    }

    .shindan-human {
        width: 100px;
        height: 100px;
    }

    .shindan-human::after {
        bottom: -5px;
        left: 10px;
        width: 100px;
        height: 100px;
    }

    .shindan-human.result {
        left: 0;
    }

    .shindan-icon {
        width: 30px;
        height: 30px;
    }

    .shindan-icon::after {
        top: -10px;
        left: 0px;
        width: 25px;
        height: 25px;
    }

    .shindan-icon[result]::after {
        top: 10px;
    }

    .shindan-title {
        font-size: 1.5em;
    }
}

@media (max-width : 480px) {
    .shindan-description[mb] {
        font-size: .9em;
    }

    .shindan-title {
        font-size: 1.3em;
    }
}

.tool-content-area {
    padding: 1px 5em 1em;
    background: #DFEEFA;
    border-right: solid 1px #2678BA;
    border-left: solid 1px #2678BA;
    border-bottom: solid 1px #2678BA;
}

@media (max-width : 680px) {
    .tool-content-area {
        padding: 1px 1em 1em;
        border-right: none;
        border-left: none;
    }
}

/*バー表示*/
.reserve-step {
    box-sizing: border-box;
    width: 100%;
    margin: 40px auto;
    height: 6px;
    background: #2677ba3d;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2.5em;
    position: relative;
}

.step-item {
    width: 10px;
    height: 12px;
    background: #83B0D5;
    border-radius: 50%;
    z-index: 1;
    position: relative;
}

.step-icon {
    position: absolute;
    top: 1.5em;
    width: 120px;
    font-size: .8em;
    font-weight: bold;
    color: #83B0D5;
}

.step-icon[start] {
    left: -15px;
}

.step-icon[goal] {
    left: -.85em;
}

.reserve-step::after {
    position: absolute;
    content: '';
    height: 6px;
}

.reserve-step.half::after {
    width: 50%;
    background: #2677ba96;
}

.reserve-step.goal::after {
    width: 100%;
    background: #2677ba96;
}

.step-item[start].active {
    background: #2678BA;
}

.step-item[middle].active {
    background: #2678BA;
}

.step-item[goal].active {
    background: #2678BA;
}

.step-icon[start].active {
    color: #2678BA;
}

.step-icon[goal].active {
    color: #2678BA;
}

/*入力*/
.shindan-top,
.shindan-q {
    margin-top: 2em;
}

.shindan-q {
    box-sizing: border-box;
    overflow: hidden;
    display: none;
}

.question {
    width: 100%;
    overflow: hidden;
    padding: initial !important;
    margin-bottom: initial !important;
    background: none !important;
    border: none !important;
}
.question::before{
    display: none;
}

.question.q01.active,
.question.q02[alfa].active,
.question.q02[bravo].active,
.question.q03[alfa].active,
.question.q03[bravo].active {
    height: 0;
    opacity: 0;
    pointer-events: none;
}

.question.q02[alfa].inactive,
.question.q02[bravo].inactive,
.question.q03[alfa].inactive,
.question.q03[bravo].inactive {
    height: 0;
    opacity: 0;
    transform: translateX(-50%);
    pointer-events: none;
}

.question.q01:not(.inactive):not(.active),
.question.q02[alfa]:not(.inactive):not(.active),
.question.q02[bravo]:not(.inactive):not(.active),
.question.q03[alfa]:not(.inactive):not(.active),
.question.q03[bravo]:not(.inactive):not(.active) {
    opacity: 1;
    transform: translateX(0);
    pointer-events: auto;
    transition: opacity .3s ease, transform .3s ease;
}

.q-circle {
    display: inline-block;
    color: #fff;
    font-size: .85em;
    width: 35px;
    height: 35px;
    position: relative;
    z-index: 0;
}

.q-circle::before {
    position: absolute;
    content: '';
    top: -5px;
    left: -7px;
    width: 35px;
    height: 35px;
    background: #2678BA;
    border-radius: 50%;
    z-index: -1;
}

.question-title {
    margin: 0 auto;
    padding: 5px 0;
    width: fit-content;
    color: #0058A0;
    font-size: 1.2em;
}

.blue-white-btn[shindan] {
    width: 300px;
    margin: 1em auto;
    text-align: center;
    padding: .7em 1em;
    color: #2678BA;
    border: solid 2px #2678BA;
    cursor: pointer;
}

.blue-white-btn[shindan]::before {
    top: 18px;
    right: 28px;
}

.blue-white-btn[shindan]::after {
    top: 21px;
    right: 31.3px;
}

.btn-area {
    padding: 1em 0;
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-wrap: wrap;
}

.btn-area input[type="radio"] {
    display: none
}

.radio-q {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 1em;
    padding: 10px 5px;
    width: 32%;
    max-width: 250px;
    height: 55px;
    color: #0058A0;
    background: #fff;
    border: 1px solid #0058A0;
    border-radius: 2px;
    cursor: pointer;
}

.btn-area input[type="radio"]:checked+.radio-q {
    font-weight: bold;
    background: #C1E4FF;
}

/*戻る＆送信*/
.return_btn {
    margin: 1em 0 2em;
    text-align: center;
    width: 230px;
    padding: 8px 35px;
    color: #fff;
    background: #A3A3A3;
    border: none;
    border-radius: 35px;
    cursor: pointer;
    position: relative;
}

.return_btn::before {
    position: absolute;
    content: '';
    width: 12px;
    height: 12px;
    top: 14px;
    left: 28px;
    background: #fff;
    border-radius: 50%;
}

.return_btn::after {
    position: absolute;
    content: '';
    width: 0;
    height: 0;
    top: 17px;
    left: 31px;
    border-top: 3px solid transparent;
    border-right: 5px solid #A3A3A3;
    border-bottom: 3px solid transparent;
}

.shindan-send {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.shindan-send {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.url-btn[send] {
    margin: 1em 0 2em;
    text-align: center;
    width: 230px;
    padding: 8px 35px;
    background: #4CB833;
    color: #fff;
    border-radius: 35px;
    cursor: pointer;
    position: relative;
}

.url-btn[send]::before {
    position: absolute;
    content: '';
    width: 12px;
    height: 12px;
    top: 14px;
    right: 28px;
    background: #fff;
    border-radius: 50%;
}

.url-btn[send]::after {
    position: absolute;
    content: '';
    width: 0;
    height: 0;
    top: 17px;
    right: 31px;
    border-top: 3px solid transparent;
    border-left: 5px solid #4CB833;
    border-bottom: 3px solid transparent;
}

.url-btn[send].inactive {
    opacity: .5;
    cursor: no-drop;
}

/*診断中*/
.shindan-result {
    display: none;
}

.your-result {
    margin: 0 auto;
    width: fit-content;
    color: #0058A0;
}

.your-result span {
    font-size: 1.5em;
    position: relative;
}

.your-result span::after {
    position: absolute;
    content: '';
}

.your-result.active span::after {
    content: '.';
    -webkit-animation: sending 2.3s ease-in-out;
    animation: sending 2.3s ease-in-out;
    -webkit-animation-iteration-count: infinite;
    /*繰り返し再生*/
    animation-iteration-count: infinite;
}

@keyframes sending {
    0% {
        content: '.';
    }

    40% {
        content: '..';
    }

    65% {
        content: '...';
    }

    100% {
        content: '...';
    }
}

.shindan-result-in {
    transition: 1s;
    width: 100%;
    max-width: 635px;
    margin: 0 auto;
}

.shindan-sending {
    height: 150px;
}

.result-platform {
    margin: 1.5em auto;
    display: flex;
    align-items: center;
}

.result-eye-catch {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 150px;
    aspect-ratio: 3/2;
    background: #fff;
    border: solid 1px #ccc;
}

.result-eye-catch img {
    width: 100%;
}

.result-title-area {
    margin-left: 1em;
}

.result-title-area .platform-title {
    font-size: 2.2em;
    font-weight: bold;
}

.result-title-area .title-under {
    color: #333;
    font-size: 1.3em;
}

.shindan-result .spec-traders {
    border: solid 7px #0058A0;
    width: 100%;
    margin: 0 auto 2em;
}

.shindan-result .spec-traders-title {
    padding: 0 2em;
}

.spec-traders li{
    display: block;
}
.spec-traders li::before{
    top: 16px;
}
.spec-traders li::after{
    top: 16px;
}

.shindan-result .spec-traders-title::before {
    width: 30px;
    height: 28px;
    background: url(../images/icon/light.png) 0% 0% no-repeat;
    background-size: contain;
    filter: hue-rotate(0deg) saturate(230%) brightness(65%);
}

.shindan-result .url-btn[review] {
    padding: .5em 0 1em;
}

.btn-area[restart] {
    padding: 1em 0;
    display: flex;
    justify-content: space-around;
    align-items: center;
    flex-wrap: wrap;
}

.btn-area[restart] a {
    display: block;
    width: 230px;
    margin: 1em auto;
    text-align: center;
    padding: 8px 35px;
    color: #fff;
    font-size: .9em;
    text-decoration: none;
    background: #A3A3A3;
    border: none;
    border-radius: 35px;
    position: relative;
}

.btn-area[restart] a::before {
    position: absolute;
    content: '';
    width: 12px;
    height: 12px;
    top: 13px;
    left: 28px;
    background: #fff;
    border-radius: 50%;
}

.btn-area[restart] a::after {
    position: absolute;
    content: '';
    width: 0;
    height: 0;
    top: 16px;
    left: 31px;
    border-top: 3px solid transparent;
    border-right: 5px solid #A3A3A3;
    border-bottom: 3px solid transparent;
}

@media (max-width : 670px) {
    .reserve-step {
        margin: 2em auto 0;
    }

    .question-title {
        font-size: 1em;
    }

    .blue-white-btn[shindan] {
        width: 250px;
        margin: 1em auto;
        padding: 7px;
        font-size: .9em;
    }

    .blue-white-btn[shindan]::before {
        top: 13px;
        right: 20px;
    }

    .blue-white-btn[shindan]::after {
        top: 16px;
        right: 23px;
    }

    .q-circle {
        width: 30px;
    }

    .q-circle::before {
        left: -5px;
        width: 30px;
        height: 30px;
    }

    .radio-q {
        height: 45px;
        padding: 5px;
        font-size: .8em;
    }

    .return_btn,
    .url-btn[send] {
        width: 135px;
        padding: 7px;
        font-size: .75em;
    }

    .return_btn::before {
        top: 10px;
        left: 17px;
    }

    .return_btn::after {
        top: 13px;
        left: 20px;
    }

    .url-btn[send]::before {
        top: 10px;
        right: 17px;
    }

    .url-btn[send]::after {
        top: 13px;
        right: 20px;
    }

    .result-platform {
        align-items: start;
        flex-flow: column;
    }

    .result-eye-catch {
        width: 100%;
        height: 150px;
        aspect-ratio: 5/2;
        margin-bottom: 1.5em;
    }

    .result-eye-catch img {
        max-width: 200px;
    }

    .result-title-area {
        margin-left: 0;
    }

    .result-title-area .platform-title {
        font-size: 1.8em;
        top: -5px;
    }

    .result-title-area .title-under {
        font-size: 1.1em;
    }

    .your-result span {
        font-size: 1.35em;
    }
}


/*--------------------------------------
検索ツール
--------------------------------------*/
.search-platform-area {
    width: 100%;
    background: linear-gradient(0deg, #0f3175 0%, #0f3175 15%, #3c76a6 45%, #3c76a6 50%, #3c76a6 55%, #0f3175 85%, #0f3175 100%);
    position: relative;
    z-index: 0;
}

.search-platform-area::after {
    position: absolute;
    content: '';
    top: 0;
    width: 100%;
    height: 100%;
    background: url(../images/lp/search.jpg) 50% 0% no-repeat;
    background-size: cover;
    opacity: .2;
    z-index: -1;
}

.search-platform-in {
    box-sizing: border-box;
    max-width: 800px;
    margin: 0 auto;
    padding: 2em 1em;
    text-align: center;
    color: #fff;
}

/*見出し*/
.search-bubble {
    margin: 1em auto;
    width: fit-content;
    padding: 5px 15px;
    background: #FFB100;
    border-radius: 2px;
    position: relative;
}

.search-bubble::before {
    position: absolute;
    content: '';
    bottom: calc(sin(60deg) * -18px + 5px);
    left: calc(50% - 9px);
    background: #FFB100;
    height: calc(sin(60deg) * 14px);
    /*高さ*/
    width: 18px;
    /*底辺*/
    clip-path: polygon(0 0, 100% 0%, 50% 100%);
}

.search-title-area h2 {
    margin: .5em auto 0;
    font-size: 2.3em;
    font-weight: normal;
}

.search-description {
    font-size: 1.2em;
}

/*条件設定*/
.search-tool-area {
    margin: 2em auto 0;
}

.search-tool-area .btn-area {
    justify-content: space-between;
    ;
    align-items: start;
}

.search-tool-area input[type="checkbox"] {
    display: none
}

.check-q {
    text-align: center;
    margin-bottom: 1em;
    padding: 10px 5px;
    width: 32%;
    max-width: 250px;
    font-weight: bold;
    color: #0058A0;
    background: #fff;
    border: 1px solid #0058A0;
    border-radius: 5px;
    cursor: pointer;
    position: relative;
}

.search-tool-area input[type="checkbox"]:checked+.check-q {
    background: #C1E4FF;
}

.check-q-icon {
    margin: 5px auto 10px;
    width: 80px;
    height: 48px;
}

.check-q-icon[narrowspread] {
    background: url(../images/icon/narrowspread.svg) 50% 0% no-repeat;
    background-size: contain;
}

.check-q-icon[openingbonus] {
    background: url(../images/icon/openingbonus.svg) 50% 0% no-repeat;
    background-size: contain;
}

.check-q-icon[depositbonus] {
    background: url(../images/icon/depositbonus.svg) 50% 0% no-repeat;
    background-size: contain;
}

.check-q-icon[leverage1000] {
    background: url(../images/icon/leverage1000.svg) 50% 0% no-repeat;
    background-size: contain;
}

.check-q-icon[notrouble] {
    background: url(../images/icon/notrouble.svg) 50% 0% no-repeat;
    background-size: contain;
}

.check-q-icon[highcontracting] {
    background: url(../images/icon/highcontracting.svg) 50% 0% no-repeat;
    background-size: contain;
}

/*ボタン*/
.search-send-area {
    margin: .5em auto 1em;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.search-send {
    position: relative;
}

.reset-btn {
    padding: 10px;
    width: 250px;
    border-radius: 35px;
    background: #767676;
    cursor: pointer;
}

.blue-btn[search] a {
    padding: 10px;
    width: 250px;
}

.blue-btn[search] a::before {
    top: 16px;
    right: 68px;
}

.blue-btn[search] a::after {
    top: 19px;
    right: 71px;
}

.search-find {
    width: 250px;
    margin-left: auto;
    margin-right: 0;
    position: relative;
}

.search-find:after,
.search-find:before {
    position: absolute;
    content: '';
    top: 45%;
    width: 20px;
    height: 1px;
    border-radius: 3px;
    background-color: #fff;
}

.search-find:before {
    left: 25px;
    transform: rotate(60deg);
}

.search-find:after {
    right: 25px;
    transform: rotate(-60deg);
}

.search-find .num {
    font-size: 1.2em;
    margin-right: 2px;
}

@media (max-width : 680px) {
    .search-title-area h2 {
        font-size: 1.7em;
    }

    .search-description {
        font-size: 1.1em;
    }

    .check-q {
        font-size: .9em;
        min-height: 130px;
    }

    .check-q-icon {
        margin: 5px auto 10px;
        width: 65px;
        height: 45px;
    }

    .reset-btn,
    .blue-btn[search] a {
        padding: 7px;
        width: 150px;
        font-size: .9em;
    }

    .blue-btn[search] a::before {
        top: 12px;
        right: 28px;
    }

    .blue-btn[search] a::after {
        top: 15px;
        right: 31px;
    }

    .search-find {
        width: fit-content;
        font-size: .8em;
        right: 13px;
    }

    .search-find:after,
    .search-find:before {
        width: 18px;
    }

    .search-find:before {
        left: -20px;
    }

    .search-find:after {
        right: -20px;
    }
}


/*--------------------------------------
海外FX業者を目的別で選びたい
--------------------------------------*/
.objective-platform-area {
    width: 100%;
    background: #0065B7;
    overflow: hidden;
    position: relative;
    z-index: 0;
}

.objective-platform-area::after {
    position: absolute;
    content: '';
    top: 0;
    width: 100%;
    height: 100%;
    background: url(../images/lp/objective.jpg) 50% 0% no-repeat;
    background-size: cover;
    opacity: .2;
    z-index: -1;
}

.objective-platform-in {
    box-sizing: border-box;
    max-width: 750px;
    margin: 0 auto;
    text-align: center;
    color: #fff;
}

.objective-platform-in[top] {
    box-sizing: border-box;
    padding: 2em 1em 0;
}

.objective-platform-in[bottom] {
    box-sizing: border-box;
    padding: 0 1em 3em;
}

.objective-title-in {
    width: fit-content;
    margin: 1em auto;
    padding: 20px 0;
    display: flex;
    align-items: center;
    position: relative;
    z-index: 0;
}

.objective-title-in::before {
    position: absolute;
    content: '';
    left: 6px;
    width: 100%;
    height: 100%;
    background: #004086;
    transform: skewX(-25deg);
    opacity: .6;
    z-index: -1;
}

.objective-title-in::after {
    position: absolute;
    content: '';
    top: 8px;
    left: -6px;
    width: 100%;
    height: 100%;
    border: solid 2px #004590;
    transform: skewX(-25deg);
    z-index: -1;
}

.objective-title {
    margin-top: 5px;
    margin-left: 1em;
    text-align: center;
    padding: 0 30px;
    font-size: 1.5em;
    color: #fff;
    line-height: 1.4;
}

.objective-title .hope {
    margin: 0 10px;
    padding: 2px 15px;
    font-size: .9em;
    color: #0058A0;
    position: relative;
}

.objective-title .hope::before {
    position: absolute;
    content: '';
    top: -2px;
    left: 0px;
    width: 100%;
    height: 100%;
    background: #D9EEFF;
    transform: skewX(-15deg);
    z-index: -1;
}

.objective-title .title-under {
    margin-top: 10px;
}

.objective-item-area {
    margin: 2.5em auto;
    display: flex;
    justify-content: space-between;
    align-items: start;
    flex-wrap: wrap;
    color: #0058A0;
}

.objective-item {
    width: 32%;
    max-width: 250px;
    padding: 15px;
    margin-bottom: 1em;
    color: #0058A0;
    background: #fff;
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column;
}

.objective-icon {
    margin: 5px auto 10px;
    width: 90px;
    height: 70px;
}

.objective-icon[narrowspread] {
    background: url(../images/objective/narrowspread.svg) 50% 0% no-repeat;
    background-size: contain;
}

.objective-icon[leverage] {
    background: url(../images/objective/leverage.svg) 50% 0% no-repeat;
    background-size: contain;
}

.objective-icon[scalping] {
    background: url(../images/objective/scalping.svg) 50% 0% no-repeat;
    background-size: contain;
}

.objective-icon[automatic] {
    background: url(../images/objective/automatic.svg) 50% 0% no-repeat;
    background-size: contain;
}

.objective-icon[professional] {
    background: url(../images/objective/professional.svg) 50% 0% no-repeat;
    background-size: contain;
}

.objective-icon[beginner] {
    background: url(../images/objective/beginner.svg) 50% 0% no-repeat;
    background-size: contain;
}

.objective-icon[openingbonus] {
    background: url(../images/objective/openingbonus.svg) 50% 0% no-repeat;
    background-size: contain;
}

.objective-icon[depositbonus] {
    background: url(../images/objective/depositbonus.svg) 50% 0% no-repeat;
    background-size: contain;
}

.objective-icon[swappoint] {
    background: url(../images/objective/swappoint.svg) 50% 0% no-repeat;
    background-size: contain;
}

.objective-name {
    margin: 7px auto;
    max-width: 170px;
    font-size: .9em;
    line-height: 1.4;
}

.blue-btn[objective] {
    width: 100%;
    max-width: 200px;
}

.blue-btn[objective] a {
    padding: 8px;
    font-size: .8em;
}

.blue-btn[objective] a::before {
    top: 11px;
    right: 20px;
}

.blue-btn[objective] a::after {
    top: 14px;
    right: 23px;
}

@media (max-width : 599px) {
    .objective-platform-in[top] {
        padding: 0;
    }

    .objective-title-in {
        width: 100%;
        margin: 0 auto;
    }

    .objective-title-in::before {
        left: 0;
        transform: skewX(0);
    }

    .objective-title-in::after {
        left: 0;
        border: none;
        border-bottom: solid 2px #004590;
        transform: skewX(0);
    }

    .objective-title {
        margin: 5px auto 0;
        padding: 0 1em;
        font-size: 1.2em;
        line-height: 1.7;
    }

    .objective-title .hope {
        margin: 0 5px;
        padding: 2px 10px 4px;
        font-size: .9em;
    }

    .objective-title .title-under {
        font-size: 1.25em;
    }

    .objective-icon {
        width: 80px;
        height: 60px;
    }

    .objective-item {
        padding: 10px;
    }

    .objective-name {
        font-size: .7em;
        max-width: 80px;
    }

    .blue-btn[objective] a {
        padding: 5px 10px;
        font-size: .65em;
    }

    .blue-btn[objective] a::before,
    .blue-btn[objective] a::after {
        display: none;
    }
}


/*--------------------------------------
おすすめ業者ランキング
--------------------------------------*/
/*台形周り*/
.trapezoid {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
    margin: 0 auto;
    top: -60px;
    left: 0;
    width: 94%;
    max-width: 900px;
    height: 100px;
    background: #fff;
    border-radius: 18px 18px 0 0;
    z-index: 0;
}

.trapezoid::before,
.trapezoid::after {
    position: absolute;
    content: '';
}

.trapezoid::before {
    bottom: 38px;
    left: -12px;
    border-bottom: 49px solid #fff;
    border-left: 13px solid transparent;
}

.trapezoid::after {
    bottom: 38px;
    right: -12px;
    border-bottom: 49px solid #fff;
    border-right: 13px solid transparent;
}

@media (max-width : 900px) {
    .trapezoid {
        margin: 0 auto;
        width: 93.5%;
    }
}

.recommended-rank-area {
    margin: -90px auto .5em;
}

.recommended-rank {
    box-sizing: border-box;
    margin: 0 auto;
    padding: 0 0 2em;
    text-align: center;
}

.recommended-rank:not(:first-child) {
    border-top: solid 1px #C7C7C7;
    padding: 4em 0 2em;
}

/*タイトル*/
.ribon {
    padding: 5px 15px;
    color: #fff;
    background: #367DB7;
    border: solid 3px #fff;
    position: relative;
    z-index: 0;
}

.ribon::before,
.ribon::after {
    position: absolute;
    content: '';
}

.ribon::before {
    top: 10px;
    left: -20px;
    border-width: 15px 25px 15px 10px;
    border-color: #367DB7 #367DB7 #367DB7 transparent;
    border-style: solid;
    z-index: -1;
}

.ribon::after {
    top: 10px;
    right: -20px;
    border-width: 15px 10px 15px 25px;
    border-color: #367DB7 transparent #367DB7 #367DB7;
    border-style: solid;
    z-index: -1;
}

.ribon-name {
    margin-top: .5em;
    font-size: 2em;
}

.laurel-crown-str {
    color: #A2825C;
}

.laurel-crown {
    margin: 0 auto;
    width: fit-content;
    position: relative;
}

.laurel-crown::before,
.laurel-crown::after {
    position: absolute;
    content: '';
}

.laurel-crown::before {
    top: 22px;
    left: -40px;
    width: 35px;
    height: 100%;
    background: url(../images/lp/crown-l.png) 50% 0% no-repeat;
    background-size: contain;
}

.laurel-crown::after {
    bottom: -22px;
    right: -40px;
    width: 35px;
    height: 100%;
    background: url(../images/lp/crown-r.png) 50% 0% no-repeat;
    background-size: contain;
    z-index: 1;
}

@media (max-width : 599px) {
    .ribon {
        padding: 5px 13px;
        font-size: .95em;
        border: solid 2px #fff;
    }

    .ribon::before {
        top: 11px;
        border-width: 13px 20px 13px 10px;
    }

    .ribon::after {
        top: 11px;
        border-width: 13px 10px 13px 20px;
    }

    .ribon-name {
        margin-top: .8em;
        font-size: 1.4em;
    }

    .laurel-crown::before {
        top: 25px;
        left: -30px;
        width: 30px;
    }

    .laurel-crown::after {
        bottom: -25px;
        right: -30px;
        width: 30px;
    }
}

/*コンテンツ*/
.recommended-cont {
    margin: 2em auto;
    padding-bottom: 25px;
    box-sizing: border-box;
    overflow-x: auto;
    white-space: nowrap;
}

.recommended-cont::-webkit-scrollbar {
    width: 10px;
    height: 8px;
}

.recommended-cont::-webkit-scrollbar-track {
    background: #eee;
}

.recommended-cont::-webkit-scrollbar-thumb {
    background: #d7d7d7;
    border-radius: 50px;
}

.recommended-cont::-webkit-scrollbar-thumb:hover {
    background: #d2ebff;
}

.recommended-platform {
    display: inline-block;
    vertical-align: top;
    padding: 2em 1.5em;
    width: 320px;
    border: solid 1px #ccc;
    white-space: normal;
    position: relative;
}

.recommended-platform:not(:first-child) {
    margin-left: 1em;
}

.ranking-band {
    position: absolute;
    top: 7px;
    left: -21px;
    width: 80px;
    color: #fff;
    text-align: center;
    transform: rotate(-45deg);
}

.ranking-band::before {
    position: absolute;
    content: '';
    top: 0px;
    left: 0px;
    width: 80px;
    border-width: 0 25px 25px 25px;
    border-color: transparent transparent #9B9B9B transparent;
    border-style: solid;
    z-index: -1;
}

.ranking-band[gold]::before {
    border-color: transparent transparent #B59331 transparent;
}

.ranking-band[silver]::before {
    border-color: transparent transparent #A5A6A6 transparent;
}

.ranking-band[bronze]::before {
    border-color: transparent transparent #A96729 transparent;
}

.recommended-platform h4 {
    margin: 0 auto;
    max-width: 250px;
    color: #0058A0;
    font-size: 1.25em;
    line-height: 1.4;
}

.recommended-platform .ranking-img {
    width: 100%;
    height: 80px;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}

.recommended-platform .ranking-img img {
    max-height: 100%;
    width: 100%;
    border: none;
}

.spread-data {
    max-width: 230px;
    margin: 1em auto;
    padding: 10px 5px;
    font-size: .75em;
    color: #707070;
    background: #F7F7F7;
}

.exclamation {
    display: inline-block;
    width: 13px;
    height: 13px;
    position: relative;
}

.exclamation::before {
    position: absolute;
    content: '';
    top: 2px;
    left: -10px;
    width: 13px;
    height: 13px;
    background: url(../images/icon/exclamation.png) 50% 50% no-repeat;
    background-size: contain;
    z-index: 1;
}

.point {
    color: #333;
    font-weight: bold;
}

.recommended-platform .description {
    text-align: left;
    font-size: .8em;
}

.blue-btn[recommended] {
    margin: 1.5em auto 1em;
}

.blue-btn[recommended] a,
.url-btn[recommended] a {
    padding: 10px;
    font-size: .75em;
}

.blue-btn[recommended] a::before,
.url-btn[recommended] a::before {
    top: 14px;
    right: 20px;
}

.blue-btn[recommended] a::after,
.url-btn[recommended] a::after {
    top: 17px;
    right: 23px;
}

.blue-white-btn[recommended] {
    margin-top: 3em;
    max-width: 700px;
}

@media (max-width : 599px) {
    .recommended-cont {
        padding-bottom: 0;
        -ms-overflow-style: none;
        scrollbar-width: none;
    }

    .point {
        display: block;
    }

    .blue-btn[recommended] a,
    .url-btn[recommended] a {
        padding: 5px 8px;
        font-size: .8em;
        line-height: 1.4;
    }

    .blue-btn[recommended] a::before,
    .url-btn[recommended] a::before {
        top: 17px;
        right: 22px;
    }

    .blue-btn[recommended] a::after,
    .url-btn[recommended] a::after {
        top: 20px;
        right: 25px;
    }

    .blue-white-btn[recommended] {
        font-size: .9em;
    }

    .blue-white-btn[recommended]::before {
        top: 19px;
        right: 19px;
    }

    .blue-white-btn[recommended]::after {
        top: 22px;
        right: 22px;
    }
}


/*--------------------------------------
海外FX業者を選ぶ方法
--------------------------------------*/
.choose-area {
    width: 100%;
    background: #0058A0;
    position: relative;
    z-index: 0;
}

.choose-area::before {
    position: absolute;
    content: '';
    top: 0;
    width: 100%;
    height: 100%;
    background: #004e8e;
    opacity: .7;
    z-index: -1;
}

.choose-area::after {
    position: absolute;
    content: '';
    top: 0;
    width: 100%;
    height: 100%;
    background: url(../images/lp/choose.jpg) 50% 70% no-repeat;
    background-size: cover;
    opacity: .7;
    z-index: -2;
}

.choose-in {
    box-sizing: border-box;
    max-width: 800px;
    margin: 0 auto;
    padding: 1em;
    text-align: center;
}

.choose-title-in {
    margin: 2em auto 1em;
    color: #fff;
}

.choose-bk {
    font-size: 1.1em;
}

.choose-title-in .title-top {
    width: fit-content;
    height: fit-content;
    margin: 0 auto;
    padding: 15px 45px;
    font-size: 1.25em;
    position: relative;
}

.choose-title-in .title-top::after {
    content: "";
    position: absolute;
    top: 7px;
    left: -5px;
    width: 100%;
    height: 100%;
    background: #fff;
    background: url(../images/lp/frame.svg) 50% 0% no-repeat;
    background-size: 100% 100%;
    z-index: 0;
}

.choose-title {
    margin: 10px auto;
    font-size: 2.2em;
    font-weight: normal;
}

/*3つのポイント*/
.choose-item-area {
    margin: 2em auto;
    display: flex;
    justify-content: space-between;
    align-items: start;
}

.choose-item {
    width: 32%;
    max-width: 250px;
    margin-bottom: 1em;
    background: #fff;
    border-radius: 10px;
    display: flex;
    flex-flow: column;
}

.choose-img {
    width: 100%;
    height: auto;
    aspect-ratio: 7/4;
    position: relative;
}

.choose-img::before {
    position: absolute;
    content: '';
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 10px 10px 0 0;
}

.choose-img[no1]::before {
    background: url(../images/lp/choose1.jpg) 50% 0% no-repeat;
    background-size: cover;
}

.choose-img[no2]::before {
    background: url(../images/lp/choose2.jpg) 50% 0% no-repeat;
    background-size: cover;
}

.choose-img[no3]::before {
    background: url(../images/lp/choose3.jpg) 50% 0% no-repeat;
    background-size: cover;
}

.choose-item .description {
    padding: 15px 20px;
    font-size: .9em;
    text-align: left;
}

.blue-btn[choose] {
    width: 100%;
    margin: 0 auto 20px;
    padding: 0 20px;
}

.blue-btn[choose] a {
    padding: 10px;
    font-size: .8em;
}

.blue-btn[choose] a::before {
    top: 14px;
    right: 20px;
}

.blue-btn[choose] a::after {
    top: 17px;
    right: 23px;
}

@media (max-width : 750px) {
    .choose-title-in {
        margin: 1em auto;
        color: #fff;
    }

    .choose-bk {
        display: block;
    }

    .choose-title-in .title-top {
        padding: 20px 45px;
        line-height: 1.4;
    }

    .choose-title-in .title-top::after {
        left: 0;
        background: url(../images/lp/frame-mb.svg) 50% 0% no-repeat;
        background-size: 100% 100%;
    }

    .choose-title {
        font-size: 1.8em;
    }

    .choose-item-area {
        margin: 1.5em auto;
        flex-flow: column;
    }

    .choose-item {
        width: 100%;
        max-width: 380px;
        margin: 0 auto 1em;
        flex-flow: initial;
    }

    .choose-img {
        margin: 15px;
        width: 40%;
        aspect-ratio: 1/1;
    }

    .choose-img::before {
        border-radius: 10px;
    }

    .choose-img[no1]::before {
        background: url(../images/lp/choose1.jpg) 65% 50% no-repeat;
        background-size: cover;
    }

    .choose-cont {
        width: 60%;
    }

    .choose-item .description {
        padding: 25px 15px 10px 0;
    }

    .blue-btn[choose] a {
        padding: 5px;
    }

    .blue-btn[choose] a::before,
    .blue-btn[choose] a::after {
        display: none;
    }
}


/*--------------------------------------
海外FX業者を選ぶ方法
--------------------------------------*/
.judgment-title-in .title-top {
    text-align: center;
    position: relative;
    z-index: 0;
}

.judgment-title-in .title-top span {
    padding: 5px 15px;
    color: #2678BA;
    font-weight: bold;
    background: #fff;
}

.judgment-title-in .title-top::before {
    position: absolute;
    content: '';
    top: .7em;
    left: 0;
    width: 100%;
    border-top: solid 2px #2678BA;
    z-index: -1;
}

.judgment-title-in .judgment-title {
    text-align: center;
    padding: .5em 3em;
    font-size: 1.8em;
}

.judgment-title-in .judgment-title .blue3 {
    background: linear-gradient(transparent 50%, #D9EEFF 50%);
}

.judgment-title-in .title-bottom {
    border-bottom: solid 2px #2678BA;
    margin: .5em 0 2em;
}

.judgment-cont {
    max-width: calc(800px + 1em);
    margin: 1em auto;
    padding: 0 1em;
}

.judgment-cont p {
    margin: 2em 0;
}

.judgment-point {
    max-width: 800px;
    margin: 1em auto;
    padding: 2em 0;
    display: flex;
    align-items: center;
    background: #EFF8FF;
}

.judgment-point .point {
    width: 250px;
    text-align: center;
    color: #0058A0;
    position: relative;
    top: 21px;
}

.judgment-point .point::before {
    position: absolute;
    content: '';
    top: -40px;
    left: calc(50% - 19px);
    width: 38px;
    height: 38px;
    background: url(../images/icon/finger.png) 50% 0 no-repeat;
    background-size: contain;
}

.judgment-point .point-text {
    padding: .5em .5em .5em 2em;
    border-left: solid 1px #2678ba87;
}

@media (max-width : 800px) {
    .judgment-area {
        margin-bottom: 0;
    }

    .judgment-title-in .judgment-title {
        padding: .5em 1em;
        font-size: 1.35em;
    }

    .judgment-point {
        padding: 1.5em 1em;
        flex-flow: column;
    }

    .judgment-point .point {
        height: 45px;
        top: 0;
        left: 10px;
    }

    .judgment-point .point::before {
        top: -7px;
        left: 38px;
    }

    .judgment-point .point-text {
        padding: 1.5em 0 0;
        border-left: none;
        border-top: solid 1px #2678ba87;
    }
}


/*--------------------------------------
オフショア
--------------------------------------*/
.offshore-license-area {
    padding: 1.5em 3em;
    background: #EDEDED;
}

.offshore-title-area {
    position: relative;
}

.offshore-license-bg {
    width: fit-content;
    margin: 0 auto;
    color: #fff;
    font-size: 2.5em;
    font-weight: bold;
    letter-spacing: 3px;
}

.offshore-license-title {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 20px;
    width: fit-content;
    padding: 0 45px;
    color: #0058A0;
    font-size: 1.35em;
    white-space: nowrap;
    font-weight: bold;
    text-align: center;
    border-bottom: solid 3px #2678BA;
}

.offshore-license-cont {
    margin-top: 1.5em;
}

.famous-license {
    margin: 1.5em 0 1em;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
}

.financial-license-top3 {
    box-sizing: border-box;
    width: calc(40% - 30px);
    margin-right: 30px;
    background: #fff;
}

.offshore-license-top3 {
    width: 60%;
    background: #fff;
}

.license-table {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column;
    padding: 1.5em;
    font-size: .9em;
}

.license-type {
    text-align: center;
    padding: 5px;
    color: #fff;
    background: #2678BA;
}

.license-cell[tr] {
    width: 100%;
    padding: 5px;
    border-bottom: solid 1px #c7c7c7;
}

.flag {
    display: inline-block;
    margin: 0 13px 0 10px;
    width: auto;
    height: 15px;
    aspect-ratio: 8/5;
    position: relative;
    top: 2px;
}

.flag[uk] {
    background: url(../images/icon/uk.jpg) 50% 0% no-repeat;
    background-size: contain;
}

.flag[cyprus] {
    background: url(../images/icon/cyprus.jpg) 50% 0% no-repeat;
    background-size: contain;
}

.flag[cayman] {
    background: url(../images/icon/cayman.jpg) 50% 0% no-repeat;
    background-size: contain;
}

.license-table table {
    width: 100%;
    border-top: solid 1px #c7c7c7;
    border-left: solid 1px #c7c7c7;
}

.license-table th,
.license-table td {
    padding: 5px;
    border-right: solid 1px #c7c7c7;
    border-bottom: solid 1px #c7c7c7;
}

.license-table th {
    box-sizing: border-box;
    width: 50%;
    color: #333;
    background: #f7f7f7;
}

.license-table td {
    text-align: center;
    font-size: .9em;
}

@media (max-width : 680px) {
    .offshore-license-area {
        padding: 1.5em 1em;
    }

    .offshore-license-bg {
        font-size: 1.7em;
        letter-spacing: 1px;
    }

    .offshore-license-title {
        top: 15px;
        padding: 0 25px;
        font-size: 1.1em;
        border-bottom: solid 2px #2678BA;
    }

    .famous-license {
        flex-flow: column;
    }

    .financial-license-top3 {
        width: 100%;
        margin-right: 0;
    }

    .offshore-license-top3 {
        width: 100%;
        margin-top: 1.5em;
    }

    .license-table[financial] {
        padding: 1em 1.5em 1.5em;
    }
}


/*--------------------------------------
海外FXでトレードを始める手順
--------------------------------------*/
.referral-title-area {
    overflow-x: hidden;
    padding-bottom: 20px;
}

.referral-title-in {
    box-sizing: border-box;
    width: 100%;
    height: 240px;
    background: #3aa8ff;
    position: relative;
    z-index: -1;
}

.referral-title-in::after {
    position: absolute;
    content: '';
    top: 0;
    width: 100%;
    height: 100%;
    background: url(../images/lp/referral.jpg) 50% 79% no-repeat;
    background-size: cover;
    opacity: .6;
    z-index: -2;
}

.referral-title {
    height: 100%;
    overflow: hidden;
    position: relative;
}

.referral-title::before {
    position: absolute;
    content: '';
    margin: 0 auto;
    width: 600px;
    height: auto;
    aspect-ratio: 1/1;
    top: -400px;
    left: 50%;
    transform: translateX(-50%);
    background: #0058A0;
    border-radius: 50%;
    z-index: -1;
}

.referral-title h2 {
    margin: 1em auto;
    width: fit-content;
    text-align: center;
    color: #fff;
    font-size: 1.3em;
    line-height: 2;
}

.referral-title h2 div {
    width: fit-content;
    margin: 0 auto;
    padding: 3px 0;
    font-size: 2em;
    line-height: 1.4;
    position: relative;
}

.referral-title h2 div::after {
    position: absolute;
    content: '';
    left: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
    background: #fff;
}

.referral-man {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-370px);
    width: 175px;
    height: 210px;
    background: url(../images/lp/man.png) 0% 100% no-repeat;
    background-size: contain;
}

.referral-woman {
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translateX(140px);
    width: 275px;
    height: 210px;
    background: url(../images/lp/woman.png) 0% 100% no-repeat;
    background-size: contain;
}

/*コンテンツ*/
.referral-in {
    max-width: calc(900px + 2em);
    padding: 0 1em;
}

.referral-cont {
    max-width: calc(800px + 2em);
    margin: 0 auto;
    padding: 0 1em 1em;
}

.referral-cont p {
    margin: 2em 0;
}

.referral-flow {
    margin: 0 auto;
    padding: 2em 0 7em;
    overflow-x: auto;
    white-space: nowrap;
}

.referral-flow::-webkit-scrollbar {
    width: 10px;
    height: 8px;
}

.referral-flow::-webkit-scrollbar-track {
    background: #eee;
}

.referral-flow::-webkit-scrollbar-thumb {
    background: #d7d7d7;
    border-radius: 50px;
}

.referral-flow::-webkit-scrollbar-thumb:hover {
    background: #d2ebff;
}

.flow-step-in {
    display: inline-block;
    vertical-align: top;
    text-align: center;
    width: 240px;
    min-height: 330px;
    height: fit-content;
    white-space: wrap;
    padding: 1em 1em 0;
    background: #DFEEFA;
    position: relative;
}

.flow-step-in:not(:first-child) {
    margin-left: 40px;
}

.flow-step-in:not(:last-child)::after {
    position: absolute;
    content: '';
    top: 85px;
    right: calc(-50px - 10px);
    border-width: 85px 0 85px 60px;
    border-color: transparent transparent transparent #0058A0;
    border-style: solid;
    z-index: 1;
}

.flow-step {
    margin: 0 auto;
    width: 45px;
    height: 45px;
    color: #fff;
    font-size: .9em;
    line-height: 1.2;
    position: relative;
    top: -30px;
    z-index: 0;
}

.flow-step::before {
    position: absolute;
    content: '';
    top: -25%;
    left: 50%;
    transform: translateX(-50%);
    width: 55px;
    height: 55px;
    background: #2678BA;
    border-radius: 50%;
    z-index: -1;
}

.step-num {
    display: block;
    font-size: 1.2em;
}

.flow-title {
    font-weight: bold;
    transform: translateY(-50%);
}

.flow-img {
    width: 85px;
    height: 85px;
    margin: 0 auto 1em;
    position: relative;
}

.flow-img::before {
    position: absolute;
    content: '';
    width: 85px;
    height: 75px;
    left: 0;
}

.flow-img[S01]::before {
    height: 80px;
    background: url(../images/icon/step01.png) 50% 0% no-repeat;
    background-size: contain;
}

.flow-img[S02]::before {
    background: url(../images/icon/step02.png) 50% 0% no-repeat;
    background-size: contain;
}

.flow-img[S03]::before {
    background: url(../images/icon/step03.png) 50% 0% no-repeat;
    background-size: contain;
}

.flow-img[S04]::before {
    background: url(../images/icon/step04.png) 50% 0% no-repeat;
    background-size: contain;
}

.flow-cont {
    box-sizing: border-box;
    width: 100%;
    text-align: left;
    font-size: .9em;
    white-space: pre-wrap;
    margin-bottom: 50px;
}

.flow-description {
    box-sizing: border-box;
    position: absolute;
    top: 18em;
    left: 0;
    width: calc(100% - 2em);
    margin: 1em;
    padding: 1em;
    font-size: .9em;
    color: #fff;
    text-align: left;
    white-space: pre-wrap;
    background: #67A0CE;
    border-radius: 5px;
}

@media (max-width : 750px) {
    .referral-title-in {
        height: 220px;
    }

    .referral-title-in::after {
        background: url(../images/lp/referral.jpg) 48% 90% no-repeat;
        background-size: cover;
    }

    .referral-title h2 {
        margin: .7em auto;
        font-size: 1.1em;
        line-height: 1.4;
    }

    .referral-title h2 div {
        padding: 3px 0;
        font-size: 1.5em;
    }

    .referral-title::before {
        top: -465px;
    }

    .referral-man {
        left: 50%;
        transform: translateX(-185px);
        height: 160px;
    }

    .referral-woman {
        bottom: -14px;
        left: 50%;
        transform: translateX(35px);
        width: 190px;
    }

    .referral-cont {
        padding: 0;
    }

    .referral-flow {
        -ms-overflow-style: none;
        scrollbar-width: none;
    }

    .flow-step-in {
        width: 190px;
    }

    .flow-step-in:not(:first-child) {
        margin-left: 15px;
    }

    .flow-step-in:not(:last-child)::after {
        top: 120px;
        right: -35px;
        border-width: 55px 0 55px 35px;
    }

    .flow-step {
        width: 40px;
        height: 40px;
        font-size: .75em;
    }

    .flow-step::before {
        width: 50px;
        height: 50px;
    }

    .flow-cont {
        font-size: .8em;
    }

    .flow-description {
        font-size: .8em;
        top: 20.5em;
    }
}


/*--------------------------------------
過去に出金トラブルを起こした海外FX業者
--------------------------------------*/
.warning-title-in {
    box-sizing: border-box;
    width: 100%;
    height: 270px;
    background: #07253e;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: -1;
}

.warning-title-in::before {
    position: absolute;
    content: '';
    top: 0;
    width: 100%;
    height: 100%;
    background: url(../images/lp/warning-bg.jpg) 50% 2% no-repeat;
    background-size: cover;
    opacity: .5;
    z-index: -2;
}

.warning-title-in::after {
    position: absolute;
    content: '';
    top: 0;
    width: 90%;
    height: 90%;
    background: url(../images/lp/barbedwire.png) 50% 50% no-repeat;
    background-size: contain;
    z-index: -2;
}

.warning-title-in h2 {
    text-align: center;
}

.warning {
    margin: 0 auto 15px;
    padding: 0 0 5px !important;
    width: fit-content;
    width: 290px;
    font-size: .85em;
    color: #000 !important;
    background: none !important;
    position: relative;
    left: 10px;
}

.warning::before {
    position: absolute;
    content: '';
    top: -4px;
    left: -10px;
    width: 100%;
    height: 100%;
    background: url(../images/lp/warning.png) 50% 55% no-repeat;
    background-size: contain;
    z-index: -1;
}

.warning-title {
    font-size: 1.35em;
    font-weight: normal;
    color: #fff;
    line-height: 1.2;
}

/*コンテンツ*/
.warning-in {
    box-sizing: border-box;
    width: 100%;
    background: #00213d;
    padding: 2em 0 0;
    position: relative;
    z-index: -1;
}

.warning-in::before {
    position: absolute;
    content: '';
    top: 0;
    width: 100%;
    height: 100%;
    background: url(../images/lp/stone.jpg) 50% 0% no-repeat;
    background-size: cover;
    opacity: .3;
    z-index: -2;
}

.warning-cont {
    max-width: calc(800px + 2em);
    margin: 0 auto;
    padding: 0 1em;
    color: #fff;
}

.warning-cont p {
    margin: 2em 0 0;
    line-height: 1.8;
}

.warning-corporation-in {
    max-width: calc(900px + 2em);
    margin: 0 auto;
    padding: 2em 1em 5em;
}

.warning-corporation {
    padding: 2em;
    background: #c7c7c7;
    border-radius: 10px;
    position: relative;
    overflow: hidden;
}

.warning-corporation:not(:last-child) {
    margin-bottom: 2em;
}

.warning-corporation-tab {
    position: absolute;
    top: 0;
    right: 2em;
    padding: 3px 20px 3px 15px;
    font-weight: bold;
    color: #fff;
    background: #657083;
    border-radius: 0 0 5px 5px;
    z-index: 0;
}

.warning-corporation-tab::before {
    position: absolute;
    content: '';
    top: -16px;
    left: -35px;
    width: 5%;
    height: 50%;
    border-width: 0px 30px 33px 0;
    border-color: transparent #657083 transparent transparent;
    border-style: solid;
    z-index: -1;
}

.warning-corporation-name-in {
    display: flex;
    position: relative;
}

.warning-label {
    position: absolute;
    top: 32px;
    left: 5px;
    padding: 2px 7px;
    font-size: .75em;
    font-weight: bold;
    color: #DD0000;
    border: solid 1px #DD0000;
    transform: rotate(-35deg);
}

.warning-corporation-img {
    box-sizing: border-box;
    width: 100%;
    max-width: 270px;
    min-width: 270px;
    height: 110px;
}

.warning-corporation-img[gemforex] {
    background: url(../images/lp/gemforex.jpg) 50% 50% no-repeat;
    background-size: contain;
}

.warning-corporation-img[bacapital] {
    background: url(../images/lp/bacapital.jpg) 50% 50% no-repeat;
    background-size: contain;
}

.warning-corporation-img[fxsuit] {
    background: url(../images/lp/fxsuit.jpg) 50% 50% no-repeat;
    background-size: contain;
}

.warning-corporation-img[xlntrade] {
    background: url(../images/lp/xlntrade.jpg) 50% 50% no-repeat;
    background-size: contain;
}

.warning-corporation-img[fxfair] {
    background: url(../images/lp/fxfair.jpg) 50% 50% no-repeat;
    background-size: contain;
}

.warning-corporation-name {
    width: 100%;
    height: fit-content;
    padding: 7px 15px 3px;
    font-size: 1.3em;
    font-weight: bold;
    position: relative;
}

.warning-corporation-name::after {
    position: absolute;
    content: '';
    bottom: 0;
    left: 0;
    width: 100%;
    height: auto;
    border-bottom: solid 2px #555;
}

.warning-corporation-cont {
    padding: 1em 15px 0;
    font-size: .9em;
    line-height: 1.8;
}

@media (max-width : 750px) {
    .warning-title-in {
        height: 220px;
    }

    .warning-title-in::after {
        width: 100%;
        height: 100%;
    }

    .warning {
        margin: 0 auto 10px;
        width: 250px;
    }

    .warning::before {
        top: -4px;
    }

    .warning-title {
        font-size: 1.2em;
        line-height: 1.3;
    }

    .warning-cont p {
        margin: 1em 0 0;
        font-size: .95em;
    }

    .warning-corporation:not(:last-child) {
        margin-bottom: 1.5em;
    }

    .warning-corporation-in {
        padding: 2em 1em 3em;
    }

    .warning-corporation {
        padding: 3em 1em 1em;
    }

    .warning-corporation-tab {
        font-size: .85em;
        right: 0;
        border-radius: 0 0 0 5px;
    }
    .warning-corporation-tab::before {
        left: -34px;
        border-width: 0px 30px 30px 0;
    }

    .warning-corporation-name-in {
        display: flex;
        flex-flow: column;
    }

    .warning-label {
        top: -95px;
        left: 50%;
        transform: rotate(-35deg) translateX(-190px);
        font-size: .8em;
    }

    .warning-corporation-img {
        margin: .5em auto;
        height: 100px;
        background-size: cover;
    }

    .warning-corporation-name {
        text-align: center;
        font-size: 1.2em;
    }

    .warning-corporation-name::after {
        bottom: 0;
        left: -1em;
        width: calc(100% + 2em);
        height: auto;
    }

    .warning-corporation-cont {
        padding: 1em .5em .5em;
    }
}


/*--------------------------------------
海外FX口座とは？
--------------------------------------*/
.explanation-area {
    margin: 3em auto 0;
}

.explanation-title-in h2 {
    font-weight: normal;
}

.explanation-phrase {
    width: fit-content;
    margin: 0 auto;
    font-size: 1.25em;
    position: relative;
}

.explanation-phrase:after,
.explanation-phrase:before {
    position: absolute;
    content: '';
    top: 40%;
    width: 30px;
    height: 1px;
    border-radius: 3px;
    background: #555;
}

.explanation-phrase:before {
    left: -1.5em;
    transform: rotate(70deg);
}

.explanation-phrase:after {
    right: -1.5em;
    transform: rotate(-70deg);
}

.explanation-title {
    width: fit-content;
    margin: 10px auto 1.2em;
    padding: 0 .5em;
    font-size: 1.85em;
    background: linear-gradient(transparent 50%, #D9EEFF 50%);
}

.explanation-title-in p {
    width: fit-content;
    margin: 1em auto;
    font-size: .95em;
}

/*コンテンツ*/
.explanation-cont-area {
    position: relative;
}

.explanation-cont-area::before {
    position: absolute;
    content: '';
    top: 0;
    left: 0;
    width: 80px;
    height: 80px;
    border-top: solid 8px #28885278;
    border-left: solid 8px #28885278;
    border-radius: 15px 0 0 0;
    z-index: 1;
}

.explanation-cont-area::after {
    position: absolute;
    content: '';
    top: 0;
    right: 0;
    width: 80px;
    height: 80px;
    border-top: solid 8px #28885278;
    border-right: solid 8px #28885278;
    border-radius: 0 15px 0 0;
    z-index: 1;
}

.explanation-cont-in {
    text-align: center;
    margin: 3em auto 0;
    padding: 2em 1em 3em;
    background: #DFF8EA;
    border-radius: 15px;
    position: relative;
}

.explanation-cont-in::before {
    position: absolute;
    content: '';
    bottom: 0;
    left: 0;
    width: 80px;
    height: 80px;
    border-bottom: solid 8px #28885278;
    border-left: solid 8px #28885278;
    border-radius: 0 0 0 15px;
    z-index: 1;
}

.explanation-cont-in::after {
    position: absolute;
    content: '';
    bottom: 0;
    right: 0;
    width: 80px;
    height: 80px;
    border-bottom: solid 8px #28885278;
    border-right: solid 8px #28885278;
    border-radius: 0 0 15px 0;
    z-index: 1;
}

.explanation-cont-in .cont-phrase {
    margin: 1em auto .5em;
    font-size: 1.2em;
    font-weight: bold;
    color: #2678BA;
}

.explanation-cont-in .cont-point[pc] {
    display: inline-block;
    margin-right: .7em;
    font-size: 1.2em;
    color: #fff;
    width: 95px;
    height: 95px;
    position: relative;
    top: -6px;
    z-index: 0;
}

.explanation-cont-in .cont-point[pc]::before {
    position: absolute;
    content: '';
    top: -50%;
    transform: translateY(12px);
    left: 0;
    width: 100%;
    height: 100%;
    background: url(../images/icon/item9.png) 50% 0% no-repeat;
    background-size: contain;
    z-index: -1;
}

.explanation-cont-in .cont-title {
    display: inline-block;
    font-size: 1.95em;
}

.explanation-cont-in .cont-point[mb] {
    display: none;
}

/*表*/
.explanation-table-in {
    width: 100%;
    max-width: 630px;
    margin: -1em auto 3em;
}

.explanation-tab {
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: end;
}

.tab-l {
    width: 50%;
    padding: 20px 5px;
    border-radius: 10px 10px 0 0;
    color: #fff;
    background: #2678BA;
}

.tab-r {
    width: 50%;
    padding: 13px 5px;
    border-radius: 10px 10px 0 0;
    color: #fff;
    background: #429EBA;
}

.explanation-table {
    border-right: solid 2px #0058A0;
    border-left: solid 2px #0058A0;
}

.explanation-table-th {
    padding: 10px 15px;
    color: #fff;
    font-weight: bold;
    background: #79A0BF;
    border-top: solid 2px #0058A0;
    border-bottom: solid 2px #0058A0;
}

.explanation-table-tr {
    display: flex;
    justify-content: center;
    align-items: center;
}

.explanation-table-td-l {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column;
    width: 50%;
    min-height: 90px;
    padding: 15px 5px;
    background: #CCEDFF;
    border-right: solid 2px #0058A0;
    position: relative;
    z-index: 0;
}

.explanation-table-td-r {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column;
    width: 50%;
    min-height: 90px;
    padding: 15px 5px;
    background: #DDF8FF;
    position: relative;
    z-index: 0;
}

.explanation-table-td-l[last],
.explanation-table-td-r[last] {
    border-bottom: solid 2px #0058A0;
}

.explanation-table-td-l::before,
.explanation-table-td-r::before {
    position: absolute;
    content: '';
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 55px;
    height: 55px;
    z-index: -1;
}

.explanation-table-td-l::before {
    filter: invert(55%) sepia(216%) saturate(250%) hue-rotate(190deg) brightness(117%) contrast(152%);
}

.explanation-table-td-r::before {
    filter: invert(55%) sepia(216%) saturate(250%) hue-rotate(193deg) brightness(118%) contrast(180%);
}

.explanation-table-td-l[double]::before,
.explanation-table-td-r[double]::before {
    background: url(../images/mark/double.png) 50% 0% no-repeat;
    background-size: contain;
}

.explanation-table-td-l[triangle]::before,
.explanation-table-td-r[triangle]::before {
    background: url(../images/mark/triangle.png) 50% 0% no-repeat;
    background-size: contain;
}

.explanation-table-tr .blue1,
.explanation-table-tr .blue3 {
    font-size: 1.15em;
    font-weight: bold;
}

@media (max-width : 750px) {
    .explanation-title-in {
        padding: 0 1em;
    }

    .explanation-phrase {
        font-size: .95em;
    }

    .explanation-phrase:after,
    .explanation-phrase:before {
        top: 30%;
        width: 25px;
    }

    .explanation-title {
        margin: 0 auto 1em;
        font-size: 1.1em;
    }

    .explanation-title-in p {
        font-size: .85em;
    }

    .explanation-cont-area::before,
    .explanation-cont-area::after,
    .explanation-cont-in::before,
    .explanation-cont-in::after {
        border: none;
    }

    .explanation-cont-in .cont-phrase {
        font-size: .8em;
    }

    .explanation-cont-in .cont-title {
        font-size: 1.3em;
    }

    .explanation-cont-in .cont-point[pc] {
        display: none;
    }

    .explanation-cont-in .cont-point[mb] {
        display: block;
        width: fit-content;
        margin: .5em auto;
        padding: 0 35px;
        font-size: .9em;
        color: #fff;
        background: #3d98e1;
        border-radius: 25px;
    }

    .explanation-table-in {
        margin: 1.5em auto 0;
    }

    .tab-l {
        width: 50%;
        padding: 20px 5px;
        border-radius: 10px 10px 0 0;
        color: #fff;
        background: #2678BA;
    }

    .tab-r {
        width: 50%;
        padding: 13px 5px;
        border-radius: 10px 10px 0 0;
        color: #fff;
        background: #429EBA;
    }

    .explanation-table {
        border-right: solid 1px #0058A0;
        border-left: solid 1px #0058A0;
    }

    .explanation-table-th {
        padding: 7px 10px;
        font-size: .9em;
        border-top: solid 1px #0058A0;
        border-bottom: solid 1px #0058A0;
    }

    .explanation-table-td-l {
        min-height: 120px;
        padding: 3px 5px;
        font-size: .9em;
        border-right: solid 1px #0058A0;
    }

    .explanation-table-td-r {
        min-height: 120px;
        padding: 3px 5px;
        font-size: .9em;
    }

    .explanation-table-td-l[last],
    .explanation-table-td-r[last] {
        border-bottom: solid 1px #0058A0;
    }

    .explanation-table-tr .blue1,
    .explanation-table-tr .blue3 {
        font-size: 1.05em;
    }
}


/*--------------------------------------
結論
--------------------------------------*/
.explanation-conclusion-area {
    max-width: calc(900px + 2em);
    margin: 0 auto 2em;
    padding: 0 1em;
}

.onclusion-title {
    box-sizing: border-box;
    width: fit-content;
    margin: 0 auto 10px;
    padding: 10px 2.5em 0;
    font-size: 2.5em;
    color: #fff;
    background: #67A0CE;
    position: relative;
}

.onclusion-title::after {
    position: absolute;
    content: '';
    bottom: -138%;
    left: 0;
    width: 3%;
    height: 100%;
    border-width: 31px 3.5em 0 3.5em;
    border-color: #67A0CE transparent transparent transparent;
    border-style: solid;
}

.onclusion-cont {
    display: flex;
    justify-content: center;
    position: relative;
    margin-bottom: 2.5em;
}

.onclusion-leverage .bg-white,
.onclusion-scalping .bg-white {
    margin-bottom: 5px;
    padding: 2px 5px;
    background: #fff;
    border-radius: 3px;
}

.fx-leverage,
.fx-scalping {
    margin-top: 5px;
    font-size: 2.3em;
    font-weight: normal;
    filter: drop-shadow(2px 1px .5px #fff) drop-shadow(-2px -1px .5px #fff);
}

.onclusion-leverage,
.onclusion-scalping {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow: column;
    width: fit-content;
    height: fit-content;
    font-size: 1.2em;
    font-weight: bold;
    position: relative;
    top: 5px;
}

.onclusion-leverage {
    padding: 50px 33px;
    color: #2678BA;
    right: 75px;
}

.onclusion-scalping {
    padding: 50px 52px;
    color: #298EAD;
    left: 75px;
}

.onclusion-leverage::before,
.onclusion-leverage::after,
.onclusion-scalping::before,
.onclusion-scalping::after {
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    border-radius: 50%;
    z-index: -1;
}

.onclusion-leverage::before {
    top: -10px;
    background: #C2DDF4;
}

.onclusion-leverage::after {
    top: -14px;
    left: -5px;
    border: solid 1px #A7D0DE;
}

.onclusion-scalping::before {
    top: -10px;
    background: #CAE2EA;
}

.onclusion-scalping::after {
    top: -14px;
    left: 5px;
    border: solid 1px #A7D0DE;
}

.onclusion-man {
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 330px;
    height: 330px;
    background: url(../images/lp/human.png) 50% 0% no-repeat;
    background-size: contain;
    z-index: 1;
}

/*表*/
.onclusion-table-in {
    box-sizing: border-box;
    margin-bottom: 2em;
}

.onclusion-table-in table {
    width: 100%;
    border-top: solid 1px #c7c7c7;
    border-left: solid 1px #c7c7c7;
}

.onclusion-table-in th {
    padding: 7px 5px;
    color: #fff;
    border-right: solid 1px #c7c7c7;
    border-bottom: solid 1px #c7c7c7;
}

.onclusion-table-in th:nth-child(1) {
    background: #626262;
    width: 20%;
}

.onclusion-table-in th:nth-child(2) {
    background: #2678BA;
    width: 30%;
}

.onclusion-table-in th:nth-child(3) {
    background: #429EBA;
    width: 30%;
}

.onclusion-table-in td {
    text-align: center;
    padding: 10px 25px;
    font-size: .95em;
    border-right: solid 1px #c7c7c7;
    border-bottom: solid 1px #c7c7c7;
}

.onclusion-table-in td:first-child {
    font-weight: bold;
    background: #F7F7F7;
}

.explanation-conclusion-area p {
    margin: 1em 0;
    padding: 0 3em;
    font-size: .95em;
    line-height: 1.8;
}

@media (max-width : 700px) {
    .explanation-conclusion-area {
        overflow: hidden;
    }

    .onclusion-title {
        font-size: 1.5em;
    }

    .onclusion-title::after {
        bottom: -136%;
        border-width: 20px 3.5em 0 3.5em;
    }

    .onclusion-leverage .bg-white,
    .onclusion-scalping .bg-white {
        margin-bottom: 2px;
        padding: 0 3px;
        background: #fff;
    }

    .fx-leverage,
    .fx-scalping {
        margin-top: 0;
        font-size: 2em;
        font-weight: normal;
    }

    .onclusion-leverage,
    .onclusion-scalping {
        font-size: .75em;
        top: 15px;
    }

    .onclusion-leverage {
        padding: 25px 10px;
        color: #2678BA;
        right: 35px;
    }

    .onclusion-scalping {
        padding: 25px 23px;
        color: #298EAD;
        left: 35px;
    }

    .onclusion-leverage::before,
    .onclusion-scalping::before {
        top: -5px;
    }

    .onclusion-leverage::after {
        top: -9px;
        left: -3px;
    }

    .onclusion-scalping::after {
        top: -9px;
        left: 3px;
    }

    .onclusion-man {
        top: -5px;
        width: 200px;
        height: 200px;
    }

    .onclusion-table-in td {
        padding: 7px;
        font-size: .8em;
    }

    .explanation-conclusion-area p {
        padding: 0;
    }
}


/*--------------------------------------
テクニカルアナリスト
--------------------------------------*/
.analyst-area {
    box-sizing: border-box;
    width: 100%;
    height: 300px;
    color: #fff;
    background: #084475;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: -1;
}

.analyst-area::before {
    position: absolute;
    content: '';
    top: 0;
    width: 100%;
    height: 100%;
    background: url(../images/lp/analyst-bg.jpg) 50% 25% no-repeat;
    background-size: cover;
    opacity: .2;
    z-index: -2;
}

.analyst-title-area {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    display: flex;
    align-items: start;
    position: relative;
}

.technical-analyst {
    position: relative;
    top: -15px;
    left: -63px;
    width: fit-content;
    letter-spacing: 3px;
    line-height: 1.3;
    font-size: 1.8em;
    transform: rotate(90deg);
}

.analyst-title-in {
    position: relative;
    top: -30px;
    left: -65px;
}

.catch {
    width: fit-content;
    padding: 5px 25px;
    font-weight: bold;
    position: relative;
    left: 10px;
}

.catch::before {
    position: absolute;
    content: '';
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #0058A0;
    transform: skewX(-25deg);
    filter: drop-shadow(2px 2px 2px #1111118a);
    z-index: -1;
}

.analyst-title {
    margin-top: 18px;
    font-size: 1.8em;
    font-weight: bold;
    line-height: 1.3;
    filter: drop-shadow(2px 2px 2px #111111);
}

.strgold {
    display: block;
    font-size: 1.2em;
    -webkit-text-fill-color: transparent;
    background: linear-gradient(180deg, #a8702d 0%, #c3963b 10%, #e3c24c 45%, #f0d353 50%, #e3c24c 55%, #c3963b 90%, #a8702d 100%);
    -webkit-background-clip: text;
    letter-spacing: .5px;
}

.analyst {
    position: absolute;
    top: -103px;
    right: 70px;
    width: 330px;
    height: 330px;
    background: url(../images/lp/analyst.png) 50% 0% no-repeat;
    background-size: cover;
    filter: drop-shadow(12px 12px 12px #0000008a);
    z-index: -1;
}

.caution-area {
    width: 100%;
    position: absolute;
    bottom: 0;
    background: #06112070;
    z-index: -1;
}

.caution-in {
    max-width: 900px;
    margin: 0 auto;
    padding: 1.5em 0 1em;
    font-size: .8em;
    display: flex;
    align-items: center;
}

.caution-in div {
    text-align: center;
    width: 100px;
    height: 100%;
    font-size: .85em;
}

.caution-in p {
    padding: 0 1em;
}

.caution-icon {
    margin: 0 auto 5px;
    display: block;
    width: 38px;
    height: 38px;
    background: url(../images/lp/caution.png) 50% 0% no-repeat;
    background-size: contain;
}

/*内容*/
.analyst-cont-area {
    box-sizing: border-box;
    width: 100%;
    margin: 0 auto;
    padding: 2.5em 0;
    background: #fff;
    z-index: 0;
}

.analyst-cont-in {
    box-sizing: border-box;
    max-width: 900px;
    margin: 0 auto;
    padding: 10px;
    background: linear-gradient(90deg, #EBEBEB 0%, #EBEBEB 10%, #C4C4C4 90%, #C4C4C4 100%);
    border: solid 1px #333;
}

.analyst-cont {
    padding: 2.5em 2.5em .5em;
    background: #fff;
    border: solid 1px #333;
}

.analyst-cont p {
    font-size: .95em;
    line-height: 1.9;
    margin-bottom: 2em;
}

.analyst-data-area {
    margin: 1.5em auto;
    max-width: calc(900px + 2em);
    padding: 0 1em;
}

.analyst-data-in {
    box-sizing: border-box;
    width: 100%;
    background: #DEECF7;
    position: relative;
}

.analyst-tab {
    position: absolute;
    top: -27px;
    left: 0;
    width: fit-content;
    height: 27px;
    padding: 3px 35px;
    font-size: .85em;
    font-weight: bold;
    color: #fff;
    background: #0060A0;
    border-radius: 4px 5px 0 0;
}

.analyst-tab::after {
    position: absolute;
    content: '';
    top: 2px;
    right: -9px;
    border-width: 25px 0 0 10px;
    border-color: transparent transparent transparent #0060A0;
    border-style: solid;
}

.analyst-data {
    width: 100%;
    padding: 2em 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.analyst-image {
    width: 170px;
    height: auto;
    position: relative;
}

.analyst-image::before {
    position: absolute;
    content: '';
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    width: 80px;
    height: 80px;
    background: url(../images/lp/analyst-image.png) 50% 0% no-repeat;
    background-size: contain;
}

.analyst-comment {
    width: calc(100% - 100px);
    padding: 0 2em;
    font-size: .9em;
    border-left: solid 1px #2678ba87;
}

@media (max-width : 900px) {
    .technical-analyst {
        display: none;
    }

    .analyst-title-in {
        top: -45px;
        left: 45px;
    }

    .catch {
        font-size: .85em;
    }

    .analyst-title {
        font-size: 1.6em;
    }

    .caution-in div {
        width: 120px;
    }

    .caution-icon {
        width: 35px;
        height: 35px;
    }

    .analyst-cont-area {
        padding: 0;
    }

    .analyst-cont-in {
        box-sizing: border-box;
        max-width: 900px;
        margin: 0 auto;
        padding: 10px;
        background: linear-gradient(90deg, #EBEBEB 0%, #EBEBEB 10%, #C4C4C4 90%, #C4C4C4 100%);
        border: solid 1px #333;
    }

    .analyst-cont {
        padding: 2.5em 2.5em .5em;
        background: #fff;
        border: solid 1px #333;
    }
}

@media (max-width : 650px) {
    .analyst-title-in {
        left: 25px;
    }

    .analyst {
        right: 0;
        width: 220px;
        height: 220px;
        background: url(../images/lp/analyst-mb.png) 100% 0% no-repeat;
        background-size: contain;
    }
}

@media (max-width : 480px) {
    .analyst-area {
        height: fit-content;
        flex-flow: column;
    }

    .analyst-area::before {
        background-position: 100% 0%;
        background-size: cover;
    }

    .technical-analyst {
        display: none;
    }

    .analyst-title-in {
        margin: 2em 0;
        top: 0;
        left: 0;
        overflow: hidden;
    }

    .catch {
        font-size: .8em;
        left: -10px;
    }

    .analyst-title {
        position: relative;
        left: 10px;
        margin-top: 15px;
        font-size: 1.35em;
    }

    .analyst {
        top: -10px;
        width: 200px;
        height: 200px;
    }

    .caution-area {
        margin-top: 20px;
        position: relative;
    }

    .caution-in {
        flex-flow: column;
    }

    .caution-in div {
        display: flex;
        align-items: center;
        width: 70px;
    }

    .caution-in p {
        padding: 1em;
    }

    .caution-icon {
        width: 30px;
        height: 30px;
    }

    .analyst-cont {
        padding: 1.5em 1.5em 0;
    }

    .analyst-cont p {
        font-size: .9em;
        margin-bottom: 1.5em;
    }

    .analyst-data-area {
        margin: 3.5em auto 1.5em;
    }

    .analyst-data {
        padding: 1.5em 0;
        align-items: start;
    }

    .analyst-image {
        width: 85px;
    }

    .analyst-image::before {
        top: 0%;
        transform: translateY(0%) translateX(-50%);
        width: 55px;
        height: 55px;
    }

    .analyst-comment {
        width: calc(100% - 85px);
        padding: 0 1em 0 0;
        font-size: .8em;
        border-left: none;
    }
}


/*--------------------------------------
追随メニュー
--------------------------------------*/
.follow-menu-area {
    position: fixed;
    top: -80px;
    left: 0;
    width: 100%;
    height: 80px;
    padding: 15px;
    background: #fff;
    display: flex;
    justify-content: space-around;
    align-items: center;
    transition: .3s;
    z-index: 99999;
}

.follow-menu {
    box-sizing: border-box;
    width: 25%;
    height: 100%;
    padding: 0 10px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.follow-menu:not(:first-child) {
    border-left: dotted 1px #aaa;
}

.follow-btn {
    width: 100%;
    max-width: 230px;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 15px 5px;
    color: #333;
    font-size: .9em;
    background: #f7f7f7;
    border-radius: 5px;
    line-height: 1.2;
    cursor: pointer;
}

@media (max-width : 680px) {
    .follow-menu-area {
        top: -60px;
        height: 60px;
        padding: 10px;
    }

    .follow-menu {
        width: 22%;
        padding: 0;
    }

    .follow-menu:not(:first-child) {
        border-left: none;
    }

    .follow-btn {
        font-size: 10px;
        flex-flow: column;
    }
}

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

body {
    background: #ffffff;
    margin: 0;
    padding: 0;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.trust-card-container {
    max-width: 1000px;
    margin: 32px auto;
    padding: 24px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    animation: slideIn 0.8s ease-out forwards;
}

.trust-card {
    background: #ffffff;
    border-radius: 20px;
    padding: 32px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.trust-header {
    color: #1a1a1a;
    font-size: 32px;
    font-weight: 700;
    margin-bottom: 32px;
    letter-spacing: -0.5px;
    text-align: center;
}

.trust-reason {
    display: flex;
    margin-bottom: 32px;
    padding: 24px;
    background: #ffffff;
    border-radius: 16px;
    transition: all 0.3s ease;
    border: 1px solid rgba(0, 0, 0, 0.08);
    position: relative;
    overflow: hidden;
}

.trust-reason:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
}

.trust-reason-content {
    flex: 1;
    display: flex;
    gap: 24px;
}

.trust-reason-text {
    flex: 1;
}

.trust-reason-icon {
    width: 48px;
    height: 48px;
    margin-right: 24px;
}

.trust-reason-icon path {
    fill: url(#gradient);
}

.trust-reason-image {
    width: 200px;
    height: 150px;
    border-radius: 12px;
    object-fit: cover;
}

.trust-reason-title {
    font-size: 20px;
    font-weight: 600;
    color: #1a1a1a;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.trust-reason-description {
    font-size: 16px;
    line-height: 1.6;
    color: #666;
    margin: 0;
}

@media (max-width: 768px) {
    .trust-card-container {
        margin: 0px;
        padding: 0px;
    }

    .trust-card {
        padding: 0px;
    }

    .trust-header {
        font-size: 24px 12px;
    }

    .trust-reason {
        padding: 16px;
        flex-direction: column;
    }

    .trust-reason-content {
        flex-direction: column;
        gap: 0px;
    }

    .trust-reason-image {
        margin-top: 0px;
        margin: 0 auto;
    }

    .trust-reason-icon {
        width: 32px;
        height: 32px;
        margin-right: 16px;
    }
}

@keyframes gradientFlow {
    0% {
        background-position: 0% 50%;
    }

    50% {
        background-position: 100% 50%;
    }

    100% {
        background-position: 0% 50%;
    }
}

@keyframes revealFromLeft {
    0% {
        transform: translateX(-100px);
        opacity: 0;
    }

    100% {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes fadeUpIn {
    0% {
        transform: translateY(20px);
        opacity: 0;
    }

    100% {
        transform: translateY(0);
        opacity: 1;
    }
}


/*--------------------------------------
その他
--------------------------------------*/
body {
    margin: 0;
    padding: 0;
    background: #ffffff;
    color: #1d1d1f;
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", sans-serif;
}

.fx-container {
    margin: 0 auto;
    margin-bottom: 20px;
}

.fx-hero {
    position: relative;
    text-align: center;
    overflow: hidden;
}

.fx-title-main {
    font-size: 64px;
    font-weight: 700;
    margin: 0;
    background: linear-gradient(90deg, #1d1d1f, #007AFF);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: revealFromLeft 1s ease-out forwards;
}

.fx-title-sub {
    font-size: 24px;
    color: #86868b;
    margin: 20px 0 0;
    animation: fadeUpIn 1s ease-out 0.3s forwards;
    opacity: 0;
}

.fx-list a {
    text-decoration: none;
}

.fx-ranking {
    margin-top: 10px;
    padding: 40px;
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.05);
}

.fx-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.fx-item {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
    padding: 12px 24px;
    background: #ffffff;
    border-radius: 16px;
    transition: all 0.4s ease;
    animation: fadeUpIn 0.5s ease-out forwards;
    animation-delay: calc(var(--order) * 0.1s);
    opacity: 0;
    position: relative;
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.05);
}

.fx-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.fx-rank {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 120px;
}

.fx-rank-number {
    font-size: 24px;
    font-weight: 700;
    color: #1d1d1f;
}

.fx-crown {
    width: 32px;
    height: 32px;
}

.fx-company {
    flex: 1;
    font-size: 18px;
    font-weight: 500;
    color: #1d1d1f;
}

.fx-score {
    padding: 7px 15px;
    background: rgba(0, 122, 255, 0.1);
    border-radius: 20px;
    color: #007AFF;
    font-weight: 500;
}

/* Top 3 styles */
.fx-item:nth-child(1) {
    background: linear-gradient(90deg, #fff, #fff9e6);
    border: 1px solid rgba(255, 215, 0, 0.2);
}

.fx-item:nth-child(2) {
    background: linear-gradient(90deg, #fff, #f5f5f5);
    border: 1px solid rgba(192, 192, 192, 0.2);
}

.fx-item:nth-child(3) {
    background: linear-gradient(90deg, #fff, #fff1e6);
    border: 1px solid rgba(205, 127, 50, 0.2);
}
.home-content{
    padding-top: 0 !important;
}
@media (max-width: 768px) {
    .fx-title-main {
        font-size: 28px;
    }
    .fx-title-sub {
        font-size: 18px;
    }

    .fx-ranking {
        padding: 20px;
    }

    .fx-item {
        padding: 16px;
    }

    .fx-rank {
        min-width: 50px;
    }

    .fx-rank-number {
        font-size: 20px;
    }

    .fx-company {
        font-size: 16px;
    }
}
.is-style-bg_grid.has-border.-border01.has-xs-font-size {
    padding: 20px;
}
.is-style-bg_grid.has-border.-border01.has-xs-font-size p{
    margin-bottom: 6px;
    font-size: 14px;
}