@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

.tablesorter {
    text-align: center
    }
    .l-mainContent__inner>.post_content{
    padding: 0 !important;
    }
    .article-image{
    margin-bottom: 20px;
    }
    table.tate .fixed01 {
    position: sticky;
    left: 0;
    color: #fff;
    background: var(--color_htag) !important;
    font-weight: bold;
    text-align: center;
    z-index: 9999;
    }
    .js-scrollable td, .js-scrollable th {
    text-align: center;
    }
    .table-container {
    margin: auto;
    max-width: 1200px;
    }
    .fa-caret-right:before {
    content: "\f0da";
    font-size: 70px;
    margin-top: 150px;
    display: block;
    margin-left: 20px;
    }
    .table-wrapper {
    max-height: 300px;
    overflow: hidden;
    transition: max-height 0.5s ease;
    }
    
    .toggle-more-checkbox {
    display: none;
    }
    
    .toggle-more-checkbox:checked + .toggle-more-label + .table-wrapper {
    max-height: none;
    }
    
    .toggle-more-label {
    background-color: #007bff;
    color: white;
    padding: 10px 20px;
    text-align: center;
    display: block;
    margin: 10px auto;
    cursor: pointer;
    }
    
    .toggle-more-checkbox:checked + .toggle-more-label::before {
    content: '閉じる';
    }
    
    .toggle-more-label::before {
    content: 'もっと見る';
    }
    
    /* 他の必要なスタイルもここに追加 */
    
    
    .tablesorter img {
    padding: 6px 0;
    vertical-align: middle;
    margin-right: 10px;
    margin-bottom: 0 !important
    }
    #compaire-table th::before,#compaire-table th::after{
    border-color: #fff transparent !important;
    }
    
    .tablesorter th {
    position: relative;
    cursor: pointer;
    text-align: left
    }
    .item th::before,.item th::after{
    display: none !important;
    }
    .item th{
    cursor: default !important;
    display: block;
    width: 160px;
    }
    
    .tablesorter th::before, .tablesorter th::after {
    content: '';
    position: absolute;
    z-index: 2;
    right: 13px;
    width: 0;
    height: 0;
    border-color: #fff transparent !important;
    pointer-events: none;
    }
    
    .tablesorter th::before {
    border-bottom-style: solid;
    border-top: 0;
    top: 28%
    }
    
    .tablesorter th::after {
    border-top-style: solid;
    border-bottom: 0;
    bottom: 30%
    }
    
    .tablesorter th.tablesorter-headerAsc:after {
    border: 0
    }
    
    .tablesorter th.tablesorter-headerAsc:before {
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%)
    }
    
    .tablesorter th.tablesorter-headerDesc:before {
    border: 0
    }
    
    .tablesorter th.tablesorter-headerDesc:after {
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%)
    }
    
    .tablesorter th.sorter-false:before,
    .tablesorter th.sorter-false:after {
    border: 0
    }
    .outline-data span {
    vertical-align: middle
    }
    .item a{
    text-align: center;
    display: block;
    }
    @media(max-width:768px) {
    .tablesorter img {
    margin-right: 0
    }
    table.tate .fixed01 {
    font-size: 14px;
    }
    .js-scrollable td, .js-scrollable th {
    white-space: nowrap;
    background-color: transparent;
    font-size: 13px;
    }
    .font-big{
    font-size: 18px;
    }
    .tablesorter-header-inner,
    .tablesorter th,
    .tablesorter td {
    font-size: 11px;
    }
    .outline-data span {
    display: block
    }
    .best {
    width: 50%
    }
    .item th{
     width: 120px !important;
    }
    .fix-table-th,#compaire-table .tablesorter-header-inner{
    width: 120px !important;
    margin: 0 auto;
    }
    #compaire-table td{
    width: 100% !important;
    }
    #compaire-table thead th{
    padding: 10px 0 !important;
    }
    }
    
    @media(max-width:340px) {
    
    .tablesorter-header-inner,
    .tablesorter th,
    .tablesorter td {
    width: 40px
    }
    }
    
    .p-termHead__desc>* {
    clear: both;
    margin-bottom: 2em;
    }
    .submit-btn input {
    max-width:300px;
    background:#fff;
    padding:11px 31px 11px 31px;
    border:solid 1px #02343b;
    text-decoration: none;
    display:block;
    margin-top:17px;
    position: relative;
    z-index: 1;
    transition: .3s;
    margin:0 auto;
    margin-top:3%;
    text-align: center;
    }
    figure {
    margin-bottom:0;
    }
    .submit-btn input:hover {
    background: #fff;
    color: #00142c;
    }
    .strong{
    font-weight: 900;
    }
    .big{
    font-size: 18px;
    }
    .swell-block-faq .faq_q:before{
    border-radius: 20px !important;
    background-color: #D55656;
    color: #fff !important;
    border-color:#D55656;
    }
    .swell-block-faq .faq_a:before{
    border-radius: 20px !important;
    color: #fff;
    background-color: #6599B7;
    }
    .post_content td{
    vertical-align: middle;
    }
    .post_content th{
     background: var(--color_htag);
     color: #fff;
    vertical-align: middle;
    }
    .post_content .swell-block-button .swell-block-button__link[data-has-icon]{
    width: 100%;
    border-radius: 3px;
    }
    .post_content .is-style-btn_solid.blue_ a{
    width: 100%;
    border-radius: 3px;
    }
    [class*=is-style-btn_] a{
    background: #4bb739;
    }
    .shiny-button{
    border-bottom: 5px solid #2f8a0a;
    }
    .is-style-btn_shiny a {
    font-size: 20px;
    }
    .gray-huki {
    display: inline-block;
    position: relative;
    padding: 0 25px;
    color: #9e9e9e;
    font-size: 18px;
    font-weight: bold;
    line-height: 1;
    letter-spacing: 1px;
    }
    .gray-huki:before {
    left: 0;
    -webkit-transform: rotate(50deg);
    transform: rotate(50deg);
    display: inline-block;
    position: absolute;
    top: 50%;
    width: 20px;
    height: 3px;
    border-radius: 3px;
    background-color: #9e9e9e;
    content: "";
    }
    .gray-huki:after {
    right: 0;
    -webkit-transform: rotate(-50deg);
    transform: rotate(-50deg);
    display: inline-block;
    position: absolute;
    top: 50%;
    width: 20px;
    height: 3px;
    border-radius: 3px;
    background-color: #9e9e9e;
    content: "";
    }
    @media (max-width: 768px){
    .gray-huki {
    font-size: 16px;
    }
    }
    .button-top {
    margin-bottom: 3px;
    }
    @media (min-width: 960px){
    #main_content .p-toc {
    width: 100%;
    }
    }
    /* タイムライン装飾 */
    .entry-content .tl {
    margin: 1em 0;
    }
    .tl_marker.main-bdr.main-bc {
    border-color: var(--color_htag);
    }
    .tl {
    margin: 0 auto;
    display: block;
    text-align: center;
    }
    .tl-content {
    position: relative;
    padding: 0 0 1.5em 1.8em;
    }
    .tl-content:before {
    content: "";
    width: 3px;
    background: #ccd5db;
    display: block;
    position: absolute;
    top: 24px;
    bottom: 0;
    left: 6px;
    }
    .tl_marker {
    content: "";
    display: block;
    position: absolute;
    top: 6px;
    left: 0;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    border: solid 3px;
    }
    .tl-content:not(:first-of-type):not(:last-of-type) .tl_marker {
    background: transparent;
    }
    
    .tl-content:last-of-type:before {
    content: none;
    }
    .tl_label {
    padding-top: 2px;
    color: #90969a;
    font-size: 14px;
    font-weight: bold;
    }
    .tl_title {
    font-size: 1.1em;
    font-weight: bold;
    line-height: 1.5;
    margin-bottom: 10px;
    }
    .tl_main {
    margin-top: 0.5em;
    padding: 0 0 1.5em;
    font-size: 0.9em;
    line-height: 1.6;
    border-bottom: dashed 1px #ccd5db;
    }
    .main-bc{
    background: var(--color_htag);
    }
    /* 余白の調整 */
    .tl_main > * {
    margin: 0.7em 0 0;
    }
    .tl_main > ul,
    .tl_main > ol {
    margin: 0;
    padding: 0.3em 0 0.3em 1.3em;
    border: none;
    }
    .tl_main .sng-box {
    margin-top: 1em;
    }
    .tl_main .box28,
    .tl_main .box30,
    .tl_main .box31,
    .tl_main .box32,
    .tl_main .box33 {
    margin-top: 2.3em;
    }
    .red-title{
    background: #d33 !important;
    }
    .red-border{
    border-color: #d33 !important;
    }
    .red-background{
    background: #ffd4d4 !important;
    }
    .is-style-num_circle li::before{
    background: var(--color_capbox_02) !important;
    box-shadow: none;
    }
    .red-background .is-style-num_circle li::before{
    background: #d33 !important;
    box-shadow: none;
    }
    
    /* output-article */
    .c_linkto.longc_linkto {
    max-width: 100%;
    display: table;
    }
    .longc_img {
    width: 40%;
    }
    .longc_img, .c_linkto.longc_linkto .longc_content {
    display: table-cell;
    vertical-align: middle;
    }
    .longc_img img {
    width: 100%;
    padding: 10px !important;
    margin: 0 !important;
    }
    .c_linkto .c_linkto_text {
    display: block;
    padding: 15px 13px;
    line-height: 1.6;
    }
    .longc_content {
    width: 60%;
    }
    .longc_linkto {
    margin-bottom: 1.5em;
    box-shadow: 0 1px 5px 0 rgb(0 0 0 / 25%);
    }
    .c_linkto {
    display: block;
    overflow: hidden;
    max-width: 400px;
    width: 100%;
    margin: 1em 0;
    padding: 0;
    border-radius: 3px;
    background: #fff;
    box-shadow: 0 2px 4px rgb(0 0 0 / 25%);
    color: #555;
    font-weight: bold;
    text-decoration: none !important;
    }
    
    @media(max-width:768px){
    .c_linkto .c_linkto_text {
    display: block;
    padding: 20px 13px 20px 13px;
    line-height: 1.6;
    }
    .longc_img img {
    padding: 10px 10px 0 10px;
    }
    .longc_img {
    width: 100%;
    }
    .longc_img, .c_linkto.longc_linkto .longc_content{
    display: block;
    width: 100%;
    }
    }
    .m-contents a{
    text-decoration: underline;
    font-weight: 900;
    }
    
    @media screen and (min-width: 768px){
    .c-section-widget__inner {
    padding-top: 45px;
    padding-bottom: 50px;
    }
    }
    /* .post_content div>:first-child, .post_content>:first-child{
    margin-top: 10px !important;
    } */
    .author-info__inner .tb{border-radius:3px;background:#fff;box-shadow:0 0 6px gray}.author-info.pastel-bc{padding:0}.tb{display:table;width:100%}.tb-right p{margin-bottom:0}.author-info__inner .tb-left{width:220px;border-right:2px #eaedf2 dashed;text-align:center;padding:20px 20px 20px 20px}.author-info__inner .tb-left .aut{display:block;width:100%;padding:0;vertical-align:middle;line-height:1.3}.author-info__inner .tb-left dt{font-size:19px;font-weight:bold;margin-top:25px}.author-info__inner .tb-left dd{padding-top:4px;color:#686868;font-size:15px;font-weight:bold}.tb-left,.tb-right{display:table-cell;vertical-align:middle}.author-info__inner .tb-right{width:calc(100% - 220px);padding:20px;font-size:1rem;line-height:1.7}.follow_btn{margin:17px 8px 13px 0}.author_label span{display:inline-block;position:relative;min-width:220px;max-width:100%;margin:0 0 15px;padding:6px 12px;border-radius:20px;background:#eaedf2;color:#555;font-size:16px;font-weight:bold;z-index:2;margin-bottom:20px}.author_label span:before{position:absolute;top:100%;left:33px;border:13px solid transparent;border-top:solid 10px #eaedf2;content:""}.author_label span::before{z-index:-1;top:calc(100% - 15px);left:50px;border:15px solid transparent;border-top:solid 30px #eaedf2;transform:rotate(-40deg)}.author-info__inner{margin-top:30px}.author_img{display:inline-block;width:100%;height:auto;margin:0;vertical-align:middle}.author_img img{margin-top:10px !important;border:solid 5px #dfe2e8;border-radius:50%;margin:0 auto;display: block;}.servise-deta01 .list-group{margin-bottom:80px}.btn-d{font-size:1rem;position:relative;padding:1rem;color: #fff !important;text-align: center;background:#4bb739;-webkit-box-shadow:0 5px 0 #2f8a0a;box-shadow:0 5px 0 #2f8a0a;font-weight:900;display:block;width:100%}.btn-d span{font-size:1.5rem;position:absolute;top:-1.25rem;left:calc(50% - 150px);display:block;width:300px;padding:.2rem 0;color:#d44114;border:2px solid #d44114;border-radius:100vh;background:#fff;-webkit-box-shadow:0 3px 3px rgba(0,0,0,0.2);box-shadow:0 3px 3px rgba(0,0,0,0.2)}a.btn-d span:before,a.btn-d span:after{position:absolute;left:calc(50% - 10px);content:""}.btn-d span:before{bottom:-10px;border-width:10px 10px 0 10px;border-style:solid;border-color:#d44114 transparent transparent transparent}.btn-d span:after{bottom:-7px;border-width:10px 10px 0 10px;border-style:solid;border-color:#fff transparent transparent transparent}.btn-d i{margin-right:1rem}.btn.btn-d{color:#fff;font-size:18px;}.author-info.pastel-bc{margin-bottom:30px}#toc_container p.toc_title{margin-top:30px}@media(max-width:768px){.btn.btn-c{margin-bottom:20px !important;font-size:15px;}.author-info.pastel-bc{width:100%}.author_label{margin-top:0;margin-bottom:10px}.author-info__inner{margin-bottom:30px}.author-info__inner .tb-left{width:36%;border-right:0;margin-top:30px}.author-info__inner .tb-right{width:100%;padding: 10px 10px 20px 10px}.tb-right p{text-align:center}.author-info__inner .tb{box-shadow:0 0 4px grey}.follow_btn.dfont{text-align:center;width:100%}.servise-deta01 .list-group{margin-bottom:30px}.btn-cv a{font-size:1em}}
    btn-square{display:inline-block;padding:.5em 1em;text-decoration:none;background:#4bb739;color:#FFF !important;border-bottom:solid 4px #2f8a0a;border-radius:3px;margin:0 auto;text-align:center;display:block}.btn-square:active{-webkit-transform:translateY(4px);transform:translateY(4px);border-bottom:0}.twitter-tweet.twitter-tweet-rendered{margin:0 auto}
    /*吹き出し（会話形式）[say]*/
    .say {
    display: table;
    overflow: hidden;
    width: 100%;
    margin: 1.5em 0;
    }
    
    .faceicon {
    display: table-cell;
    width: 110px;
    padding-right: 20px;
    text-align: center;
    vertical-align: top;
    }
    
    .faceicon img {
    width: 100%;
    background: #fff;
    height: auto;
    border: solid 3px #eaedf2;
    border-radius: 50%;
    }
    .faceicon span {
    font-size: 11px;
    font-weight: bold;
    margin-top: 0;
    line-height: 1;
    display: block;
    text-align: center;
    }
    .chatting {
    display: table-cell;
    position: relative;
    width: calc(100% - 100px);
    font-size: 0.95em;
    vertical-align: top;
    }
    
    .sc {
    display: inline-block;
    text-align: left;
    padding: 13px;
    font-size: 16px;
    border: solid 2px #d5d5d5;
    border-radius: 12px;
    background: #fff;
    word-break: break-word;
    }
    .sc:before {
    display: inline-block;
    position: absolute;
    top: 18px;
    left: -23px;
    border: 12px solid transparent;
    border-right: 12px solid #d5d5d5;
    content: "";
    }
    .sc:after {
    display: inline-block;
    position: absolute;
    top: 18px;
    left: -20px;
    border: 12px solid transparent;
    border-right: 12px solid #fff;
    content: "";
    }
    .sc p {
    margin: 5px 0;
    padding: 0;
    }
    
    /*吹き出し（右）*/
    .right {
    text-align: right;
    }
    .right .faceicon {
    padding: 0 0 0 20px;
    }
    .right .sc:before,
    .right .sc:after {
    right: -23px;
    left: auto;
    border: 12px solid transparent;
    border-left: 12px solid #d5d5d5;
    }
    .right .sc:after {
    right: -20px;
    border-left-color: #fff;
    }
    /* CTA_02 */
    .cat02webpage {
    position: relative;
    margin: auto;
    display: block;
    margin-top: 3%;
    width: 100%;
    height: 400px;
    background: linear-gradient(rgba(0, 95, 160, 0.85), rgba(17, 129, 191, 0.95)), url("https://o-itoma.jp/wp-content/uploads/2021/12/oitoma-cta.png");
    z-index: 1;
    -webkit-box-shadow: 0px 6px 16px 0px rgba(0, 0, 0, 0.75);
    -moz-box-shadow: 0px 6px 16px 0px rgba(0, 0, 0, 0.75);
    box-shadow: 0px 6px 16px 0px rgba(0, 0, 0, 0.3);
    }
    
    .right-triangle {
    position: absolute;
    bottom: 0%;
    right: 0%;
    height: 100%;
    width: 50%;
    background: linear-gradient(rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.6)), url("https://o-itoma.jp/wp-content/uploads/2021/12/oitoma-cta.png");
    -webkit-clip-path: polygon(100% 0, 0% 100%, 100% 100%);
    clip-path: polygon(100% 0, 0% 100%, 100% 100%);
    }
    
    .white-brand-box {
    position: absolute;
    width: 200px;
    top: 15%;
    left: 10.5%;
    z-index: 2;
    }
    
    .presents-text {
    position: absolute;
    top: 17%;
    left: 10.5%;
    color: #fff;
    font-size: 24px;
    font-weight: normal;
    }
    
    .cta02title {
    position: absolute;
    top: 33%;
    left: 10%;
    font-size: 48px;
    font-weight: 700;
    color: #ffffff;
    line-height:1.2
    }
    
    .cta02cta-button {
    position: absolute;
    width: 300px;
    display: block;
    left: 10%;
    top: 70%;
    background: #FF0000;
    border-radius: 0%;
    border: none;
    padding: 10px 20px;
    font-size: 16px;
    font-weight: 700;
    color: #ffffff;
    transition: .4s;
    }
    
    .cta02cta-button a{
    color: #fff !important;
    }
    
    .cta02cta-button:hover {
    background: #91b5fb;
    }
    
    @media(max-width:768px){
    .cta02cta-button {
    width: 80%;
    }
    .cta02cta-button{
    left: 3%;
    }
    .presents-text{
    top: 8%;
    }
    .cta02title{
    top: 31%;
    }
    }
    
    @media all and (max-width: 600px) {
    .cat02webpage {
    position: relative;
    margin: auto;
    display: block;
    margin-top: 10px;
    width: 100%;
    height: 200px;
    z-index: 1;
    }
    
    .white-brand-box {
    border: solid 3px #ffffff;
    }
    
    .presents-text {
    font-size: 15px;
    }
    
    .cta02title {
    font-size: 24px;
    }
    
    .cta02cta-button {
    font-size: 16px;
    }
    
    .branding-logo {
    border: solid 3px #ffffff;
    }
    }
    .p-termHead__desc{
    border: none;
    }
    @media(max-width:768px){
    span.c-pageTitle__inner {
    font-size: 19px;
    }
    .p-termHead__desc{
    padding: 0 !important;
    }
    }
    .memo {
    margin-bottom: 1.5em;
    padding: 1em;
    background: #fff9e5;
    color: #545454;
    }
    .memo_ttl {
    margin-bottom: 5px;
    color: #ffb36b;
    font-size: 1.2em;
    font-weight: bold;
    }
    .memo_ttl:before {
    display: inline-block;
    width: 30px;
    height: 30px;
    line-height: 30px;
    margin: 0 3px 0 0;
    border-radius: 50%;
    background: #ffb36b;
    color: #fff;
    font-family: "Font Awesome 5 Pro" !important;
    font-weight: 900 !important;
    text-align: center;
    vertical-align: middle;
    content: "\f303";
    }
    .memo.alert {
    background: #ffebeb;
    }
    .memo.alert .memo_ttl {
    color: #ff8376;
    }
    .memo.alert .memo_ttl:before {
    background: #ff8376;
    content: "\f12a";
    }
    .p-box {
    position: relative;
    background-color: #fff;
    border: 2px solid #cfd8dc;
    border-radius: 5px;
    margin: 30px 0 30px 0;
    padding: 10px 20px 15px 10px;
    }
    .p-box .p-box-title {
    position: absolute;
    left: -10px;
    top: -20px;
    border-radius: 15px;
    background-color: #90a4ae;
    color: #fff;
    font-family: FontAwesome, Helvetica, Yu Gothic;
    font-size: 14px;
    font-weight: 700;
    padding: 5px 20px;
    }
    .p-box.p-green {
    border: 2px solid #003e96;
    }
    .p-box.p-green .p-box-title {
    background-color: #003e96;
    }
    .p-box ul {
    list-style-type: none;
    border: 0;
    margin: 0;
    padding: 0;
    }
    .p-box ul li {
    list-style-type: none !important;
    position: relative;
    line-height: 1.5;
    padding-bottom: 9px;
    font-size: 18px;
    }
    .p-box.p-green ul li:before {
    content: "\f00c";
    color: #003e96;
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
    padding-right: 10px;
    }
    .p-box.p-red {
    border: 2px solid #d33 !important;
    }
    .p-box.p-red .p-box-title {
    background-color: #d33 !important;
    }
    .p-box.p-red ul li:before {
    content: "\f00c";
    color: #d33;
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
    padding-right: 10px;
    }
    .box29 {
    margin: 2em 0;
    border: solid 2px var(--color_htag);;
    background: #fff;
    }
    .box-title {
    font-weight: bold;
    }
    .box29 .box-title {
    display: inline-block;
    position: relative;
    top: -2px;
    padding: 2px 9px;
    background: var(--color_htag);;
    color: #fff;
    font-size: 17px;
    line-height: 1.5;
    }
    .box29 .box-title:before {
    padding-right: 4px;
    font-family: "Font Awesome 5 Pro" !important;
    font-weight: 900 !important;
    content: "\f0eb";
    }
    .box29 .box-content {
    padding: 15px;
    }
    .sc ul, .sc ol, .list-raw ul, .list-raw ol, .sng-box ul, .sng-box ol, .memo ul, .memo ol {
    margin: 5px 0;
    padding: 0 0 0 1.4em;
    border: none;
    box-shadow: none;
    background: transparent;
    }
    .li-check ul {
    position: relative;
    padding: 1em 0.5em 1em 2.5em;
    border: solid 2px var(--color_htag);;
    background: #fff;
    }
    .li-chevron li, .li-check li, .li-yubi li, .li-niku li {
    list-style-type: none !important;
    padding: 0.5em 0;
    line-height: 1.5;
    font-size: 18px;
    }
    .li-check li:before {
    position: absolute;
    left: 1em;
    color: var(--color_htag);;
    font-family: "Font Awesome 5 Pro" !important;
    font-weight: 900 !important;
    content: "\f00c";
    left: -26px;
    }
    .sng-box .li-check li:before{
    left: -35px;
    }
    h1.c-pageTitle {
    margin-bottom: 30px;
    }
    .sng-box .li-check ul{
    border: none !important;
    }
    .is-style-faq-box .swell-block-faq__item {
    border: 1px solid var(--color_border);
    background: #fff;
    }
    .is-style-faq-box .faq_q {
    border-bottom: 1px dashed var(--color_border);
    }
    .swell-block-faq .faq_q {
    font-weight: 700;
    background: #fff;
    line-height: 1.5;
    padding: 1em 1em 1em 3em;
    position: relative;
    }
    .is-style-faq-box .faq_a:before, .is-style-faq-box .faq_q:before, .is-style-faq-stripe .faq_a:before, .is-style-faq-stripe .faq_q:before {
    left: 1em;
    position: absolute;
    top: 1em;
    }
    .swell-block-faq .faq_q:before {
    border-radius: 4px;
    content: "Q";
    display: block;
    font-family: Arial,sans-serif;
    font-weight: 400;
    line-height: 2;
    position: absolute;
    text-align: center;
    width: 2em;
    }
    .is-style-faq-box .faq_a, .is-style-faq-box .faq_q, .is-style-faq-stripe .faq_a, .is-style-faq-stripe .faq_q {
    padding: 1.25em 1em 1.25em 4em;
    }
    .swell-block-faq .faq_a:before {
    border-radius: 4px;
    content: "A";
    display: block;
    font-family: Arial,sans-serif;
    line-height: 2;
    position: absolute;
    text-align: center;
    width: 2em;
    }
    .faq_a:before, [data-q=col-main] .faq_q:before {
    box-shadow: 0 0 0 1px currentColor;
    color: var(--color_main);
    }
    /*メニューをページ下部に固定*/
    #sp-fixed-menu{
     position: fixed;
     width: 100%;
     bottom: -7px;
     font-size: 0;
     z-index: 996;
    }
    
    /*メニューを横並びにする*/
    #sp-fixed-menu ul{
     list-style: none;
     padding:0;
     margin:0;
     width:100%;
    }
    
    #sp-fixed-menu li{
     width: 100%;
     padding:0;
     margin:0;
     font-weight: bold;
     font-size: 14px;
     letter-spacing: 4px;
    }
    
    /*ボタンを調整*/
    #sp-fixed-menu li a{
     color: #fff;
     text-align: center;
     display:block;
     width: 100%;
     /* padding:14px; */
    }
    /*PCの場合にはメニューを表示させない*/
    @media (min-width: 768px) {
     .for-sp{
    display:none;
    }
    }
    #cta04 {
    width: 100%;
    padding: 20px;
    background: #555;
    box-sizing: border-box;
    color: #fff;
    text-align: center;
    font-size: 120%;
    }
    
    #cta04 .cta04title {
    font-size:1.6em;
    font-weight:600;
    margin-top:0;
    line-height: 1.3;
    }
    
    #cta04 img {
    margin-top: 20px;
    margin-bottom: 30px;
    }
    #cta04 ul {
    margin: -10px 0 30px 0px;
    list-style: none;
    border:none;
    padding: 0;
    }
    
    #cta04 ul li:before {
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
    color: silver;
    content: "\f105";
    padding-left: 0;
    margin-right: 15px;
    line-height:1.8;
    }
    #cta04 .gray-huki{
    color: #fff !important;
    }
    #cta04 .gray-huki:before,#cta04 .gray-huki:after{
    background-color: #fff !important;
    }
    
    /* #cta04 a {
    width: 100%;
    height: 60px;
    margin: 0 auto;
    line-height: 62px;
    color: #fff;
    text-align: center;
    background: #0090ff;
    box-shadow: 0 4px 0 rgba(0,95,160,1);
    display: block;
    text-decoration: none;
    text-shadow: 0 1px 1px rgba(0,0,0,.09);
    -webkit-transition: .3s ease-in-out;
    -moz-transition: .3s ease-in-out;
    -o-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
    }
    #cta04 a:hover {
    -webkit-transform: translateY(3px);
    transform: translateY(3px);
    box-shadow: none;
    }
    
    #cta04 .ctatext04 {
    display: inline-block;
    position: relative;
    margin:0;
    } */
    
    .ctatext04:before, .ctatext04:after {
    display: inline-block;
    position: absolute;
    top: 50%;
    width: 22px;
    height: 2px;
    border-radius: 3px;
    background-color: #FFF;
    content: "";
    margin: auto -30px;
    }
    .ctatext04:before {
    transform: rotate(50deg);
    }
    .ctatext04:after {
    transform: rotate(-50deg);
    margin-left: 10px;
    }
    @media screen and (min-width: 768px){
    #cta04 {
    padding: 30px 60px;
    }
    #cta04 img {
    max-width: 100%;
    height: auto;
    width: auto;
    }
    #cta04 ul {
    text-align: left;
    }
    }
    @media screen and (max-width: 600px){
    #cta04 {
    padding: 20px 14px 3px;
    background: #707070;
    }
    
    #cta04 .cta04title {
     font-size: 19px;
    margin-top: 20px;
    line-height: 1.5;
    }
    #cta04 ul li {
    font-size: 0.8em;
    text-align: left;
    line-height: 1.4;
    margin-bottom: 15px;
    }
    #cta04 .ctatext04 {
    font-size: 13px;}
    .ctatext04:before, .ctatext04:after {
    width:15px;
    }
    #cta04 img {
    margin-bottom: 20px;
    }
    }
    /* CTA_05 */
    .cta05-cvset {
    padding: 0px 0 0;
    }
    .cta05-cvset .cta05-inner {
    background-color: #e8f3fc;
    padding: 10px 0 20px;
    position: relative;
    width: 100%;
    height: 100%;
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    }
    
    .cta05-cvset .cta05-inner ul {
    list-style:none;
    margin-top: 90px;
    padding-inline-start:0;
    border: none;
    padding: 0;
    }
    
    .cta05-cvset-title {
    position: relative;
    font-size: 1.8em;
    line-height: 0.6em;
    font-weight: 800;
    font-style: normal;
    letter-spacing: .1em;
    position: absolute;
    top: 66px;
    left: 0;
    text-align: center;
    width: 100%;
    }
    .cta05-cvset-title .deco {
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    font-size: 20px;
    color: #005fa0;
    white-space: nowrap;
    padding-bottom: 8px;
    margin-bottom: 16px;
    }
    
    .cta05-cvset-title .deco:before, .cta05-cvset-title .deco:after {
    display: inline-block;
    position: absolute;
    top: 42%;
    width: 28px;
    height: 2px;
    border-radius: 3px;
    background-color: #005fa0;
    content: "";
    margin: auto -35px;
    }
    .cta05-cvset-title .deco:before {
    left: 0;
    -webkit-transform: rotate(50deg);
    transform: rotate(50deg);
    }
    
    .cta05-cvset-title .deco:after {
    right: 0;
    -webkit-transform: rotate(-50deg);
    transform: rotate(-50deg);
    }
    
    .cta05-cvset-list {
    display: flex;
    width: 100%;
    max-width: 780px;
    justify-content: space-between;
    margin: 0 auto;
    }
    .cta05-cvset-list li {
    max-width: 360px;
    width: 100%;
    margin: 0 5px;
    }
    .cta05-cvset-list img {
    width:100%;
    text-align:center;
    }
    .cta05-button.dwl, .cta05-button.etm {
    background-color: #fff;
    border: 3px solid #005fa0;
    color: #005fa0;
    }
    .cta05-button.dwl, .cta05-button.dmo, .cta05-button.etm {
    height: 96px;
    font-size: 24px;
    font-weight: bold;
    line-height: 1.4em;
    text-align: center;
    flex-direction: column;
    white-space: nowrap;
    text-decoration: none;
    }
    .cta05-button.dmo {
    background-color: #005fa0;
    border: 3px solid #005fa0;
    color: #fff;
    }
    .cta05-button {
    position: relative;
    display: flex;
    width: 100%;
    height: 72px;
    text-align: center;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    border-radius: 12px;
    margin: 0;
    box-shadow: 0 2px 2px 0 rgba(0,0,0,0.14), 0 6px 10px -2px rgba(0,0,0,0.14), 0 1px 5px 0 rgba(0,0,0,0.2);
    transition: 0.2s ease-in-out;
    }
    .cta05-button.free::after {
    content: "無料";
    position: absolute;
    display: block;
    top: -17px;
    right: 8px;
    width: 80px;
    height: 30px;
    font-size: 16px;
    font-weight: bold;
    line-height: 32px;
    text-align: center;
    background-color: #FF0000;
    color: #fff;
    border-radius: 16px;
    }
    .cta05-button.dwl:hover, .cta05-button.dmo:hover, .cta05-button.etm:hover {
    background-color: #6bb6ff;
    box-shadow: 0 15px 30px -5px rgba(0, 0, 0, 0.15), 0 0 5px rgba(0, 0, 0, 0.1);
    transform: translateY(-4px);
    }
    .cta05-button.dwl small, .cta05-button.dmo small, .cta05-button.etm small {
    display: block;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.2em;
    letter-spacing: 0;
    margin-bottom: 4px;
    white-space: nowrap;
    }
    .seo-sp{display: none;}
    
    @media screen and (max-width: 768px){
    .cta05-cvset .cta05-inner {
    padding: 40px 20px 32px;
    }
    .cta05-cvset-list {
    flex-direction: column;
    align-items: center;
    padding-bottom: 16px;
    }
    .cta05-button.dwl small, .cta05-button.dmo small, .cta05-button.etm small {
    font-size: 12px;
    }
    .cta05-cvset-title {font-size: 24px; line-height: 1.4;top: 53px;}
    .cta05-cvset-title .deco{font-size: 17px;margin-bottom: 0;}
    .seo-sp{display: block;}
    }
    .yellow {
    color: #fff100;
    font-weight: 900;
    }
    #hikaku-table td, #hikaku-table th {
    border-right: 1px solid #e5e5e5;
    border-bottom: 1px solid #e5e5e5;
    }
    #hikaku-table td {
    border-color: #a9a9a9!important;
    }
    #hikaku-table img{
    width: 100%;
    padding: 0 20px;
    }
    .table-cta-simple a {
    width: 75%;
    display: block;
    text-decoration: none;
    padding: 9px;
    background: #f1742c;
    color: #fff!important;
    text-align: center;
    font-weight: 700;
    box-shadow: 0 4px 0 #d16323;
    margin: 0 auto;
    position: relative;
    transition: .3s;
    }
    .table-cta-simple {
    margin-top: 0!important;
    margin-bottom: 10px;
    }
    .tadv-color {
    color: #cf2e2e;
    }
    .starList {
    color: #FC3;
    display: inline-block;
    }
    @media(max-width:768px){
    .table-cta-simple{
    margin-top: 10px !important;
    }
    [class*=is-style-btn_] a {
    padding: 0.75em 0.5em !important;
    }
    }
    /* YES・NO チャート */
    .yn-chart{
    margin:0 auto 2rem;
    padding: 2em;
    max-width: 600px;
    background:#e2eaed;
    box-shadow: 0 3px 5px rgba(0,0,0,.07);
    font-size:0.9rem;
    }
    .yn-chart__add{
    background: #00142c;
    color:#fff;
    padding: 0.2em 0.9em !important;
    margin:0 !important;
    text-align:center;
    display:inline-block;
    line-height: 1.5 !important;
    }
    .yn-chart__title{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    width: 100%;
    padding: 0.5em 0 0.3em!important;
    margin: 0 auto !important;
    font-size:1.35em !important;
    font-weight: 600 !important;
    color:#00142c;
    letter-spacing: 1px !important;
    line-height:1.5 !important;
    }
    .yn-chart__title:before,.yn-chart__title:after {
    content: "";
    flex: 1;
    height: 1px;
    background: #00142c;
    display: block;
    }
    .yn-chart__title:before {
    margin-right: 0.7em;
    }
    .yn-chart__title:after {
    margin-left: 0.7em;
    }
    .yn-chart__ex{
    text-align:center;
    padding: 0 !important;
    }
    .yn-chart > div{
    display:none;
    padding-top: 100px;
    margin-top: -100px;
    }
    .yn-chart > div.yn-chart__display{
    display:block;
    }
    .yn-chart > div > figure{
    margin:1em 0 2em;
    }
    .yn-chart > div > figure img{
    display:block;
    }
    .yn-chart > div > p{
    margin:2em 0 0 !important;
    padding: 0.8em 1em 0.8em 4.3em !important;
    background:#fff;
    position:relative;
    }
    .yn-chart > div > p:before{
    content: "Q";
    background: #00142c;
    position: absolute;
    left: 0;
    top: 0;
    color: #fff;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-weight: 600;
    font-size: 1.1em;
    min-width: 48px;
    }
    .yn-chart > div ul{
    margin:2em 0 0 !important;
    padding:0 !important;
    list-style:none !important;
    border:none;
    }
    .yn-chart > div ul li {
    margin: 0 0 1em 1em!important;
    padding: 0 !important;
    }
    .yn-chart > div ul li:last-child{
    margin:0 0 0 1em !important;
    }
    .yn-chart > div ul li a{
    background: #fff;
    display: block;
    padding: 0.8em !important;
    text-decoration: none;
    color: #333;
    box-shadow: 0 3px 5px rgba(0,0,0,.07);
    }
    .yn-chart > div ul li a:hover{
    box-shadow: inset 2px 2px 0 0 #ee8f81, 2px 2px 0 0 #ee8f81, 2px 0 0 0 #ee8f81, 0 2px 0 0 #ee8f81;
    transition: 0.1s ease-in-out;
    opacity:1;
    }
    .yn-chart > div ul li:before{
    content:unset !important;
    }
    .yn-chart__result{
    background:#fff;
    padding:1em;
    }
    .yn-chart__result-title{
    color: #00142c;
    font-size: 1.1em !important;
    font-weight:600 !important;
    padding: 0 !important;
    margin: 0 0 1em !important;
    border-bottom: 1px dashed #00142c;
    }
    @media screen and (max-width: 560px) {
    .yn-chart{
    padding:1.8em 1.3em;
    }
    .yn-chart > div > figure {
    margin: 0.5em 0;
    }
    .yn-chart > div > p {
    margin: 1em 0 0 !important;
    padding: 0.8em 1em 0.8em 3.3em !important;
    }
    .yn-chart > div ul {
    margin: 1em 0 0 !important;
    }
    .yn-chart__title{
    font-size:1em !important;
    }
    .yn-chart__title:before {
    margin-right:0.3em;
    }
    .yn-chart__title:after {
    margin-left:0.3em;
    }
    .yn-chart__ex,.yn-chart__add{
    font-size:0.9em !important;
    }
    .yn-chart > div > p:before{
    min-width: 30px;
    }
    }
    /* Twitterシェアボタンなど */
    .p-tw-btn,.p-check-btn{
    text-align:center;
    margin:1.5em 5em !important;
    padding:0 !important;
    }
    .p-tw-btn a,.p-check-btn a{
    display:block;
    box-shadow: 0 3px 5px rgba(0,0,0,.15);
    color:#fff !important;
    font-weight:600 !important;
    text-decoration:none !important;
    padding:0.5em 0;
    border-radius:30px;
    }
    .p-tw-btn a{
    background: #00acee;
    }
    .p-check-btn a{
    background:#00142c;
    }
    .p-tw-btn a:hover,.p-check-btn a:hover{
    transform: translateY(3px);
    box-shadow: 0 2px 2px rgba(0,0,0,.22);
    }
    .yn-chart > div > p.p-check-btn{
    background: none !important;
    padding: 0 5em !important;
    }
    .yn-chart > div > p.p-check-btn:before{
    content:unset !important;
    }
    @media screen and (max-width: 800px) {
    .p-tw-btn,.p-check-btn{
    margin:1.5em 3em !important;
    }
    }
    @media screen and (max-width: 560px) {
    .p-tw-btn,.p-check-btn{
    margin:1.5em 1em !important;
    }
    .yn-chart > div > p.p-check-btn{
    padding: 0 3em !important;
    }
    }
    .single span.p-breadcrumb__text {
    display: block !important;
    }
    .p-profileBox__text {
    font-size: 14px;
    line-height: 2em;
    }
    .under-lines{
    text-decoration: underline;
    color: #1967d2 !important;
    cursor: pointer;
    }
    .post_content iframe {
    width: 100%;
    height: 440px;
    }
    @media(max-width:768px){
    .post_content iframe {
    height: 210px;
    }
    }
    #footerFloatingMenu {
    display: none;
    }
    @media (max-width: 768px){
    #footerFloatingMenu {
    display: block;
    position: fixed;
    z-index: -1;
    left: 0;
    right: 0;
    padding: 0 auto;
    width: 100%;
    bottom: -7px;
    font-size: 0;
    }
    }
    .footer_libe {
    width: 100%;
    }
    #footerFloatinMenu-tel-and-line,#new-footerFloatinMenu-tel-and-line{
    display: none;
    }
    @media(max-width:768px){
    #footerFloatinMenu-tel-and-line{
    z-index: -1;
    position: fixed;
    bottom: -7px;
    left:0;
    width: 100%;
    display: flex;
    flex-direction: row;
    }
    #footerFloatinMenu-tel-and-line img{
    margin:0;
    padding:0;
    }
    .p-fixBtnWrap{
    bottom: 14rem;
    }
    }
    .c-inner{
    width:100%;background:#fff;margin:0 auto;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    -moz-box-shadow: 0px 0px 40px -3px rgba(66, 69, 65, 0.13);
    -webkit-box-shadow: 0px 0px 40px -3px rgba(66, 69, 65, 0.13);
    -ms-box-shadow: 0px 0px 40px -3px rgba(66, 69, 65, 0.13);
    box-shadow: 0px 0px 40px -3px rgba(66, 69, 65, 0.13);
    }
    .c-inner .title{background-color: var(--color_main);color:#fff !important; padding:20px 0; font-size:24px !important;text-align: center !important;
    -webkit-border-top-left-radius: 5px;
    -webkit-border-top-right-radius: 5px;
    -moz-border-radius-topleft: 5px;
    -moz-border-radius-topright: 5px;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    }
    .ctas {
    margin-bottom: 30px;
    }
    a.btn,
    button.btn {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1;
    position: relative;
    display: inline-block;
    padding: 1rem 4rem;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    letter-spacing: 0.1em;
    color: #212529;
    border-radius: 0.5rem;
    }
    
    .btn-wrap {
    margin: 30px 0;
    }
    
    a.btn-c {
    font-size: 32px;
    width: 93%;
    position: relative;
    padding: 40px 2rem 1.5rem 3.5rem;
    color: #fff;
    background: #e94919;
    -webkit-box-shadow: 0 5px 0 #d44114;
    box-shadow: 0 5px 0 #d44114;
    max-width: 93% !important;
    }
    
    a.btn-c span {
    line-height: 1.5;
    font-size: 20px;
    position: absolute;
    top: -1.25rem;
    left: calc(50% - 200px);
    display: block;
    width: 400px;
    padding: 0.2rem 0;
    color: #d44114;
    border: 2px solid #d44114;
    border-radius: 100vh;
    background: #fff;
    -webkit-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
    }
    
    a.btn-c span:before,
    a.btn-c span:after {
    position: absolute;
    left: calc(50% - 10px);
    content: "";
    }
    
    a.btn-c span:before {
    bottom: -10px;
    border-width: 10px 10px 0 10px;
    border-style: solid;
    border-color: #d44114 transparent transparent transparent;
    }
    
    a.btn-c span:after {
    bottom: -7px;
    border-width: 10px 10px 0 10px;
    border-style: solid;
    border-color: #fff transparent transparent transparent;
    }
    
    a.btn-c i {
    margin-right: 1rem;
    }
    
    a.btn-c:hover {
    -webkit-transform: translate(0, 3px);
    transform: translate(0, 3px);
    color: #fff;
    background: #eb5b30;
    -webkit-box-shadow: 0 2px 0 #d44114;
    box-shadow: 0 2px 0 #d44114;
    }
    .c-tel{
    border-top:1px solid #ccc;
    padding:20px 0;
    margin:0 30px;
    }
    .c-tel p{
    font-weight:600;
    color:var(--color_main);;
    }
    .c-tel .num{
    font-size:36px;
    color:#eb5b30;
    }
    .fa-phone-square-alt:before {
    margin-right: 10px;
    }
    .br-pc{
    display: block;
    }
    @media(max-width:768px){
     a.btn-c {
    padding: 25px 0 20px 0;
     }
    a.btn-c span{
    width: 300px;
    font-size: 16px;
    left: calc(50% - 150px);
    }
    .c-inner .title{
    font-size: 21px !important;
    }
    .c-tel{
    margin: 0;
    }
    .c-tel p{
    font-size: 15px;
    }
    .fa-line{
    margin-right: 10px !important;
    }
    .fa-line:before {
    font-size: 34px;
    }
     .br-pc{
    display: none;
    }
    }
    .small {
    text-align: center;
    margin: 0 auto;
    font-size: 13px !important;
    font-weight: 900 !important;
    display: block;
    width: 100%;
    padding: 0 !important;
    }
    .list-rank {
    margin-top: 0!important;
    font-size: 20px !important;
    font-weight: 700;
    margin-bottom: 24px;
    padding-top: 0 !important;
    text-align: center;
    }
    .list-rank span {
    padding-bottom: 4px;
    border-bottom: solid 3px #2151a1;
    }
    .rank-table .cta-simple a {
    width: 100%;
    padding: 10px 4px;
    font-size: 16px;
    }
    .cta-simple a {
    width: 100%;
    display: block;
    text-decoration: none;
    padding: 16px;
    background: #f1742c;
    color: #fff !important;
    text-align: center;
    font-weight: 700;
    box-shadow: 0 4px 0 #d16323;
    margin: 0 auto;
    position: relative;
    transition: .3s;
    }
    .maru-image {
    border-radius: 10px !important;
    box-shadow: 0px 3px 6px 1px #bbb;
    }
    
    .rank-table th {
    background-color: #e9f3fb!important;
    color: #000!important;
    border-color: #a9a9a9!important;
    }
    .rank-table td {
    border-color: #a9a9a9!important;
    }
    .bg-gray center{
    padding-bottom: 5px;
    }
    @media (max-width: 768px){
    .list-rank span {
    font-size: 18px !important;
    }
    p.list-rank {
    margin-bottom: 16px;
    }
    }
    .author-info {
    position: relative;
    }
    .grad-btn {
    z-index: 2;
    position: absolute;
    right: 0;
    bottom: 8px;
    left: 683px;
    width: 98px;
    margin: auto;
    padding: 1px 0;
    border-radius: 2px;
    background: #009e8f;
    color: #fff;
    font-size: 14px;
    text-align: center;
    cursor: pointer;
    transition: .2s ease;
    box-shadow: 0 0 3px rgb(0 0 0 / 30%);
    }
    .grad-item {
    position: relative;
    overflow: hidden;
    height: 80px; /*隠した状態の高さ*/
    }
    .grad-item::before {
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 40px; /*グラデーションで隠す高さ*/
    background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
    background: linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
    content: "";
    }
    .grad-trigger {
    display: none; /*チェックボックスは常に非表示*/
    }
    .grad-trigger:checked + .grad-btn {
    display: none; /*チェックされていたら、grad-btnを非表示にする*/
    }
    .grad-trigger:checked ~ .grad-item {
    height: auto; /*チェックされていたら、高さを戻す*/
    }
    .grad-trigger:checked ~ .grad-item::before {
    display: none; /*チェックされていたら、grad-itemのbeforeを非表示にする*/
    }
    @media(max-width:768px){
    .grad-btn{
    bottom: 7px;
    left: 260px;
    }
    }
    .text-left{
    text-align: left !important;
    }
    /* ipad */
    @media screen and (min-width: 769px) and (max-width: 1099px) {
    .grad-btn {
    left: 463px;
    }
    }
    .myfuki-main {
    display: inline-block;
    position: relative;
    background: var(--color_htag);
    color: white;
    font-weight: 500;
    margin: 0.5em 0;
    border-radius: 25px;
    padding: 0.3em 1em;
    }
    .myfuki-main:before {
    position: absolute;
    content: "";
    bottom: -0.5em;
    margin-left: 1.5em;
    border-top: 10px solid;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-bottom: 0;
    border-top-color: var(--color_htag);
    }
    
    /*--------------------------------------
    クリップボードボックス
    --------------------------------------*/
    .crip-box {
    padding: 1.6em;
    background-color: #00579e33;
    margin-bottom: 20px;
    }
    .crip-red{
    background-color: #f443364f !important;
    }
    .crip-box-in {
    box-shadow: 0 0 2px 1px rgba(42,42,42,.05);
    padding-top: 40px;
    margin-bottom: 0;
    text-align: center;
    position: relative;
    padding-bottom: 20px;
    }
    .crip-box-in:before, .crip-box-in:after {
    content: "";
    display: inline-block;
    position: absolute;
    }
    .crip-box-in:before {
    width: 72px;
    height: 30px;
    border: 4px solid #003e96;
    top: -8px;
    left: calc(50% - 40px);
    }
    .crip-box-in:after {
    width: 100px;
    height: 28px;
    border-radius: 4px;
    background: #003e96;
    top: -10px;
    left: calc(50% - 50px);
    }
    .crip-redbox-in:before{
    border: 4px solid #c91313 !important;
    }
    .crip-redbox-in:after{
     background: #c91313 !important;
    }
    p.crip-box-title {
    background: linear-gradient(transparent 60%, #fef7b7 60%, #fef7b7 90%, transparent 90%);
    margin-bottom: 0;
    color: #003e96;
    font-size: 20px;
    display: inline;
    padding: 8px 0px;
    }
    .crip-redbox-title{
    color: #c91313!important;
    }
    p.crip-box-text {
    text-align: left;
    margin-bottom: 0;
    padding: 1.2em;
    }
    .crip-box-in ul{
    border: none;
    text-align: left;
    margin:0 auto;
    margin-top: 20px;
    margin-bottom: 0;
    }
    .crip-box-in li{
    list-style-type: none !important;
    position: relative;
    font-size: 16px;
    border-bottom: 1px dotted #b0b0b0;
    padding: 5px 0px;
    margin-left: 1.4em;
    text-indent: -1.4em;
    }
    .crip-box-in>ul>li:before {
    content: "\f00c";
    color: #003e96;
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
    background-color: #fff !important;
    padding-right: 10px;
    top: 2px;
    left: 1px;
    }
    .crip-redbox-in>ul>li:before {
    color: #c91313 !important;
    }
    @media(max-width:768px){
    .crip-box-in{
    padding-bottom: 0px;
    padding-top: 40px;
    }
    .crip-box-in ul{
    padding: 10px;
    margin-top: 0;
    }
    .crip-box {
    padding: 16px;
    }
    p.crip-box-title {
    font-size: 16px;
    }
    .cap_box_content {
    padding: 15px 10px 10px;
    }
    .box29 .box-content {
    padding: 0 10px;
    }
    }
    .is-style-whiteboard1 {
    position: relative;
    max-width: 520px;
    margin: 0 auto 2em;
    padding: 2em 1.5em;
    border: 10px solid transparent;
    border-radius: 4px;
    background: linear-gradient(white, white), linear-gradient(#4d4d4d, #4d4d4d) no-repeat 100% 100% / 30px 30px, linear-gradient(#4d4d4d, #4d4d4d) no-repeat 0 100% / 30px 30px, linear-gradient(#4d4d4d, #4d4d4d) no-repeat 100% 0 / 30px 30px, linear-gradient(#4d4d4d, #4d4d4d) no-repeat 0 0 / 30px 30px, linear-gradient(#e6e6e6, #e6e6e6);
    background-clip: padding-box, border-box, border-box, border-box, border-box, border-box;
    background-origin: border-box;
    }
    .is-style-whiteboard1:before,
    .is-style-whiteboard1:after ,
    .is-style-whiteboard1 .wp-block-group__inner-container:before,
    .is-style-whiteboard1 .wp-block-group__inner-container:after {
    display: inline-block;
    position: absolute;
    content: "";
    }
    .is-style-whiteboard1:before {
    right: 10px;
    bottom: 16px;
    width: 52px;
    height: 8px;
    border-radius: 2px 2px 0 0;
    background: #5a95f5;
    }
    .is-style-whiteboard1:after {
    right: 11px;
    bottom: 1px;
    width: 50px;
    height: 15px;
    border-radius: 0 0 4px 4px;
    background: #d2e2fc;
    }
    .is-style-whiteboard1 .wp-block-group__inner-container:before {
    right: 71px;
    bottom: 1px;
    width: 48px;
    height: 8px;
    background: linear-gradient(90deg, #ea4335 8%, #f2f2f2 8%, #f2f2f2 70%, #ea4335 70%);
    }
    .is-style-whiteboard1 .wp-block-group__inner-container:after {
    right: 98px;
    bottom: 9px;
    width: 48px;
    height: 8px;
    background: linear-gradient(90deg, #333 8%, #f2f2f2 calc(8% + 1px), #f2f2f2 70%, #333 calc(70% + 1px));
    transform: rotate(-20deg);
    }
    @media(max-width:768px){
    #new-footerFloatinMenu-tel-and-line {
    position: fixed;
    bottom: 0;
    left: 0;
    display: block;
    background-color: rgba(4,56,76,0.8);
    z-index: 9999;
    width: 100%;
    padding: 2%;
    box-sizing: border-box;
    }
    .new-fcv ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: nowrap;
    padding-left:0;
    }
    .new-fcv li.fixcvs {
    background-color: #00b900;
    border-radius: 6px;
    }
    .new-fcv li {
    width: 100%;
    justify-content: center;
    }
    .new-fcv .outline-spcv {
    display: flex;
    align-items: center;
    width: 90%;
    justify-content: center;
    }
    .new-fcv li a {
    font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    display: block;
    min-height: 56px;
    color: #fff;
    font-weight: 700;
    font-size: 16px;
    box-sizing: border-box;
    line-height: 1;
    text-decoration: none;
    }
    .new-fcv li.fixcvs .ficons {
    width: 2rem;
    }
    .footer-ctext {
    margin: 0 auto;
    font-size: 18px;
    width: 100%;
    text-align: center;
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif !important;
    }
    .new-fcv .outline-spcv .ficons i {
    font-size: 29px;
    }
    .fa-envelope:before {
    content: "\f0e0";
    }
    .new-fcv li a span {
    display: block;
    padding-top: 6px;
    font-size: 13px;
    text-align: left;
    padding-left: 14px;
    }
    .new-fcv li.fiv_tel {
    border-radius: 6px;
    background: #ff3950;
    }
    
    .new-fcv li+li {
    margin-left: 3%;
    }
    i.fa.fa-phone, i.fa.fa-line{
    width: 2rem;
    font-size: 23px;
    }
    .flashing{
    -webkit-animation:flash 0.8s ease-in-out infinite alternate;
    -moz-animation:flash 0.8s ease-in-out infinite alternate;
    animation:flash 0.8s ease-in-out infinite alternate;
    }
    @-webkit-keyframes flash{
     0% {opacity:0;}
     100% {opacity:1;}
    }
    @-moz-keyframes flash{
     0% {opacity:0;}
     100% {opacity:1;}
    }
    @keyframes flash{
     0% {opacity:0;}
     100% {opacity:1;}
    }
    .sp-zisseki{
    font-size:13px;
    font-weight:bold;
    text-align:center;
    color:#fff;
    margin:0 auto;
    display:block;
    padding-bottom: 4px;
    }
    .tel-free {
    padding-left: 19px !important;
    }
    }
    /* iphone-5 */
    @media(max-width:375px){
    .new-fcv li a span {
    padding-left: 6px;
    }
    .tel-free {
    padding-left: 11px !important;
    }
    }
    .cta-green {
    display: inline-block;
    box-sizing: border-box;
    width: 45%;
    height: 60px;
    padding: 0 5px;
    margin: 1.5%;
    background: -webkit-linear-gradient(180deg, #16ce1d 0%,#00c908 100%);
    color: #fff !important;
    font-weight: bold;
    border-radius: 40px;
    font-size: 20px;
    line-height: 1.2em;
    border: 3px solid #4caf50;
    box-shadow: #c4ff7f 1px 1px 2px inset, #8bc34a -1px -1px 4px inset;
    text-shadow: #4caf50 -1px -1px 0;
    text-align: center;
    text-decoration: none;
    }
    .cta-green.textlights {
    animation: 3s text-light infinite linear;
    }
    .cta-green.width {
    width: 100%;
    margin: 1.5% 0;
    position: relative;
    }
    .clickbtn:before {
    content: "";
    display: block;
    position: absolute;
    transform: translateY(-50%);
    background: url(https://o-itoma.jp/wp-content/uploads/2022/08/click.png) no-repeat center center;
    background-size: 100% 100% !important;
    margin-right: 0;
    width: 35px;
    height: 45px;
    right: -10px;
    bottom: -60px;
    transform: rotate(-15deg) translate(-20%,-80%);
    animation: 3s clickbtn infinite linear;
    z-index: 3;
    }
    .cta-green.arrow > span {
    display: inline-block;
    width: auto !important;
    max-width: 75% !important;
    }
    .cta-green:after {
    content: "";
    display: inline-block;
    width: 0;
    height: 100%;
    vertical-align: middle;
    }
    @keyframes clickbtn {
    0%{
    transform: rotate(-15deg) translate(-20%,-80%) ;
    }
    2%{
    transform: rotate(-35deg) translate(-20%,-80%) ;
    }
    7%{
    transform: rotate(-15deg) translate(-20%,-80%) ;
    }
    9%{
    transform: rotate(-35deg) translate(-20%,-80%) ;
    }
    14%{
    transform: rotate(-15deg) translate(-20%,-80%) ;
    }
    }
    @keyframes text-light {
    0%{
    text-shadow: #fffd3e 0 0 2px, #fffd3e 0 0 5px, #fffd3e 0 0 8px, #fffd3e 0 0 12px, #fffd3e 0 0 18px, #fffd3e 0 0 30px;
    }
    3%{
    text-shadow: none;
    }
    5%{
    text-shadow: #fffd3e 0 0 2px, #fffd3e 0 0 5px, #fffd3e 0 0 8px, #fffd3e 0 0 12px, #fffd3e 0 0 18px, #fffd3e 0 0 30px;
    }
    20%{
    text-shadow: none;
    }
    }
    @media (min-width: 576px){
    .modal-dialog {
    max-width: 500px;
    margin: 0 auto;
    top: 31%;
    }
    }
    .btn-primary,button.btn.btn-secondary{
    color: #fff !important;
    }
    label.col-2.d-flex.input-name {
    margin-top: 26px;
    }
    @media(max-width:768px){
    .modal-footer{
    display: block !important;
    width: 100%;
    }
    .modal.fade .modal-dialog {
    top: 27%;
    }
    .modal-footer button{
    font-size: 16px !important;
    }
    .row{
    display: block !important;
    }
    label.col-2.d-flex.align-items-center {
    width: 100% !important;
    }
    .col-10 {
    width: 100% !important;
    }
    label.col-2.d-flex.input-name {
    width: 100%;
    padding: 0;
    }
    .col-10,.col-sm-10{
    padding: 0 !important;
    }
    label.col-2.d-flex.input-name {
    margin-bottom: 6px;
    }
    .form-group {
    width: 90%;
    padding-top: 3px !important;
    
    }
    .input-name {
    margin-top: 28px !important;
    }
    input[type="text"]{
    font-weight: bold;
    color: #000 !important;
    }
    .form-control:placeholder-shown,.form-control::placeholder{
    color: rgba(0, 0, 0, 0.7);
    font-weight: normal;
    }
    }
    .internal-link {
    background: #fff9e5;
    box-shadow: 0 0 0 2px rgb(255 160 138 / 0%), 2px 2px 3px 0 rgb(0 0 0 / 5%);
    border-radius: 6px;
    padding: 0.75em 1em;
    margin: 10px 0 20px 0;
    position: relative;
    }.internal-link::before {
    content: "\f0c1";
    font-family: "Font Awesome 5 Pro"!important;
    font-weight: 900;
    margin-right: 10px;
    }
    .boxzilla{
    padding: 0 !important;
    background: transparent !important;
    }
    .boxzilla-close-icon{
    color: #fff !important;
    opacity: 1.0 !important;
    }
    /* 1012-footeronlytel */
    @media (max-width: 768px){
    .only-tel-new-fcv li a span {
    display: block;
    padding-top: 6px;
    font-size: 13px;
    }
    .only-tel-new-fcv li {
    text-align: center;
    }
    .only-tel-new-fcv ul {
    width: 100%;
    padding-left: 0;
    margin-bottom: 0;
    }
    .only-tel-new-fcv li a {
    font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    display: block;
    padding: 12px 0;
    color: #fff;
    font-weight: 700;
    font-size: 16px;
    box-sizing: border-box;
    line-height: 1;
    text-decoration: none;
    }
    .only-tel-footer-ctext {
    font-size: 22px;
    text-align: center;
    text-align: center;
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif !important;
    }
    .only-tel-new-fcv li a span {
    display: block;
    padding-top: 6px;
    font-size: 15px;
    }
    .only-tel-footer-ctext::before {
    content: "\f0a4";
    font-weight: 900;
    font-family: "Font Awesome 5 Pro";
    font-size: 34px;
    position: absolute;
    top: 48px;
    left: 6%;
    -webkit-animation: flash 0.8s ease-in-out infinite alternate;
    -moz-animation: flash 0.8s ease-in-out infinite alternate;
    animation: flash 0.8s ease-in-out infinite alternate;
    }
    .only-tel-new-fcv li.fiv_tel {
    border-radius: 6px;
    background: #00b900;
    }
    }
    .crip-box .say{
    padding: 0 20px;
    }
    .fv_sp{
    display: none;
    }
    @media(max-width:768px){
    .outline-fv-cta {
    position: absolute;
    /* top: 0; */
    bottom: 9px;
    }
    .fv_sp {
    position: relative;
    display: block;
    }
    .p-breadcrumb__list {
    display: flex;
    list-style: none;
    overflow: scroll;
    width: 100%;
    }
    .custom-html-widget li{
    line-height: 2rem;
    }
    .l-footer__nav a {
    padding: 10px 20px;
    }
    }
    .align-center {
    display: block;
    margin: 0 auto;
    text-align: center;
    }
    .p-profileBox__iconImg {
    width: 100%;
    height: 100%;
    }
    blockquote {
    box-sizing: border-box !important;
    position: relative;
    margin: 3em 0;
    padding: 32px 32px 10px 32px;
    background: #FFF;
    border: solid 4px #b3b3b3;
    border-radius: 5px;
    color: #464646;
    font-size: 1em;
    }
    
    blockquote:before {
    color: #fff !important;
    font-size: 1em;
    margin: auto;
    width: 40px !important;
    height: 40px !important;
    text-align: center;
    position: absolute !important;
    top: -23px !important;
    left: 32px !important;
    background: #464646;
    border-radius: 100px;
    line-height: 2.3 !important;
    }
    
    blockquote:before {
    display: inline-block !important;
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
    vertical-align: middle;
    content: "\f10d" !important;
    }
    cite a{
    text-decoration: underline;
    }
    span.p-pnLinks__title {
    line-height: 2em;
    }
    .p-toc__list li {
    line-height: 1.9;
    }
    
    .cap_box_ttl,.post_content h2 {
    z-index: 0;
    }
    .reviewBox__title,.socialList-type01 .socialList__link::before,.socialList-type02 .socialList__link::before{
    font-size:2rem
    }
    .reviewBox{
    position:relative;
    background:#f2f2f2;
    padding:20px;
    border-radius:5px
    }
    .reviewBox-border{
    background:#fff;
    border:1px solid rgba(0,0,0,.1)
    }
    .reviewBox::after{
    content:"";
    position:absolute;
    bottom:-1px;
    right:-1px;
    border-color:rgba(0,0,0,.1) #fff #fff rgba(0,0,0,.1);
    border-style:solid;
    border-width:10px
    }
    .reviewBox__title{
    font-weight:700;
    margin-bottom:20px;
    padding-bottom:10px;
    border-bottom:1px solid #e5e5e5;
    line-height:1.5;
    font-size: 20px;
    }
    .reviewBox__contents{
    position:relative
    }
    .reviewBox__imgBox{
    float:right;
    width:100px;
    height:auto;
    margin:0 0 20px 20px
    }
    .reviewBox__img{
    width:100px;
    height:100px;
    border-radius:50%;
    border:1px solid #e5e5e5;
    overflow:hidden;
    background:url(img/img_mysteryman.gif);
    background-size:contain
    }
    .reviewBox__img img{
    width:100px;
    height:100px;
    border-radius:50%;
    vertical-align:bottom
    }
    .reviewBox__name{
    display:inline-block;
    width:100%;
    text-align:center;
    margin-top:.5rem;
    font-size:1.2rem;
    color:rgba(0,0,0,.5)
    }
    .reviewBox__star{
    display:block;
    font-weight:700;
    margin-bottom:10px
    }
    a.btn_ao_b {
    display: flex;
    align-items: center;
    margin: 0 auto;
    padding: 25px;
    border: 2px solid #014897;
    background: #fff;
    text-decoration: none !important;
    transition: 0.3s;
    }
    a.btn_ao_b:hover {
    background-color: #e9f3fd;
    }
    a.btn_ao_b .b__text {
    display: block;
    flex-grow: 1;
    color: #004386;
    font-weight: bold;
    text-align: center;
    position: relative;
    padding-right: 15px;
    font-size: 23px;
    }
    a.btn_ao_b .b__text::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    transform: rotate(45deg);
    border-top: 3px solid #014897;
    border-right: 3px solid #014897;
    box-sizing: border-box;
    width: 14px;
    height: 14px;
    transition: 0.3s;
    }
    dt h3{
    font-size: 18px !important;
    margin: 0 !important;
    }
    dt h3::before{
    background: none !important;
    
    }
    @media (max-width: 1200px) {
    a.btn_ao_b .b__text {
    font-size: 23px;
    padding-right: 20px;
    }
    a.btn_ao_b .b__text::after {
    width: 12px;
    height: 12px;
    }
    }
    @media (max-width: 736px) {
    a.btn_ao_b .b__text {
    font-size: 19px;
    padding-right: 20px;
    }
    a.btn_ao_b .b__text::after {
    width: 10px;
    height: 10px;
    }
    }
    .shiny-btn8 {
    display: block;
    position: relative;
    width: 100%;/*ボタンの幅*/
    padding: 10px 0;
    margin: 0px auto;
    background-color: #62d847;/*ボタンの色*/
    box-shadow: 0 3px 0 0 rgba(74, 162, 53, 1);/*影の色(rgbaの値を変更)*/
    border-radius: 80px;
    font-weight: bold;
    letter-spacing: 1px;
    font-size: 18px;
    color: #fff;
    text-align: center;
    text-decoration: none !important;
    overflow: hidden;
    transition: 0.2s;
    }
    .shiny-btn8:hover {
    text-decoration: none;
    color: #fff;
    opacity: 0.7;
    box-shadow: none;
    -webkit-transform: translateY(3px);
    }
    .shiny-btn8::before {
    position: absolute;
    content: '';
    display: inline-block;
    top: -180px;
    left: 0;
    width: 30px;
    height: 100%;
    background-color: #fff;
    animation: shiny-btn8 3s ease-in-out infinite;
    }
    .shiny-btn8::after {
    content: "\f054";
    font-family: 'Font Awesome 5 Pro';
    font-size: 18px;
    font-weight: bold;
    margin-left: 0.5em;
    }
    @-webkit-keyframes shiny-btn8 {
    0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
    }
    .mini {
    font-size: 13px;
    margin-top: 10px;
    }
    
    .center {
    display: block;
    }
    .red {
    color: #c11b26 !important;
    font-weight: 700;
    }
    .back-yellow {
    font-weight: 700;
    color: #272727;
    background: linear-gradient(transparent,#fff799 0);
    border-radius: 6px;
    font-size: 20px;
    line-height: 2em;
    }
    .li-chevron ul {
    position: relative;
    padding: 1em 0.5em 1em 2.5em;
    border: solid 2px skyblue;
    border-radius: 5px;
    }
    
    .li-chevron li, .li-check li, .li-yubi li, .li-niku li {
    list-style-type: none !important;
    padding: 0.5em 0;
    line-height: 1.5;
    }
    .li-chevron li:before {
    position: absolute;
    left: -2em;
    color: skyblue;
    font-family: "Font Awesome 5 Pro" !important;
    font-weight: 900;
    content: "\f138";
    color: #002c70;
    }
    table ul {
    border: none !important;
    margin: 0;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    }
    .cta-table{
    border:1px solid #e0e0e0 !important;
    box-shadow: 0px 0px 6px 0px #bbb;
    }
    @media(max-width:768px){
    .back-yellow {
    font-size: 17px;
    line-height: 2em;
    }
    }
    .table-center th {
    min-width: 120px;
    padding: 0.5em 0.35em !important;
    }
    .table-center td {
    vertical-align: middle;
    min-width: 180px;
    padding: 0.5em 0.35em !important;
    }
    .batsu {
    color: #007eff;
    }
    .symbol {
    font-size: 40px;
    display: block;
    text-align: center;
    margin: 0 auto;
    font-family: system-ui;
    }
    .triangle {
    color: #05788d;
    }
    .single-cicrle {
    color: #ff9000;
    }
    .double {
    color: #ff5050;
    }
    .table-center {
    text-align: center !important;
    }
    .swell-block-button.-size-s.is-style-btn_shiny.blue_ {
    display: grid;
    margin-bottom: 0;
    --the-btn-bg: linear-gradient(100deg,var(--the-btn-color) 0%,var(--the-btn-color2) 100%);
    }
    .wp-block-table td, .wp-block-table th {
    /* border: 1px solid; */
    padding: 0.5em;
    }
    /* æ¨ªã‚¹ã‚¯ãƒ­ãƒ¼ãƒ« */
    .horizontal_scroll,.twiiter_horizontal_scroll {
    overflow-x: scroll;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    padding: 0 0 12px 8px;
    margin-bottom: 20px !important;
    display: -ms-flexbox;
    display: flex !important; }
    
    .horizontal_scroll li,.twiiter_horizontal_scroll li{
    background: #fff;
    max-width: 270px;
    display: block;
    position: relative;
    min-width: 270px;
    height: 270px;
    }
    .fa-star-half-alt:before,.icon-star-half::before {
    content: "\f5c0";
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
    }
    .fa-star-half-alt,.icon-star-half {
    color: #f9a72b;
    font-style: normal;
    }
    .horizontal_scroll > li,.twiiter_horizontal_scroll > li{
    margin: 7px !important;
    }
    .horizontal_scroll > li:last-child,.twiiter_horizontal_scroll >li:last-child {
    padding-right: 5px; }
    
    @media screen and (min-width: 768px) {
    .horizontal_scroll > li:last-child,.twiiter_horizontal_scroll > li:last-child {
    padding-right: 0; } }
    
    .horizontal_scroll img,.twiiter_horizontal_scroll img {
    vertical-align: bottom; }
    
    .slider_ttl {
    color: #333;
    text-align: inherit;
    width: 100%;
    height: 40px;
    line-height: 40px;
    padding: inherit;
    margin: 0 0 20px 0;
    background-color: #e5e5e5;
    text-indent: 8px;
    font-size: 16px;
    font-weight: 700;
    box-sizing: border-box; }
    .horizontal_scroll,.twiiter_horizontal_scroll{
    padding: 0 !important;
    border: none !important;
    margin-top: 0 !important;
    }
    .horizontal_scroll li,.twiiter_horizontal_scroll li{
    list-style: none !important;
    overflow-y: scroll;
    }
    
    .kuchicomi{
    margin: 0 auto;
    display: block;
    margin-top: 4px !important;
    }
    .horizontal_scroll img,.twiiter_horizontal_scroll img {
    vertical-align: bottom;
    border: 1px solid #e5e5e5;
    background: #fff;
    border-radius: 50%;
    }
    .kuchicomi-image {
    width: 35%;
    display: block;
    margin: 0 auto;
    }
    .people-name,.people-career,.people-star{
    width: 100%;
    display: inline-block;
    text-align: center;
    }
    .people-star .icon-star-full,.people-star .fa-star-half-alt,.people-star .rate-star-empty{
    display: inline-block;
    font-size: 13px;
    }
    .kuchimomi-name {
    font-size: 13px;
    font-weight: bold;
    margin-top: 10px !important;
    margin: 0 auto;
    text-align: center;
    }
    .rate-star-empty,.icon-star-empty {
    color: rgba(0, 0, 0, 0.15) !important;
    letter-spacing: 3px;
    }
    .horizontal_scroll,.twiiter_horizontal_scroll{
    border: none;
    background-color: #DAECF2;
    }
    .kuchicomi-text{
    margin: 0 auto;
    display: block;
    width: 89%;
    font-size: 12px;
    margin-top: 10px !important;
    line-height: 20px;
    }
    @media (max-width: 768px){
    .people-star .icon-star-full:before {
    font-size: 13px !important;
    letter-spacing: 2px;
    }
    .entry-content {
    padding: 10px 13px 0;
    }
    }
    .out_line_scrollHint{
    -webkit-animation: FloatHorizontal 2s ease-in-out infinite alternate;
    animation: FloatHorizontal 2s ease-in-out infinite alternate;
    margin-bottom: 2px!important;
    text-align: right;
    }
    .out_line_scrollHint span {
    align-items: center;
    display: inline-flex;
    font-size: 12px;
    line-height: 1;
    opacity: .75;
    vertical-align: middle;
    }
    .out_line_scrollHint span i {
    font-size: 16px;
    margin-left: 4px;
    }
    @keyframes FloatHorizontal
    {
    50%{-webkit-transform:translate3d(-15px,0,0);transform:translate3d(-15px,0px,0px);}
    }
    .horizontal_scroll li::before{
    content: none !important;
    }
    .rate-star-empty,.icon-star-empty{
    font-style: normal;
    }
    .rate-star-empty:before,.icon-star-empty::before{
    color: #cfcfcf;
    content: "\f005";
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
    }
    
    .icon-star-full {
    color: #ffb500;
    letter-spacing: 3px;
    font-style: normal;
    
    }
    .fa-star-half-alt:before,.icon-star-half::before {
    content: "\f5c0";
    font-family: "Font Awesome 5 Pro";
    font-weight: 900
    }
    
    .icon-star-full:before {
    content: "\f005";
    font-family: "Font Awesome 5 Pro" !important;
    font-weight: 900
    }
    .good-text, .bad-text {
    text-align: center;
    font-weight: bold;
    display: block;
    font-family: "æ¸¸ã‚´ã‚·ãƒƒã‚¯ä½“",YuGothic,"æ¸¸ã‚´ã‚·ãƒƒã‚¯ Medium","Yu Gothic Medium","æ¸¸ã‚´ã‚·ãƒƒã‚¯","Yu Gothic","ãƒ’ãƒ©ã‚®ãƒŽè§’ã‚´ã‚·ãƒƒã‚¯ Pro","Hiragino Kaku Gothic Pro","Noto Sans JP","ãƒ¡ã‚¤ãƒªã‚ª",Meiryo,Osaka,"ï¼­ï¼³ ï¼°ã‚´ã‚·ãƒƒã‚¯","MS PGothic",sans-serif !important;
    font-size: 12px;
    margin-top: 5px !important;
    }
    .good-text{
    color: #175491;
    }
    .bad-text{
    color: #cf2e2e;
    }
    .kuchicomi-title {
    font-size: 12px;
    text-align: center;
    font-weight: bold;
    margin: 0 20px;
    margin-top: 8px !important;
    }
    @media(max-width:768px) {
    .icon-star-full:before {
    font-size: 16px;
    letter-spacing: 2px
    }
    }
    .sgb-css-id-8 .sng-box {
    border: none;
    max-width: 800px;
    margin: 8px auto;
    font-weight: unset;
    }
    .category-spec-content{
    margin: 20px auto;
    }
    .sgb-css-id-8 .wp-block-columns {
    box-shadow: var(--wp--custom--shadow--medium,0 6px 13px -3px rgba(0, 12, 66, 0.1), 0 0px 1px rgba(0,30,100, 0.1));
    background: #fff;
    padding: 0;
    display: flex;
    margin-bottom: 0;
    border-radius: calc(var(--sgb--custom--box-radius,6)* 1px);
    box-sizing: border-box;
    flex-wrap: nowrap;
    gap: 0 !important;
    overflow: hidden;
    }
    .sgb-css-id-8 .wp-block-columns > * {
    width: 100%;
    }
    .wp-block-columns.is-not-stacked-on-mobile>.wp-block-column {
    flex-basis: 0;
    flex-grow: 1;
    }
    .sgb-css-id-8 .sgb-heading {
    margin: 0!important;
    }
    .sgb-css-id-8 .sng-box ul, .sgb-css-id-8 .sng-box ol {
    margin: 16px 0;
    padding: 0.2em 1.45em;
    border: none;
    }
    .sgb-css-id-8 li:last-child {
    border-bottom: 0;
    }
    .li-chevron li, .li-check li, .li-yubi li, .li-niku li {
    list-style-type: none !important;
    padding: 0.5em 0;
    line-height: 1.5;
    }
    .li-check .sgb-css-id-4 li:before {
    content: "\f111" !important;
    font-weight: 300 !important;
    position: absolute;
    left: -26px;
    font-family: "Font Awesome 5 Pro" !important;
    width: 1.25em;
    color: #175491 !important;
    display: block !important;
    transform: none;
    }
    
    .sgb-heading__inner {
    display: block;
    font-weight: 900;
    line-height: 1.4;
    }
    .li-check .sgb-css-id-7 li:before {
    content: "\f00d" !important;
    font-weight: 900;
    position: absolute;
    left: -26px;
    font-family: "Font Awesome 5 Pro" !important;
    width: 1.25em;
    color: #cf2e2e !important;
    transform: none;
    }
    .sgb-css-id-8 {
    border: none;
    max-width: 800px;
    margin: 8px auto;
    font-weight: unset;
    }
    .sgb-css-id-8 .wp-block-columns.is-not-stacked-on-mobile>.wp-block-column:not(:first-child) {
    margin-left: 0;
    margin-top: 0 !important;
    }
    ul.sgb-css-id-4,ul.sgb-css-id-7 {
    padding: 0 10px 0 10px;
    }
    .sgb-css-id-8li,.sgb-css-id-7li {
    border-bottom: dashed 2px #dadada;
    font-size: 15px;
    padding-left: 1.4em !important;
    margin-top: 0 !important;
    }
    .outline-blockmerit{
    background-color:#b4e0fa24;
    padding: 0 !important;
    }
    .li-check ul{
    background:none;
    }
    .wp-block-sgb-list {
    margin-top: 6px !important;
    }
    .inline-blockmerit{
    background-color:#175491;
    border-color:transparent;
    font-size:1em;
    text-align:center;
    }
    .outline-blockdemerit{
    background-color:#ffebeb52;
    padding: 0 !important;
    }
    .inline-blockdemerit{
    background-color:#cf2e2e;
    border-color:transparent;
    font-size:1em;
    text-align:center;
    }
    .box1{
    padding: 0;
    }
    .sgb-heading--type2 {
    border: 2px solid transparent;
    border-radius: 2px;
    padding: 0.75em 0.65em;
    }
    .meritto, .demeritto {
    position: relative;
    padding: 0.8em 1em;
    margin: 4em 0 2em !important;}
    .meritto {
    border: 3px solid #175491;
    }
    .demeritto {
    border: 3px solid #cf2e2e;
    }
    .meritto .box-title, .demeritto .box-title {
    position: absolute;
    top: -44px;
    left: -3px;
    color: white;
    line-height: 32px;
    padding: 5px 13px 3px;
    border-radius: 10px 10px 0 0;
    }
    .meritto .box-title {
    background: #175491;
    }
    .demeritto .box-title {
    background: #cf2e2e;
    }
    .meritto .box-title:before, .demeritto .box-title:before {
    margin-right: 10px;
    font-size: 1.2em;
    }
    .meritto .box-title:before {
    content: "\f599";
    }
    .demeritto .box-title:before {
    content: "\f119";
    }
    .meritto ul, .demeritto ul {
    list-style: none;
    }
    .meritto li, .demeritto li {
    padding: .5em 0 !important;
    padding-left: 6px !important;
    }
    .meritto li:before, .demeritto li:before {
    margin-left: -20px;
    margin-right: 10px;
    }
    .meritto li:before {
    content: "\f164" !important;
    color: #175491 !important;
    transform: none !important;
    font-size: 16px;
    }
    .data-title-in[A]{
      margin-top: 20px;
    }
    .demeritto li:before {
    content: "\f165" !important;
    color: #cf2e2e !important;
    transform: none !important;
    font-size: 16px;
    }
    .meritto li:before, .meritto .box-title:before, .demeritto li:before, .demeritto .box-title:before {
    font-family: "Font Awesome 5 Pro" !important;
    font-weight: 900;
    }
    @media(max-width:768px){
    .sgb-css-id-8 li, .sgb-css-id-7 li{
    font-size: 15px;
    }
    .sng-box .box-content {
        padding-top: 30px;
    }
    .sgb-css-id-8 {
    max-width: 100%;
    padding: 10px 0;
    }
    .sgb-heading--type2{
    padding: 10px 0;
    }
    .sgb-css-id-8 .wp-block-columns{
    display: block;
    }
    .li-chevron li, .li-check li, .li-yubi li, .li-niku li {
    list-style-type: none !important;
    padding: 0.5em 0;
    line-height: 2em;
    }
    a.btn_ao_b {
    padding: 20px 17px;
    }
    }
    .twiiter_horizontal_scroll li {
    background: #fff;
    display: block;
    position: relative;
    min-width: 320px;
    height: auto !important;
    padding: 10px;
    }
    .profession {
    font-size: 12px;
    padding: 4px 10px;
    background-color: #06066b;
    color: #fff;
    font-weight: bold;
    border-radius: 4px;
    margin-right: 7px;
    }
    .age {
    font-size: 13px;
    padding: 2px 0px;
    background-color: #F57C00;
    color: #fff;
    font-weight: bold;
    border-radius: 4px;
    margin-right: 7px;
    margin-bottom: 4px;
    display: block;
    width: 60px;
    text-align: center;
    }
    .gray-label{
     font-size: 13px;
    padding: 2px 0px;
    background-color: #8e8e8e;
    color: #fff;
    font-weight: bold;
    border-radius: 4px;
    margin-right: 7px;
    margin-bottom: 4px;
    display: block;
    width: 60px;
    text-align: center;
    }
    .three-points {
    border: 1px solid #175491;
    margin: 50px auto;
    }
    .three-points-content {
    display: flex;
    min-height: 90px;
    }
    .three-points-title {
    padding: 5px 20px;
    text-align: center;
    background-color: #175491;
    color: #fff;
    margin-bottom: 0;
    font-size: 20px;
    }
    .three-points-outline,.three-points-content{
    list-style-type: none;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    }
    .three-points-number {
    width: 85px;
    background-color: #bed9ef33 !important;
    position: relative;
    padding-bottom: 10px;
    padding-top: 9px;
    }
    .three-points-content:not(:last-child) {
    border-bottom: 1px solid #175491;
    }
    
    .three-points-number .points {
    position: relative;
    font-family: math;
    padding: 11px;
    border: 1px solid #175491;
    background: #fff;
    display: inline-block;
    margin: 1rem 0 6px -15px;
    line-height: 0;
    
    }
    .three-points-number .points:before {
    position: absolute;
    width: 0;
    border-left: 16px solid transparent;
    border-top: 12px solid #175491;
    left: -1px;
    content: '';
    height: 0;
    top: 100%;
    }
    .three-points-outline {
    list-style-type: none;
    padding-left: 0 !important;
    
    }
    .count-number {
    display: block;
    text-align: center;
    width:50px;
    background: #175491;
    margin: 0 auto;
    border-radius: 100px;
    margin-top: 0px;
    font-size: 30px;
    margin-bottom: 10px;
    height: 50px;
    color: #fff;
    line-height: 52px;
    }
    .three-points-outline>li:before{
    content: none !important;
    }
    .three-points-section {
    padding-left: 10px;
    padding-top: 20px;
    max-width: 640px;
    /* margin: 0 auto; */
    text-align: left;
    padding-bottom: 20px;
    }
    .three-points-section p{
    margin-top: 0;
    }
    .point-title{
    font-weight: bold;
    color: #175491;
    text-decoration: underline;
    }
    @media(max-width:768px){
    .three-points-number .points {
    position: relative;
    font-family: math;
    margin: 1rem 0 6px -9px;
    padding: 11px;
    background: #fff;
    border: 1px solid #175491;
    display: inline-block;
    line-height: 0;
    }
    .three-points-number {
    width: 195px;
    }
    .three-points-number .points:before {
    border-top: 12px solid #175491;
    border-left: 9px solid transparent;
    }
    .three-points-section{
    padding: 10px;
    margin-top: 5px !important;
    }
    }
    .twiiter_horizontal_scroll li {
    background: #fff;
    display: block;
    position: relative;
    min-width: 320px;
    height: auto !important;
    padding: 10px;
    }
    .twiiter_horizontal_scroll li:before{
    content:none !important;
    }
    .step-text, .kuchicomitext2 {
    text-align: center;
    font-weight: bold;
    display: block;
    }
    .twiiter_horizontal_scroll_comment .twitter-tweet.twitter-tweet-rendered {
    margin-top: -20px !important;
    }
    .Qa-Box {
    width: 100%;
    margin: 0 auto;
    }
    
    .Qa-Box .Qa {
    padding: 20px 0;
    border-bottom: 1px solid #c8c8c8;
    }
    
    .Qa-Box .Qa dt,
    .Qa-Box .Qa dd {
    display: flex;
    align-items: baseline;
    margin: 15px 0;
    }
    
    .Qa-Box .Qa dt p {
    margin: 0;
    padding-left: 15px;
    width: 100%;
    }
    
    .Qa-Box .Qa dd p {
    margin: 0;
    padding-left: 15px;
    width: 100%;
    color: #000;
    font-size: 98% !important;
    }
    
    .Qa-Box .Qa:last-of-type {
    border-bottom: none;
    }
    
    .Qa-Box .Qa dt::before {
    content: "Q";
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    background: #6699b7;
    width: 35px;
    height: 35px;
    font-size: 18px;
    font-weight: bold;
    }
    
    .Qa-Box .Qa dd::before {
    content: "A";
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    background: #d65556;
    width: 35px;
    height: 35px;
    font-size: 18px;
    font-weight: bold;
    }
    
    @media screen and (max-width: 960px) {
    .Qa-Box {
    width: 95%;
    }
    }
    .read-more-004 {
    position: relative;
    }
    
    .read-more-004 p {
    display: -webkit-box;
    position: relative;
    margin-bottom: 10px;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4; /* 開く前に見せたい行数を指定 */
    }
    
    .read-more-004:has(:checked) p {
    display: block;
    }
    
    .read-more-004 p::after {
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 60px;
    background: linear-gradient(180deg, hsla(0, 0%, 100%, 0) 0, hsla(0, 0%, 100%, .9) 50%, hsla(0, 0%, 100%, .9) 0, #fff);
    content: '';
    z-index: 10;
    }
    
    .read-more-004:has(:checked) p::after {
    content: none;
    }
    
    .read-more-004 label {
    display: flex;
    align-items: center;
    gap: 0 4px;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    padding: .4em 1.2em;
    border-radius: 25px;
    background-color: #2589d0;
    color: #fff;
    font-size: 18px;
    z-index: 8888;
    }
    
    .read-more-004 label:hover {
    border:1px solid #2589d0;
    background-color: #fff;
    color: #2589d0;
    cursor: pointer;
    }
    
    .read-more-004:has(:checked) label {
    display: none;
    }
    
    .read-more-004 label::after {
    display: inline-block;
    width: 10px;
    height: 5px;
    background-color: #fff;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
    }
    
    .read-more-004 label:hover::after{
    background-color: #2589d0;
    }
    
    .read-more-004 input {
    display: none;
    }
    .tablesorter {
    text-align: center
    }
    
    .tablesorter img {
    padding: 6px 0;
    vertical-align: middle;
    margin-right: 10px;
    margin-bottom: 0 !important
    }
    #compaire-table th::before,#compaire-table th::after{
     border-color: #fff transparent !important;
    }
    
    .tablesorter th {
    position: relative;
    cursor: pointer;
    text-align: left
    }
    .item th::before,.item th::after{
    display: none !important;
    }
    .item th{
    cursor: default !important;
    display: block;
    width: 160px;
    }
    
    .tablesorter th::before,
    .tablesorter th::after {
    content: '';
    position: absolute;
    z-index: 2;
    right: 7px;
    width: 0;
    height: 0;
    border: 4px dashed;
    border-color: #333 transparent;
    pointer-events: none
    }
    
    .tablesorter th::before {
    border-bottom-style: solid;
    border-top: 0;
    top: 30%
    }
    
    .tablesorter th::after {
    border-top-style: solid;
    border-bottom: 0;
    bottom: 30%
    }
    
    .tablesorter th.tablesorter-headerAsc:after {
    border: 0
    }
    
    .tablesorter th.tablesorter-headerAsc:before {
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%)
    }
    
    .tablesorter th.tablesorter-headerDesc:before {
    border: 0
    }
    
    .tablesorter th.tablesorter-headerDesc:after {
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%)
    }
    
    .tablesorter th.sorter-false:before,
    .tablesorter th.sorter-false:after {
    border: 0
    }
    @media(max-width:768px) {
    .tablesorter img {
    margin-right: 0
    }
    .font-big{
    font-size: 18px;
    }
    .tablesorter-header-inner,
    .tablesorter th,
    .tablesorter td {
    font-size: 11px;
    }
    .outline-data span {
    display: block
    }
    .best {
    width: 50%
    }
    .item th{
     width: 120px !important;
    }
    .fix-table-th,#compaire-table .tablesorter-header-inner{
    width: 120px !important;
    margin: 0 auto;
    }
    #compaire-table td{
     width: 100% !important;
    }
    #compaire-table thead th{
    padding: 10px 0 !important;
    }
    }
    
    @media(max-width:340px) {
    
    .tablesorter-header-inner,
    .tablesorter th,
    .tablesorter td {
    width: 40px
    }
    }
    /*その他と主な共通部分は省略*/
    
    .btn-copy {
    font-size: 1.5rem;
    font-weight: bold;
    position: relative;
    margin-bottom: .2em;
    text-align: center;
    margin-top: 30px;
    }
    
    .btn-copy:before {
    margin-right: 1rem;
    
    content: '＼';
    }
    
    .btn-copy:after {
    margin-left: 1rem;
    
    content: '／';
    }
    /*まずはお決まりのボックスサイズ算出をborer-boxに */
    *,
    *:before,
    *:after {
    -webkit-box-sizing: inherit;
    box-sizing: inherit;
    }
    
    html {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 62.5%;/*rem算出をしやすくするために*/
    }
    .btn-copy{
    color: #000;
    }
    .btn,
    a.btn,
    button.btn {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.5;
    position: relative;
    display: inline-block;
    padding: 1rem 4rem;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all 0.1s;
    transition: all 0.1s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    letter-spacing: 0.1em;
    color: #212529;
    border-radius: 0.5rem;
    }
    
    a.btn--yellow {
    color: #fff;
    background-color: #ff0000;
    text-shadow: 0 1px 4px rgba(0,0,0,.4);
    margin-bottom: 20px;
    }
    
    a.btn-c {
    font-size: 1.8rem;
    position: relative;
    padding: 1.5rem 5rem 1.5rem 3rem;
    width: 52%;
    margin: 0 auto;
    text-align: center;
    display: block;
    line-height: 1.5em;
    }
    
    a.btn-c i.fa {
    margin-right: 1rem;
    }
    
    a.btn-c:before {
    font-family: 'Font Awesome 5 Pro';
    font-size: 1.6rem;
    line-height: 1;
    position: absolute;
    top: calc(50% - .8rem);
    right: 1rem;
    margin: 0;
    padding: 0;
    content: '\f054';
    }
    .gray{
    background-color:#f6f6f6!important;
    }
    .ol-circle{
    margin: 10px 0;
    margin-bottom: 30px;
    }
    .ol-circle ol {
    list-style-type: none !important;
    padding: 1em 0.7em;
    counter-reset: number;
    }
    .ol-circle li {
    position: relative;
    padding: 0.5em 0 0.5em 34px;
    line-height: 1.5em;
    }
    .li-border {
    position: relative;
    padding: 0.5em 0 0.5em 34px;
    line-height: 1.5em;
    border-bottom: 1px dashed;
    }
    .li-mainbdr ul, .li-mainbdr ol, .li-mainbdr ul, .li-mainbdr ol {
    border-color: #002c70;
    }
    .cap_box_content .li-mainbdr ol,.cap_box_content .li-mainbdr ul{
    border: none !important;
    }
    .ol-circle li:before {
    display: inline-block;
    position: absolute;
    left: 0;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background: #5c9ee7;
    color: white;
    font-family: "Quicksand", sans-serif;
    font-size: 15px;
    font-weight: bold;
    text-align: center;
    vertical-align: middle;
    line-height: 25px;
    content: counter(number);
    counter-increment: number;
    }
    .main-bc-before li:before, .main-bc-before li:before {
    background-color:#002c70;
    }
    .cap_box_content ul{
    border: none !important;
    }
    .p-indexModal__inner {
    font-size: 16px;
    }
    .tl-content img{
    margin: 15px auto;
    display: block;
    text-align: center;
    margin-bottom: 30px;
    }
    .tb-tworesponsive {
    display: block;
    overflow-x: auto;
    width: 100%;
    white-space: nowrap;
    margin-bottom: 30px;
    }
    .js-scrollable td,
    .js-scrollable th {
    background-color: transparent;
    white-space: normal;
    min-width: 166px;
    max-width: 330px
    }
    .js-scrollable table {
    margin-bottom: 0;
    }
    .js-scrollable {
    margin-bottom: 30px;
    }
    .scroll-hint-icon{
    width: 150px;
    height: 100px;
    }
    .scroll-hint-text {
    font-size: 17px;
    }
     .js-scrollable th{
    background: var(--color_htag);
    }
    .button_solid004 a {
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 240px;
    padding: 10px 25px;
    margin: 0 10px;
    color: #FFF;
    transition: 0.3s ease-in-out;
    font-weight: 600;
    background: #6bb6ff;
    border-radius: 8px;
    border-bottom: solid 5px #1d7fde;
    }
    .button_solid004 a:after {
    position: absolute;
    top: 50%;
    right: 10px;
    font-size: 20px;
    transition: 0.2s ease-in-out;
    content: "\f0da";
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
    transform: translateY(-50%);
    }
    @media(max-width:768px){
    a.btn-c{
    width: 100%;
    font-size: 20px;
    }
    .btn.btn-c{
    width: 100%;
    }
    .p-indexModal__inner {
    font-size: 13px;
    }
    .js-scrollable td,
    .js-scrollable th {
    min-width: 126px;
    max-width: 330px
    }
    }
    .active-border {
    border: 1px solid #000;
    max-height: 300px;
    max-width: 400px;
    }
    .active-pair-border {
    border: 1px solid #000;
    max-height: 300px;
    max-width: 100%;
    }
    #swapbutton,#spreadbutton{
    background: #04b9f2 !important;
    width: 100%;
    box-shadow: var(--swl-img_shadow);
    color: #fff;
    font-weight: 900;
    font-size: 20px;
    margin-bottom: 20px;
    }
    
    #calculator{
    font-weight: bold;
    color: #000;
    }
    #currencyInput {
    width: 100%;
    }
    #lotSize {
    width: 100%;
    }
    
    #currencyInput,#lotSize,#swapAmountBuy,#swapAmountSell,#currentUSDJPYRate,.result-swap-left,.result-swap-right{
    font-weight: bold !important;
    }
    .outline-swap {
    display: flex;
    }
    .right-swap {
    width: 50%;
    margin-left: 25px;
    }
    .left-swap {
    width: 50%;
    }
    .result-swap-outline{
    display: flex;
    }
    .result-swap-left,.result-swap-right{
    width: 50%;
    }
    .result-swap-right{
    margin-left: 25px;
    }
    #swapAmountBuy{
    width: 100%;
    border-color: #29A643 !important;
    box-shadow: var(--swl-img_shadow);
    margin-top: 5px;
    
    }
    #swapAmountSell{
    width: 100%;
    border-color: #D51820 !important;
    box-shadow: var(--swl-img_shadow);
    margin-top: 5px;
    }
    .wp-block-table > table tr > th:first-child {
    z-index: 999 !important;
    position: relative;
    }
    .post_content thead td, .post_content thead th {
    background-color: var(--color_htag);
    color: #fff;
    }
    .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::-webkit-details-marker {
    display: none;
    }
    
    .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);
    }
    
    .accordion-008 p {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: 13px 10px;
    color: #333333;
    transition: transform .5s, opacity .5s;
    background-color: #fff !important;
    border-top: 1px dashed var(--color_border);
    }
    
    .accordion-008[open] p {
    transform: none;
    opacity: 1;
    }
    .btn-c {
    font-size: 32px;
    width: 93%;
    position: relative;
    padding: 40px 2rem 1.5rem 3.5rem;
    color: #fff;
    background-color: #ff0000;;
    box-shadow: 0 5px 0 #990101;
    max-width: 93% !important;
    }
    .btn-c {
    font-size: 1.8rem;
    position: relative;
    padding: 1.5rem 5rem 1.5rem 3rem;
    width: 52%;
    margin: 0 auto;
    text-align: center;
    display: block;
    line-height: 1.5em;
    margin-bottom: 20px;
    }
    
    .btn--yellow {
    color: #fff;
    background-color: #ff0000;;
    text-shadow: 0 1px 4px rgba(0,0,0,.4);
    }
    .post_content blockquote cite {
    display: block;
    font-size: 11px;
    font-style: normal;
    margin-top: 1em;
    opacity: .8;
    text-align: right;
    }
    .btn-c:before {
    font-family: 'Font Awesome 5 Pro';
    font-size: 1.6rem;
    line-height: 1;
    position: absolute;
    top: calc(50% - 0.8rem);
    right: 1rem;
    margin: 0;
    padding: 0;
    content: '\f054';
    }
    
    /*著者＆監修者*/
    .author-area-frame{
    margin-left: auto;
    }
    .author-area-in{
    display: flex;
    margin: -1em 0 -.5em;
    }
    .author-area{
    font-size: 1.1em;
    margin: 1.5em 0 0 0;
    }
    .author-area:not(:first-child){
    margin-left: 3em;
    }
    .author-image{
    display: inline-block;
    box-sizing: border-box;
    aspect-ratio: 1/1;
    width: 40px;
    border-radius: 50%;
    margin-right: 10px;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: 50% 50% !important;
    }
    .author-data{
    display: inline-block;
    vertical-align: top;
    position: relative;
    }
    .author-data .name{
    color: #a68c38;
    cursor: pointer;
    }
    .bold{
    font-weight: bold;
    }
    .author-link-frame{
    position: absolute;
    top: 4.5em;
    left: 50%;
    -webkit-transition: .3s;
    transition: .3s;
    z-index: -1;
    opacity: 0;
    }
    .author-link-frame::before{
    position: absolute;
    content: '';
    top: calc(sin(60deg) * -20px + 3px);
    left: calc(50% - 9px);
    background: #aaa;
    filter: drop-shadow(0 0 7px rgba(200, 200, 200, .5));
    height: calc(sin(60deg) * 17px);/*高さ*/
    width: 20px;/*底辺*/
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
    }
    .author-link-frame::after{
    position: absolute;
    content: '';
    top: calc(calc(sin(60deg) * -20px) + 4.5px);
    left: calc(50% - 11px);
    background: #fff;
    height: calc(sin(60deg) * 20px);/*高さ*/
    width: 24px;/*底辺*/
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
    }
    .author-link-area{
    position: absolute;
    content: '';
    top: 0;
    right: -25px;
    width: 280px;
    padding: 1em;
    background: #fff;
    border: solid 1px #aaa;
    box-shadow: 0 5px 8px rgba(100, 100, 50, .5);
    }
    .author-data-in,
    .author-link-in,
    .author-sns,
    .author-sns .icon{
    display: flex;
    }
    .author-link-in{
    justify-content: space-between;
    }
    .author-sns{
    display: flex;
    align-items: center;
    }
    .author-sns .icon{
    aspect-ratio: 1/1;
    width: 1.4em;
    margin-right: 13px;
    filter: invert(61%) sepia(29%) saturate(467%) hue-rotate(5deg) brightness(90%) contrast(89%);
    }
    .icon.x{
    width: 1.3em;
    }
    .author_description{
    margin: 1em 0;
    }
    @media (max-width : 580px){
    .author-area{
    font-size: .9em;
    }
    .author-image{
    width: 35px;
    }
    }
    
    .outline-spread{
    display: flex;
    }
    #accountType,#symbolInput {
    width: 100%;
    min-height: 50px;
    }
    .left-spread {
    width: 49%;
    margin-right: 10px;
    }
    .right-spread {
    width: 49%;
    }
    
    #spreadPipsResult,#spreadJPYResult{
    box-shadow: 0 2px 3px rgba(0,0,0,.1),0 4px 0px -4px rgba(0,0,0,.2);
    border: 1px solid #000;
    margin-right: 10px;
    width: 40%;
    font-weight: bold;
    }
    
    .spread-result-outline{
    display: flex;
    margin-top: 20px;
    }
    
    .spread-result-left{
    margin-right: 10px;
    }
    #symbolList{
    max-height: 300px;
    overflow-y: scroll;
    }
    .swell-block-review__rating .__stars{
    font-size:16px !important;
    }
    .swell-block-review__rating .__str{
    margin-right:0 !important;
    }
    .outline-flex {
    display: flex;
    justify-content: center;
    gap: 60px;
    }
    .swell-block-review__rating .__label {
    min-width: 160px;
    margin: 0 auto;
    display: block;
    max-width: 230px;
    }
    .icon-star-full {
    color: #ffb500;
    letter-spacing: 3px;
    font-style: normal;
    
    }
    .rate-star-empty,.icon-star-empty{
    font-style: normal;
    }
    .rate-star-empty:before,.icon-star-empty::before{
    color: #cfcfcf;
    content: "\f005";
    font-family: "Font Awesome 5 Pro" !important;
    font-weight: 900;
    }
    .icon-star-half::before {
    content: "\f5c0";
    font-family: "Font Awesome 5 Pro"!important;
    font-weight: 900
    }
    .fa-star-half-alt,.icon-star-half {
    color: var(--color-review_star,#fac225);
    }
    .icon-star-full:before {
    content: "\f005";
    font-family: "Font Awesome 5 Pro" !important;
    font-weight: 900
    }
    .swell-block-review {
    background: #d5d5d5;
    padding: 13px;
    }
    .swell-block-review__inner {
    max-width: 100% !important;
    }
    .swl-inline-list[data-icon=circle]:before{
    color: #449FBA !important;
    left: -22px !important;
    top: 0px !important;
    }
    .swl-inline-list[data-icon=close]:before{
    left: -22px !important;
    top: 0px !important;
    }
    .spec-content p{
    margin-bottom: 15px;
    }
    .contents-section p{
    margin-bottom: 15px;
    }
    .analyst-data-area{
    margin: 1.5em auto;
    max-width: calc(900px + 2em);
    padding: 0 1em;
    position: relative;
    margin-top: 50px !important;
    }
    .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: 20%;
    height: auto;
    position: relative;
    margin: 0 auto;
    display: block;
    padding: 0 20px;
    }
    .analyst-image img{
    border-radius: 100%;
    }
    .analyst-comment {
    width: calc(100% - 100px);
    padding: 0 2em;
    font-size: .9em;
    border-left: solid 1px #2678ba87;
    }
    .supervisor-name {
    width: 100%;
    text-align: center;
    display: block;
    margin-top: 10px;
    }
    .supervisor-qualification{
    width: 100%;
    text-align: center;
    display: block;
    }
    .table-border{
    border-bottom: solid 1px #ccc;
    width: 100%;
    }
    .padding-none{
    padding: none !important;
    }
    @media(max-width:768px){
    #spreadPipsResult, #spreadJPYResult {
    box-shadow: 0;
    border: 1px solid #000;
    margin-right: 10px;
    width: 70%;
    }
    .analyst-data{
    display: block;
    
    }
    .analyst-image{
    width: 100%;
    padding: 0;
    }
    .analyst-comment{
    width: 100%;
    padding: 10px;
    border-left: none;
    border-top: solid 2px #2678ba87;
    }
    .analyst-image img {
    border-radius: 100%;
    margin: 0 auto;
    display: block;
    width: 50%;
    }
    .outline-flex {
    gap: 30px;
    }
    .sp-zisseki {
    font-size: 13px;
    font-weight: bold;
    text-align: center;
    color: #fff;
    margin: 0 auto;
    display: block;
    padding-bottom: 4px;
    }
    .new-fcv li.fixcvs {
    background-color: #00b900;
    border-radius: 6px;
    }
    .new-fcv .outline-spcv {
    display: flex;
    align-items: center;
    width: 100%;
    justify-content: center;
    }
    .new-fcv li a {
    font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    display: block;
    min-height: 46px;
    color: #fff;
    font-weight: 700;
    font-size: 16px;
    box-sizing: border-box;
    line-height: 1;
    text-decoration: none;
    }
    .new-fcv li.fixcvs .ficons {
    width: 2rem;
    }
    .new-fcv .outline-spcv .ficons i {
    font-size: 29px;
    }
    .fa-line {
    margin-right: 10px !important;
    }
    .footer-ctext {
    margin: 0 auto;
    font-size: 18px;
    width: 100%;
    text-align: center;
    position: relative;
    font-family: "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif !important;
    }
    .new-fcv li a span {
    display: block;
    padding-top: 6px;
    font-size: 13px;
    text-align: left;
    padding-left: 14px;
    }
    #new-footerFloatinMenu-tel-and-line ul{
    margin-top: 0 !important;
    }
    #lineicon:before {
    padding-top: 1px;
    content: "\f3c0";
    font-family: "Font Awesome 5 Brands";
    font-weight: normal;
    color: #fff;
    font-size: 29px;
    position: absolute;
    padding-left: 20px;
    top: 32px;
    }
    #category-main{
    width: 100%;
    }
    .totop {
    display: none;
    width: 54px;
    height: 54px;
    text-align: center;
    position: fixed;
    bottom: 105px;
    right: 10px;
    border-radius: 50%;
    opacity: 0.6;
    transition: none;
    z-index: 10;
    }
    #fx-closeButton {
    margin-top: -6px;
    position: absolute;
    top: -3px;
    font-size: 30px;
    background: none;
    border: none;
    border-radius: 100px;
    color: #fff;
    font-weight: bold;
    left: 5px;
    padding: 0;
    }
    }
    
    .table-rank {
    text-align: center;
    position: relative;
    background-color: #002d69;
    color: #fff;
    width: 31%;
    font-weight: 700;
    border-radius: 20px;
    font-size: 12px;
    }
    .table-rank::before{
    position:absolute;
    content: "\f521";
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
    font-size: 11px;
    left: 5px;
    }
    .ol-circle.li-mainbdr.main-bc-before.border {
    border: 2px solid #002c70;
    }
    .ol-circle li.border {
    position: relative;
    padding: 0.5em 0 0.5em 34px;
    line-height: 1.5em;
    border-bottom: 1px dashed;
    }
    span.rank-number {
    margin-left: 16px;
    }
    .bikou.kikan {
    background-color: #5bc130;
    border-radius: 6px;
    padding: 2px 3px;
    }
    .complete-table{
    background: #c5c5c5;
    }
    .bonus-table td,.bonus-table th{
    text-align: center;
    }
    .bonus-tabletd{
    padding: 10px !important;
    }
    .bonus-table-content td,.bonus-table-content th{
    text-align: center;
    }
    .entry-content tr:not(:last-child) {
    border-bottom: 1px solid #e0e0e0;
    }
    .cushion {
    font-size: 12px;
    padding: 4px 6px;
    background-color: #F57C00;
    color: #fff;
    font-weight: bold;
    border-radius: 18px;
    
    }
    .bonus-table{
    border: 2px solid #000 !important;
    }
    .bonus-table tbody th {
    background: #fff !important;
    padding: 5px;
    border: 1px solid #ddd;
    }
    .bonus-table td{
    font-size: 13px;
    }
    /**************************
    タブ切り替え
    ***************************/
    .tab-wrap {
    display: flex;
    flex-wrap: wrap;
    margin:5px 0;
    }
    
    .tab-label {
    color: #000;
    font-weight: bold;
    background-color:lightgray;
    text-align: center;
    padding: .5em 1em;
    order: -1;
    position: relative;
    z-index: 1;
    cursor: pointer;
    flex: 1;
    border-radius: 2px;
    position: relative;
    }
    
    .tab-label:not(:last-of-type) {
    margin-right: 5px;
    }
    .align-center{
    text-align: center;
    display: block;
    margin: 0 auto;
    }
    .tab-content {
    width: 100%;
    height: 0;
    overflow: hidden;
    opacity: 0;
    }
    /* アクティブなタブ */
    .tab-switch:checked+.tab-label {
    color: #fff !important;
    background-color:#002c70;
    }
    .tab-switch:checked+.tab-label:after{
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -15px;
    border: 10px solid transparent;
    border-top:10px solid #002c70;
    width: 0;
    height: 0;
    }
    
    .tab-switch:checked+.tab-label+.tab-content {
    height: auto;
    overflow: auto;
    padding: 15px 0 0 0;
    opacity: 1;
    transition: .5s opacity;
    }
    
    /* ラジオボタン非表示 */
    .tab-switch {
    display: none;
    }
    .tab-content td{
    text-align: center;
    }
    .tab-content .button_solid004 a{
    max-width: 100%;
    }
    .sp{
    display: none;
    }
    .width50 {
    width: 22%;
    }
    .article-image{
    margin-top: 20px;
    }
    @media(max-width:768px){
    .tab-label {
    font-size: 12px;
    line-height: 1.4;
    }
    .width50 {
    width: 50%;
    }
    .sp{
    display: block;
    }
    .tab-content th,.tab-content td{
    font-size: 14px;
    }
    }
    /* 前の共通スタイルは維持 */
    .unq_collab_47295_container {
    max-width: 800px;
    margin: 20px auto;
    }
    .unq_collab_47295_banner {
    background: linear-gradient(to right,
    #FFE45C 0%,
    #FFE45C 50%,
    #2678BA 50%,
    #2678BA 100%
    );
    border-radius: 15px;
    padding: 25px 25px 0 25px;
    position: relative;
    overflow: hidden;
    }
    .unq_collab_47295_content {
    background: white;
    border-radius: 10px;
    padding: 20px;
    position: relative;
    z-index: 2;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    margin-bottom: 20px;
    }
    .unq_collab_47295_logos {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin-bottom: 20px;
    }
    .unq_collab_47295_cross {
    font-size: 24px;
    color: #666;
    }
    .unq_collab_47295_title {
    text-align: center;
    margin-bottom: 15px;
    font-size: 18px;
    font-weight: bold;
    }
    /* 個別文字の背景スタイルを新規追加 */
    .unq_collab_47295_char {
    display: inline-block;
    background: #FFE45C;
    padding: 3px 6px;
    border-radius: 8px;
    margin: 0 2px;
    font-size: 0.9em;
    }
    .unq_collab_47295_subtitle {
    text-align: center;
    background: #FFE45C;
    padding: 8px 20px;
    border-radius: 25px;
    display: inline-block;
    margin-bottom: 20px;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    font-weight: bold;
    }
    .unq_collab_47295_detail {
    background: rgb(81 79 79);
    padding: 15px;
    margin: 0 -25px;
    }
    .unq_collab_47295_detail a {
    color: white;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    text-shadow: 0 1px 2px rgba(0,0,0,0.3);
    font-weight: bold;
    }
    .unq_collab_47295_logos img{
    border:1px solid #c7c7c7;
    
    }
    .unq_camp_56382_container {
    text-align: center;
    position: relative;
    max-width: 400px;
    margin: 20px auto;
    padding: 0 40px;
    }
    .unq_camp_56382_content {
    position: relative;
    padding: 20px;
    }
    .unq_camp_56382_top {
    background: linear-gradient(to bottom, #1a50a3, #0066cc);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 5px;
    position: relative;
    z-index: 2;
    }
    .unq_camp_56382_main {
    background: linear-gradient(to bottom, #1a50a3, #0066cc);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
    font-size: 30px;
    font-weight: bold;
    line-height: 1.2;
    position: relative;
    z-index: 2;
    }
    .unq_camp_56382_slashes {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    }
    .unq_camp_56382_slashes.left {
    left: -30px;
    }
    .unq_camp_56382_slashes.right {
    right: -30px;
    display: flex;
    gap: 8px;
    }
    .unq_camp_56382_slashes.left .unq_camp_56382_slash {
    margin-right: 8px;
    }
    .unq_camp_56382_slash {
    width: 3px;
    display: inline-block;
    background: #1a50a3;
    }
    /* 左側のスラッシュ */
    .unq_camp_56382_slashes.left .unq_camp_56382_slash:nth-child(1) {
    height: 100px;
    transform: rotate(-30deg);
    }
    .unq_camp_56382_slashes.left .unq_camp_56382_slash:nth-child(2) {
    height: 80px;
    transform: rotate(-30deg);
    }
    /* 右側のスラッシュ */
    .unq_camp_56382_slashes.right .unq_camp_56382_slash:nth-child(1) {
    height: 80px;
    transform: rotate(30deg);
    }
    .unq_camp_56382_slashes.right .unq_camp_56382_slash:nth-child(2) {
    height: 100px;
    transform: rotate(30deg);
    }
    @media (max-width: 768px) {
    .unq_collab_47295_container {
    margin: 10px;
    }
    .unq_collab_47295_banner {
    padding: 15px 15px 0 15px;
    }
    .unq_collab_47295_detail {
    margin: 0 -15px;
    }
    .unq_camp_56382_container {
    padding: 0 30px;
    }
    .unq_camp_56382_top {
    font-size: 20px;
    }
    .unq_camp_56382_main {
    font-size: 26px;
    }
    .unq_camp_56382_slash {
    width: 2px;
    }
    .unq_camp_56382_slashes.left .unq_camp_56382_slash:nth-child(1),
    .unq_camp_56382_slashes.right .unq_camp_56382_slash:nth-child(2) {
    height: 80px;
    }
    .unq_camp_56382_slashes.left .unq_camp_56382_slash:nth-child(2),
    .unq_camp_56382_slashes.right .unq_camp_56382_slash:nth-child(1) {
    height: 60px;
    }
    .unq_collab_47295_logos {
    margin: 0 auto;
    margin-bottom: 20px;
    width: 43%;
    gap: 10px;
    }
    .unq_camp_56382_slashes.left {
    left: -14px;
    }
    .unq_camp_56382_slashes.right {
    right: -12px;
    }
    }
    .bizcloud2024_wrapper {
    position: relative;
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
    padding: 10px;/* 影が見えるようにパディングを追加 */
    }
    
    
    .bizcloud2024_container {
    position: relative;
    background: #fff;
    border-radius: 12px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: 0 8px 20px rgba(75, 73, 172, 0.1),
    0 2px 4px rgba(0, 0, 0, 0.05);
    transform: translateY(0);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    clip-path: inset(-100% -100% -100% -100% round 12px);/* 影に丸みを追加 */
    }
    
    .bizcloud2024_container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 35%;
    height: 100%;
    background: linear-gradient(135deg, #4B49AC 0%, #6E6CE6 100%);
    transform: skewX(-30deg);
    transform-origin: top;
    z-index: 1;
    }
    
    .bizcloud2024_title {
    position: relative;
    z-index: 2;
    width: 100%;
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: end;
    margin-top: 20px;
    }
    
    .bizcloud2024_title_text {
    font-size: 24px;
    font-weight: bold;
    color: #333;
    line-height: 1.4;
    margin: 0;
    }
    
    .bizcloud2024_cloud_icon {
    color: #4B49AC;
    font-size: 45px;
    }
    
    .bizcloud2024_content_container {
    display: flex;
    gap: 20px;
    align-items: center;
    }
    
    .bizcloud2024_visual_area {
    position: relative;
    z-index: 2;
    flex: 1;
    display: flex;
    align-items: center;
    }
    
    .bizcloud2024_visual {
    width: 100%;
    height: auto;
    display: block;
    }
    
    .bizcloud2024_content_area {
    position: relative;
    z-index: 2;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    }
    
    .bizcloud2024_trial_button {
    position: relative;
    display: inline-block;
    background: #06C755;
    padding: 20px 40px;
    border-radius: 100px;
    text-decoration: none;
    margin: 30px 0 20px;
    width: 100%;
    text-align: center;
    transition: transform 0.2s, box-shadow 0.2s;
    box-shadow: 0 4px 12px rgba(6, 199, 85, 0.2);
    }
    
    .bizcloud2024_trial_button:hover {
    background: #05b54c;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(6, 199, 85, 0.3);
    }
    
    .bizcloud2024_trial_label {
    position: absolute;
    top: -38px;
    left: 50%;
    transform: translateX(-50%);/* 中央揃えに変更 */
    background: #4B49AC;
    color: white;
    font-size: 15px;
    padding: 8px 16px;
    border-radius: 6px;
    white-space: nowrap;
    }
    .fa-users{
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
    }
    .bizcloud2024_trial_label::after {
    content: '';
    position: absolute;
    bottom: -6px;
    left: 50%;
    transform: translateX(-50%);/* 矢印も中央に揃える */
    width: 0;
    height: 0;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-top: 12px solid #4B49AC;
    }
    .bizcloud2024_trial_text {
    color: white;
    font-weight: bold;
    font-size: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    }
    
    .bizcloud2024_trial_text i {
    font-size: 0.8em;
    }
    /* PCレイアウト */
    @media (min-width: 769px) {
    .bizcloud2024_container {
    display: flex;
    flex-direction: column;
    gap: 20px;
    }
    
    .bizcloud2024_title {
    width: 100%;
    margin: 0;
    
    }
    
    .bizcloud2024_content_container {
    display: flex;
    gap: 20px;
    align-items: center;
    margin-top: -30px;
    }
    
    .bizcloud2024_visual_area,
    .bizcloud2024_content_area {
    flex: 1;
    }
    }
    
    /* スマホレイアウト */
    @media (max-width: 768px) {
    .bizcloud2024_container {
    padding: 10px;
    display: flex;
    flex-direction: column;
    gap: 0px;
    }
    .bizcloud2024_cloud_icon {
    font-size: 30px;
    }
    .bizcloud2024_visual_area {
    order: 1;
    }
    
    .bizcloud2024_title {
    order: 2;
    margin: 20px 0;
    justify-content: center;
    }
    
    .bizcloud2024_content_area {
    order: 3;
    width: 100%;
    }
    
    .bizcloud2024_content_container {
    display: contents; /* コンテナの影響をなくす */
    }
    
    .bizcloud2024_title_text {
    font-size: 16px;
    text-align: center;
    }
    
    .bizcloud2024_trial_text {
    font-size: 16px;
    }
    
    .bizcloud2024_trial_label {
    top: -34px;
    }
    }
    :root {
    --bg-blue: #e6f7fc;
    --accent-blue: #00b8e6;
    --white: #ffffff;
    --text-dark: #333333;
    }
    
    .campaign-header {
    text-align: center;
    margin: 30px auto;
    padding: 25px 40px;
    color: var(--accent-blue);
    font-size: 1.8rem;
    background: var(--white);
    border: 2px solid var(--accent-blue);
    border-radius: 8px;
    max-width: fit-content;
    box-shadow: 0 2px 10px rgba(0, 184, 230, 0.1);
    }
    
    .campaign-header i {
    color: var(--accent-blue);
    margin: 0 15px;
    }
    
    .campaign-scroll__container {
    max-width: 100%;
    background: linear-gradient(135deg, var(--bg-blue), #ffffff) !important;
    padding: 25px;
    overflow-x: auto;
    }
    
    .campaign-scroll__wrapper {
    display: flex;
    gap: 25px;
    padding: 10px 5px;
    }
    
    .campaign-bonus__container {
    flex: 0 0 340px;
    padding: 25px;
    background: var(--white);
    border-radius: 10px;
    box-shadow: 0 4px 15px rgba(0, 184, 230, 0.1);
    transition: transform 0.2s ease;
    }
    
    .campaign-bonus__container:hover {
    transform: translateY(-5px);
    }
    
    .campaign-bonus__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
    border-bottom: 1px solid rgba(0, 184, 230, 0.2);
    padding-bottom: 15px;
    }
    
    .campaign-bonus__title {
    font-size: 19px;
    font-weight: 700;
    color: var(--text-dark);
    margin: 0;
    }
    
    .campaign-bonus__status {
    padding: 6px 12px;
    background: var(--accent-blue);
    color: var(--white);
    border-radius: 4px;
    font-weight: bold;
    font-size: 13px;
    }
    
    .campaign-bonus__item {
    padding: 12px;
    background: var(--bg-blue);
    border-radius: 8px;
    margin-bottom: 15px;
    }
    
    .campaign-bonus__label {
    font-size: 16px;
    font-weight: bold;
    color: #666666;
    margin-bottom: 2px;
    }
    
    .campaign-bonus__value {
    font-size: 14px;
    color: var(--text-dark);
    font-weight: 500;
    }
    
    .campaign-bonus__amount {
    color: var(--accent-blue);
    font-size: 18px;
    font-weight: 600;
    }
    
    .campaign-bonus__detail-btn {
    width: 100%;
    padding: 6px;
    background: var(--accent-blue);
    color: var(--white);
    border: none;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 500;
    margin-top: 15px;
    cursor: pointer;
    display: block;
    text-align: center;
    text-decoration: none;
    transition: all 0.3s ease;
    }
    
    .campaign-bonus__detail-btn:hover {
    background: #009ac2;
    }
    
    .scroll-hint-icon {
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    box-sizing: border-box;
    padding: 14px;
    background: rgba(0, 0, 0, 0.7);
    border-radius: 4px;
    text-align: center;
    color: #fff;
    line-height: 20px;
    }
    .scroll-hint-text{
    font-size: 13px !important;
    }
    .step-slider__container {
    max-width: 640px;
    margin: 30px auto;
    background: #ffffff;
    padding: 30px;
    border-radius: 16px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    }
    
    .step-slider__wrapper {
    position: relative;
    overflow: hidden;
    }
    
    .step-slider__track {
    position: relative;
    display: flex;
    transition: transform 0.3s ease;
    gap: 20px;
    }
    
    .step-slider__slide {
    position: relative;
    flex: 0 0 100%;
    transform: translateX(0);
    opacity: 1;
    }
    
    .step-slider__track::-webkit-scrollbar {
    display: none;
    }
    
    
    .step-slider__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    }
    
    .step-slider__step-title {
    display: flex;
    align-items: center;
    gap: 15px;
    }
    
    .step-slider__step-number {
    background: #1a365d;
    color: white;
    padding: 8px 20px;
    border-radius: 8px;
    font-weight: bold;
    font-size: 15px;
    }
    
    .step-slider__title {
    font-size: 20px;
    color: #1a365d;
    font-weight: bold;
    margin: 0;
    }
    
    .step-slider__image-container {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 30px 0;
    min-height: 300px; /* 画像の高さに応じて調整 */
    }
    
    .step-slider__image {
    max-width: 100%;
    height: auto;
    object-fit: contain;
    }
    
    .step-slider__button {
    display: block;
    width: fit-content;
    margin: 0 auto;
    background: #4299e1;
    color: white;
    padding: 12px 24px;
    border-radius: 8px;
    text-decoration: none;
    transition: background-color 0.3s;
    }
    
    .step-slider__button:hover {
    background: #2b6cb0;
    }
    
    .step-slider__nav {
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
    }
    
    .step-slider__nav-button {
    background: #1a365d;
    color: white;
    border: none;
    padding: 12px 24px;
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: background-color 0.3s;
    }
    
    .step-slider__nav-button:hover {
    background: #2d4a77;
    }
    
    .step-slider__nav-button:disabled {
    background: #cbd5e0;
    cursor: not-allowed;
    }
    
    .step-slider__progress {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 20px;
    }
    
    .step-slider__progress-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #cbd5e0;
    transition: background-color 0.3s;
    }
    
    .step-slider__progress-dot.active {
    background: #4299e1;
    }
    .forex-guide__section {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fbfbfd;
    }
    
    .forex-guide__header {
    width: min(90%, 1000px);
    position: relative;
    }
    
    .forex-guide__content {
    position: relative;
    text-align: center;
    overflow: hidden;
    }
    
    .forex-guide__title {
    font-size: clamp(2.5rem, 5vw, 3.5rem);
    font-weight: 700;
    color: #1d1d1f;
    margin: 0;
    line-height: 1.2;
    letter-spacing: -0.03em;
    }
    
    .forex-guide__highlight {
    position: relative;
    display: inline-block;
    color: #06c;
    transition: color 0.3s ease;
    }
    
    .forex-guide__highlight::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0.1em;
    width: 100%;
    height: 0.2em;
    background: rgba(0, 102, 204, 0.1);
    border-radius: 2px;
    transform-origin: left;
    transition: transform 0.3s ease;
    }
    
    .forex-guide__highlight:hover {
    color: #007AFF;
    }
    
    .forex-guide__highlight:hover::after {
    transform: scaleX(1.1);
    background: rgba(0, 122, 255, 0.15);
    }
    
    .forex-guide__subtitle {
    font-size: clamp(1.1rem, 2vw, 1.4rem);
    color: #86868b;
    margin: 20px 0 0;
    font-weight: 500;
    letter-spacing: 0.01em;
    }
    
    .forex-guide__arrow {
    height: 80px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    opacity: 0.8;
    padding-bottom: 10px;
    transition: opacity 0.3s ease;
    }
    
    .forex-guide__arrow:hover {
    opacity: 1;
    }
    
    .forex-guide__arrow-line {
    width: 1px;
    height: 60px;
    background: linear-gradient(to bottom,
    rgba(0, 102, 204, 0),
    rgba(0, 102, 204, 1) 70%);
    transform-origin: top;
    animation: lineGrow 2s ease-out infinite;
    }
    
    .forex-guide__arrow-head {
    width: 14px;
    height: 14px;
    border-right: 1.5px solid #06c;
    border-bottom: 1.5px solid #06c;
    transform: rotate(45deg);
    margin-top: -7px;
    }
    
    @keyframes lineGrow {
    0% { transform: scaleY(0); opacity: 0; }
    50% { transform: scaleY(1); opacity: 1; }
    100% { transform: scaleY(1); opacity: 1; }
    }
    
    @keyframes arrowBounce {
    0%, 50% { transform: rotate(45deg) translateY(0); }
    75% { transform: rotate(45deg) translateY(5px); }
    100% { transform: rotate(45deg) translateY(0); }
    }
    
    .forex-guide__ambient {
    position: absolute;
    inset: 0;
    background:
    radial-gradient(circle at 30% 20%, rgba(0, 102, 204, 0.05) 0%, transparent 50%),
    radial-gradient(circle at 70% 80%, rgba(0, 122, 255, 0.05) 0%, transparent 50%);
    filter: blur(40px);
    z-index: -1;
    }
    .forex-steps {
    margin: 40px auto;
    padding: 0 24px;
    font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', sans-serif;
    }
    
    .forex-steps__box {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 14px;
    overflow: hidden;
    }
    
    .forex-steps__list {
    list-style: none;
    padding: 0 !important;
    margin: 0;
    }
    
    .forex-steps__item {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    
    .forex-steps__item:not(:last-child) {
    border-bottom: 1px solid #e5e5e5;
    }
    
    .forex-steps__link {
    display: flex;
    align-items: center;
    padding: 16px 5px;
    text-decoration: none;
    color: #1d1d1f;
    gap: 12px;
    }
    
    .forex-steps__check {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    background: #06c;
    border-radius: 50%;
    color: #fff;
    font-size: 12px;
    flex-shrink: 0;
    }
    
    .forex-steps__text {
    font-size: 15px;
    line-height: 1.4;
    letter-spacing: -0.01em;
    color: #1d1d1f;
    transition: color 0.3s ease;
    }
    
    .forex-steps__arrow {
    margin-left: auto;
    width: 8px;
    height: 8px;
    border-right: 1.5px solid #86868b;
    border-top: 1.5px solid #86868b;
    transform: rotate(45deg);
    transition: all 0.3s ease;
    }
    
    /* Hover state */
    .forex-steps__item:hover {
    background: #fafafa;
    }
    
    .forex-steps__item:hover .forex-steps__arrow {
    transform: translate(4px, -4px) rotate(45deg);
    border-color: #06c;
    }
    
    .forex-steps__item:hover .forex-steps__text {
    color: #06c;
    }
    
    /* Active state */
    .forex-steps__item:active {
    background: #f5f5f5;
    }
    @media (max-width: 768px) {
    .forex-steps__list{
    margin: 0;
    }
    .step-slider__container{
    margin: 0 auto;
    padding: 20px 10px;
    }
    .step-slider__image-container{
    min-height: 200px;
    }
    .step-slider__step-number{
    padding: 8px 10px;
    }
    .step-slider__nav{
    margin-top: 0px;
    }
    .step-slider__slide{
    height: 410px;
    }
    .step-slider__button{
    margin-bottom: 20px;
    }
    .forex-steps{
    padding: 0 !important;
    }
    }
    .investment-btn-footer {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: white;
    padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
    box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
    z-index: 9999;
    display: flex;
    justify-content: center;
    }
    
    .investment-btn-wrapper {
    background-color: #FF6B33;
    border-radius: 8px;
    padding: 15px 20px;
    width: 100%;
    max-width: 400px;
    position: relative;
    cursor: pointer;
    border: none;
    display: flex;
    align-items: center;
    transition: background-color 0.3s;
    text-decoration: none;
    height: 52px;
    }
    
    .investment-btn-wrapper:hover {
    background-color: #FF844F;
    }
    
    .investment-btn-icon-container {
    width: 28px;
    height: 28px;
    background-color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    font-size: 16px;
    margin-right: 8px;
    }
    
    .investment-btn-text-container {
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: center;
    }
    
    .investment-btn-primary-text {
    color: white;
    font-size: 16px;
    font-weight: bold;
    font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "メイリオ", sans-serif;
    margin: 0;
    }
    
    .investment-btn-free-badge {
    background-color: white;
    color: #FF6B33;
    font-size: 12px;
    padding: 1px 8px;
    border-radius: 12px;
    font-weight: bold;
    display: flex;
    align-items: center;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    margin: 0;
    white-space: nowrap;
    }
    
    .investment-btn-bonus-badge {
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
    background-color: white;
    padding: 0px 12px;
    border-radius: 12px;
    font-size: 12px;
    white-space: nowrap;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    color: #FF6B33;
    font-weight: bold;
    display: flex;
    align-items: center;
    gap: 4px;
    }
    
    .investment-btn-bonus-badge::before {
    content: "🔔";
    font-size: 14px;
    }
    
    .investment-btn-bonus-badge {
    animation: investment-btn-pulse 2s infinite;
    }
    
    /* コンテンツエリアの中央寄せ用コンテナ */
    .investment-btn-content {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 0 auto;
    }
    
    @supports (padding: max(0px)) {
    .investment-btn-footer {
    padding-bottom: max(10px, env(safe-area-inset-bottom));
    }
    }
    
    body {
    padding-bottom: calc(90px + env(safe-area-inset-bottom));
    }
    .investment-btn-close {
    position: absolute;
    top: -30px;
    right: 10px;
    width: 24px;
    height: 24px;
    background: #8d8d8d;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    border: none;
    padding: 0;
    color: #fff;
    font-size: 16px;
    line-height: 1;
    }
    
    .investment-btn-close:hover {
    background-color: #f5f5f5;
    }
    
    .investment-btn-footer.hidden {
    display: none;
    }
    @media (max-width: 768px) {
    .investment-btn-bonus-badge{
    padding: 2px 14px;
    }
    .investment-btn-free-badge{
    padding: 2px 9px;
    }
    .investment-btn-wrapper{
    padding-top: 25px;
    padding-bottom: 25px;
    }
    }
    
    @keyframes fadeIn {
    from {
    opacity: 0;
    transform: translateY(30px);
    }
    to {
    opacity: 1;
    transform: translateY(0);
    }
    }
    
    .prf-container {
    max-width: 900px;
    margin: 60px auto;
    padding: 0 20px;
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", sans-serif;
    }
    
    .prf-card {
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    animation: fadeIn 1s ease-out forwards;
    }
    
    .prf-header {
    background: linear-gradient(135deg, #007AFF, #5856D6);
    padding: 15px 40px;
    color: #ffffff;
    position: relative;
    }
    
    .prf-title {
    font-size: 21px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin: 0;
    opacity: 0.9;
    }
    
    .prf-main {
    display: flex;
    padding: 40px;
    align-items: flex-start;
    gap: 40px;
    }
    
    .prf-image-wrapper {
    flex-shrink: 0;
    width: 180px;
    height: 180px;
    margin-top: -100px;
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
    }
    
    .prf-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    }
    
    .prf-content {
    flex: 1;
    }
    
    .prf-name {
    font-size: 32px;
    font-weight: 600;
    color: #1d1d1f;
    margin: 0 0 8px;
    }
    
    .prf-position {
    font-size: 18px;
    color: #007AFF;
    margin: 0 0 24px;
    font-weight: 500;
    }
    
    .prf-info {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 24px;
    margin-top: 10px;
    padding-top: 15px;
    border-top: 1px solid #f2f2f2;
    }
    
    .prf-info-item {
    display: flex;
    flex-direction: column;
    }
    
    .prf-info-label {
    font-size: 12px;
    text-transform: uppercase;
    color: #86868b;
    margin-bottom: 8px;
    letter-spacing: 0.05em;
    }
    
    .prf-info-value {
    font-size: 15px;
    color: #1d1d1f;
    line-height: 1.5;
    }
    .l-mainContent__innerp{
    margin-bottom: 20px;
    }
    .width50{
    width: 50%;
    margin: 0 auto;
    }
    :root {
    --primary-gradient: linear-gradient(135deg, #9000dd, #E60000);
    --secondary-gradient: linear-gradient(135deg, #9000dd, #FF3333);
    --accent-color: #FF0000;
    --text-primary: #1a1f36;
    --text-secondary: #666666;
    --background-primary: #f8f9fd;
    --background-secondary: #ffffff;
    --shadow-sm: 0 4px 6px rgba(0, 0, 0, 0.06);
    --shadow-md: 0 10px 20px rgba(0, 0, 0, 0.08);
    --shadow-lg: 0 15px 30px rgba(0, 0, 0, 0.1);
    --gray-accent: #999999;
    --border-radius: 16px;
    }
    
    .xmt-total-bonus {
    background: var(--primary-gradient);
    border-radius: var(--border-radius);
    padding: 2.5rem 3rem;
    color: white;
    text-align: center;
    margin-bottom: 3rem;
    position: relative;
    overflow: hidden;
    }
    
    .xmt-bonus-pattern {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0.1;
    pointer-events: none;
    }
    
    .xmt-bonus-glow {
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: radial-gradient(circle, rgba(255,255,255,0.2) 0%, rgba(255,255,255,0) 50%);
    animation: rotateGlow 15s linear infinite;
    pointer-events: none;
    }
    
    .xmt-bonus-shapes {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    pointer-events: none;
    }
    
    @keyframes rotateGlow {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
    }
    
    @keyframes floatShape {
    0%, 100% { transform: translate(0, 0) rotate(0deg); }
    25% { transform: translate(5px, -5px) rotate(5deg); }
    75% { transform: translate(-5px, 5px) rotate(-5deg); }
    }
    
    .xmt-bonus-subtitle {
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 0.75rem;
    opacity: 0.9;
    font-weight: 500;
    position: relative;
    display: inline-block;
    padding: 0.4rem 1.2rem;
    background: rgba(255, 255, 255, 0.15);
    border-radius: 50px;
    backdrop-filter: blur(5px);
    }
    
    .xmt-bonus-title {
    font-size: 2.5rem;
    font-weight: 700;
    margin: 0.75rem 0;
    line-height: 1.3;
    text-shadow: 0 2px 10px rgba(0,0,0,0.1);
    }
    
    .xmt-bonus-description {
    font-size: 1.1rem;
    opacity: 0.9;
    margin-top: 0.75rem;
    font-weight: 500;
    }
    
    .xmt-dollar-sign {
    display: inline-block;
    position: relative;
    animation: pulseAmount 2s infinite;
    }
    
    @keyframes pulseAmount {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.05); }
    }
    
    @keyframes shimmer {
    0% {
    transform: translateX(-100%);
    }
    100% {
    transform: translateX(100%);
    }
    }
    
    .xmt-bonus-title span {
    position: relative;
    padding: 0 0.5rem;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    overflow: hidden;
    }
    
    .xmt-bonus-title span::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
    animation: shimmer 3s infinite;
    }
    
    @keyframes fadeInUp {
    from {
    opacity: 0;
    transform: translateY(20px);
    }
    to {
    opacity: 1;
    transform: translateY(0);
    }
    }
    
    @keyframes pulseGlow {
    0% {
    box-shadow: 0 0 0 0 rgba(43, 78, 255, 0.4);
    }
    70% {
    box-shadow: 0 0 0 10px rgba(43, 78, 255, 0);
    }
    100% {
    box-shadow: 0 0 0 0 rgba(43, 78, 255, 0);
    }
    }
    
    
    
    .xmt-bonus-container {
    max-width: 1000px;
    margin: 2rem auto;
    padding: 2rem;
    background: var(--background-secondary);
    border-radius: var(--border-radius);
    box-shadow: var(--shadow-md);
    animation: fadeInUp 0.8s ease-out;
    }
    
    .xmt-total-bonus {
    background: var(--primary-gradient);
    border-radius: var(--border-radius);
    padding: 2.5rem;
    color: white;
    text-align: center;
    margin-bottom: 3rem;
    box-shadow: var(--shadow-md);
    animation: floatAnimation 6s ease-in-out infinite;
    }
    
    .xmt-total-bonus:hover {
    animation: pulseGlow 2s infinite;
    }
    
    .xmt-total-bonus h2 {
    font-size: 2.5rem;
    font-weight: 700;
    margin-bottom: 1rem;
    text-shadow: 0 2px 4px rgba(0,0,0,0.1);
    }
    
    .xmt-total-bonus p {
    font-size: 1.1rem;
    opacity: 0.9;
    }
    
    .xmt-bonus-grid {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 2rem;
    align-items: center;
    margin-bottom: 3rem;
    }
    
    .xmt-bonus-card {
    background: var(--background-secondary);
    padding: 2.5rem;
    border-radius: var(--border-radius);
    text-align: center;
    box-shadow: var(--shadow-sm);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    animation: fadeInUp 0.8s ease-out backwards;
    }
    
    .xmt-bonus-card:nth-child(1) {
    animation-delay: 0.2s;
    }
    
    .xmt-bonus-card:nth-child(3) {
    animation-delay: 0.4s;
    }
    
    .xmt-bonus-card:hover {
    transform: translateY(-5px) scale(1.02);
    box-shadow: var(--shadow-lg);
    background: var(--secondary-gradient);
    color: white;
    }
    
    .xmt-plus-symbol {
    font-size: 3rem;
    color: var(--gray-accent);
    font-weight: 300;
    position: relative;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f5f5f5;
    border-radius: 50%;
    }
    
    .xmt-bonus-percentage {
    font-size: 4rem;
    font-weight: 700;
    background: var(--primary-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    line-height: 1;
    margin-bottom: 1rem;
    transition: all 0.3s ease;
    }
    
    .xmt-bonus-card:hover .xmt-bonus-percentage {
    background: white;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    }
    
    .xmt-bonus-amount {
    font-size: 1.1rem;
    color: var(--text-secondary);
    line-height: 1.6;
    transition: all 0.3s ease;
    }
    
    .xmt-bonus-card:hover .xmt-bonus-amount {
    color: white;
    }
    
    .xmt-bonus-table {
    background: var(--background-secondary);
    border-radius: var(--border-radius);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    margin-bottom: 3rem;
    animation: fadeInUp 0.8s ease-out 0.4s backwards;
    }
    
    .xmt-bonus-table th,
    .xmt-bonus-table td {
    padding: 1.25rem;
    border: none;
    border-bottom: 1px solid rgba(0,0,0,0.05);
    transition: background-color 0.3s ease;
    }
    
    .xmt-bonus-table tr:hover td {
    background-color: rgba(43, 78, 255, 0.02);
    }
    
    .xmt-bonus-table th {
    background: rgba(43, 78, 255, 0.03);
    font-weight: 600;
    color: var(--text-primary);
    width: 30%;
    }
    
    .xmt-accordion {
    background: var(--background-secondary);
    border-radius: var(--border-radius);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    margin-bottom: 1.5rem;
    transition: all 0.3s ease;
    animation: fadeInUp 0.8s ease-out 0.6s backwards;
    }
    
    .xmt-accordion:hover {
    box-shadow: var(--shadow-md);
    }
    
    .xmt-accordion-header {
    background: rgba(43, 78, 255, 0.03);
    padding: 1.5rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-weight: 600;
    color: var(--text-primary);
    transition: all 0.3s ease;
    }
    
    .xmt-accordion-header:hover {
    background: rgba(43, 78, 255, 0.05);
    }
    
    .xmt-accordion-header::after {
    content: '';
    width: 12px;
    height: 12px;
    border-right: 2px solid var(--accent-color);
    border-bottom: 2px solid var(--accent-color);
    transform: rotate(45deg);
    transition: transform 0.3s ease;
    margin-top: -6px;
    }
    
    .xmt-accordion.active .xmt-accordion-header::after {
    transform: rotate(-135deg);
    margin-top: 6px;
    }
    
    .xmt-example-table {
    width: 100%;
    border-collapse: collapse;
    }
    
    .xmt-example-table th,
    .xmt-example-table td {
    padding: 1.25rem;
    text-align: left;
    border: none;
    border-bottom: 1px solid rgba(0,0,0,0.05);
    font-size: 14px;
    transition: background-color 0.3s ease;
    }
    
    .xmt-example-table tr:hover td {
    background-color: rgba(43, 78, 255, 0.02);
    }
    
    .xmt-accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
    }
    
    .xmt-accordion.active .xmt-accordion-content {
    max-height: 1000px;
    }
    
    .xmt-bonus-button {
    display: inline-block;
    width: 100%;
    padding: 1.25rem;
    background: var(--primary-gradient);
    color: white;
    text-align: center;
    border-radius: var(--border-radius);
    font-weight: 600;
    font-size: 16px;
    text-decoration: none;
    box-shadow: var(--shadow-md);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border: none;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    animation: fadeInUp 0.8s ease-out 0.8s backwards;
    }
    
    .xmt-bonus-button:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-lg);
    }
    
    .xmt-bonus-button::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 120%;
    height: 120%;
    background: rgba(255, 255, 255, 0.2);
    transform: translate(-50%, -50%) scale(0);
    border-radius: 50%;
    transition: transform 0.5s ease-out;
    }
    
    .xmt-bonus-button:hover::after {
    transform: translate(-50%, -50%) scale(1);
    }
    
    .xmt-disclaimer {
    margin-top: 2rem;
    padding: 1.5rem;
    background: rgba(43, 78, 255, 0.03);
    border-radius: var(--border-radius);
    font-size:14px;
    text-align: center;
    color: var(--text-secondary);
    line-height: 1.6;
    animation: fadeInUp 0.8s ease-out 1s backwards;
    }
    
    @media (max-width: 768px) {
    .xmt-bonus-container {
    padding: 1rem;
    }
    
    .xmt-bonus-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
    }
    
    .xmt-plus-symbol {
    transform: rotate(90deg);
    }
    
    .xmt-total-bonus h2 {
    font-size: 2rem;
    }
    
    .xmt-bonus-percentage {
    font-size: 3rem;
    }
    
    .xmt-example-table {
    font-size: 0.8rem;
    }
    }
    @media (min-width: 960px) {
    .p-fixBtnWrap {
    bottom: 11.5em;
    right: 2.5em;
    }
    }
    @media (max-width: 768px) {
    .prf-container {
    margin: 30px auto;
    padding: 0;
    }
    .width50{
    width: 100%;
    }
    .prf-main {
    flex-direction: column;
    padding: 24px;
    text-align: center;
    gap: 0px;
    align-items: center;
    
    }
    
    .prf-image-wrapper {
    margin: -80px auto 20px;
    width: 230px;
    height: 230px;
    }
    .prf-title {
    font-size: 16px;
    text-align: center;
    }
    .prf-name {
    font-size: 24px;
    }
    
    .prf-position {
    font-size: 16px;
    margin-bottom: 16px;
    }
    
    .prf-info {
    grid-template-columns: 1fr;
    gap: 16px;
    }
    
    .prf-info-item {
    align-items: center;
    }
    }
    .fx_comparison_container * {
    box-sizing: border-box;
    }
    
    .fx_comparison_container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
    color: #1d1d1f;
    }
    
    .fx_table_container {
    position: relative;
    overflow-x: auto;
    width: 100%;
    margin-bottom: 30px;
    -webkit-overflow-scrolling: touch;
    }
    
    .fx_filter_section {
    background-color: #f5f5f7;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 30px;
    }
    
    .fx_filter_title {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 15px;
    }
    
    .fx_filter_group {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 20px;
    }
    
    .fx_filter_label {
    font-size: 14px;
    margin-bottom: 8px;
    display: block;
    font-weight: 500;
    }
    
    .fx_checkbox_group {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    }
    
    .fx_checkbox_label {
    display: flex;
    align-items: center;
    font-size: 14px;
    cursor: pointer;
    }
    
    .fx_checkbox_input {
    margin-right: 6px;
    accent-color: #0071e3;
    }
    
    .fx_amount_filter {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    }
    
    .fx_amount_option {
    background-color: white;
    border: 1px solid #d2d2d7;
    border-radius: 20px;
    padding: 6px 14px;
    font-size: 14px;
    cursor: pointer;
    transition: all 0.2s ease;
    }
    
    .fx_amount_option.fx_selected {
    background-color: #0071e3;
    color: white;
    border-color: #0071e3;
    }
    
    .fx_sort_section {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 20px;
    }
    
    .fx_sort_button {
    background-color: white;
    border: 1px solid #d2d2d7;
    border-radius: 20px;
    padding: 8px 16px;
    font-size: 14px;
    cursor: pointer;
    transition: all 0.2s ease;
    }
    
    .fx_sort_button.fx_active {
    background-color: #0071e3;
    color: white;
    border-color: #0071e3;
    }
    
    .fx_comparison_table {
    width: 100%;
    min-width: 900px;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
    }
    
    .fx_comparison_table th {
    background-color: #f5f5f7;
    padding: 15px;
    text-align: left;
    font-weight: 600;
    font-size: 14px;
    position: sticky;
    top: 0;
    z-index: 1;
    }
    
    .fx_comparison_table td {
    padding: 15px;
    border-bottom: 1px solid #d2d2d7;
    font-size: 14px;
    vertical-align: top;
    background-color: #ffffff;
    }
    
    .fx_comparison_table tr:last-child td {
    border-bottom: none;
    }
    
    .fx_comparison_table tr:hover td {
    background-color: #f5f5f7;
    }
    
    /* 固定列の設定 */
    .fx_comparison_table th:first-child,
    .fx_comparison_table td:first-child {
    position: -webkit-sticky;
    position: sticky;
    left: 0;
    width: 120px;
    min-width: 120px;
    max-width: 120px;
    }
    
    .fx_comparison_table th:first-child {
    background-color: #f5f5f7;
    z-index: 3;
    }
    
    .fx_comparison_table td:first-child {
    background-color: #ffffff;
    z-index: 2;
    box-shadow: 2px 0 5px rgba(0, 0, 0, 0.1);
    }
    
    .fx_comparison_table tr:hover td:first-child {
    background-color: #f5f5f7;
    }
    
    .fx_broker_logo {
    width: 100%;
    max-width: 100px;
    height: auto;
    margin-bottom: 10px;
    border-radius: 8px;
    }
    
    .fx_broker_name {
    font-weight: 600;
    font-size: 14px;
    line-height: 1.2;
    word-break: break-word;
    }
    
    .fx_bonus_section {
    margin-bottom: 10px;
    }
    
    .fx_bonus_amount {
    font-weight: 600;
    color: #0071e3;
    font-size: 16px;
    min-width: 270px;
    margin-bottom: 5px;
    }
    
    .fx_bonus_detail {
    margin-bottom: 3px;
    align-items: flex-start;
    }
    
    .fx_detail_label {
    font-weight: 500;
    width: 80px;
    flex-shrink: 0;
    }
    
    .fx_status_active {
    color: #34c759;
    font-weight: 600;
    }
    
    .fx_status_inactive {
    color: #ff3b30;
    font-weight: 600;
    }
    
    .fx_cushion_yes {
    color: #34c759;
    }
    
    /* 新しいボーナス情報スタイル */
    .fx_bonus_cell {
      padding: 0px !important;
      min-width: 310px !important;
      font-size: 14px;
    }
    
    .fx_bonus_row {
      display: flex;
      align-items: center;
      border-bottom: 1px solid #e0e0e0;
    }
    
    .fx_bonus_row:last-child {
      border-bottom: none;
      margin-bottom: 0;
      padding-bottom: 0;
    }
    
    .fx_bonus_label {
      width: 100px;
      padding: 10px;
      text-align: left;
      border-right: 1px solid #e0e0e0;
    }
    
    .fx_bonus_value {
      padding: 3px 0 3px 10px;
      flex: 1;
    }
    
    .fx_cushion_no {
    color: #ff3b30;
    }
    
    .fx_official_link {
    display: inline-block;
    background-color: #0071e3;
    color: white;
    text-decoration: none;
    padding: 8px 16px;
    border-radius: 20px;
    font-weight: 500;
    transition: all 0.2s ease;
    }
    
    .fx_official_link:hover {
    background-color: #0077ed;
    transform: translateY(-1px);
    }
    
    .fx_collapsible_header {
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    padding: 5px 0;
    }
    
    .fx_collapsible_title {
    font-weight: 500;
    color: #1d1d1f;
    }
    
    .fx_collapsible_icon {
    transition: transform 0.3s ease;
    }
    
    .fx_collapsible_content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
    }
    
    .fx_collapsible_content.fx_expanded {
    max-height: 500px;
    padding-bottom: 10px;
    
    }
    
    .fx_collapsible_icon.fx_expanded {
    transform: rotate(180deg);
    }
    
    .fx_broker_row.fx_filtered {
    display: none;
    }
    
    /* 絞り込みボタン */
    .fx_filter_button_container {
    margin-bottom: 20px;
    }
    
    .fx_filter_button {
    display: flex;
    align-items: center;
    gap: 8px;
    background-color: white;
    border: 1px solid #d2d2d7;
    border-radius: 20px;
    padding: 8px 16px;
    font-size: 14px;
    font-weight: 500;
    color: #1d1d1f;
    cursor: pointer;
    transition: all 0.2s ease;
    }
    
    .fx_filter_button:hover {
    background-color: #f5f5f7;
    }
    
    .fx_filter_button svg {
    width: 16px;
    height: 16px;
    }
    
    /* モーダル関連 */
    .fx_modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1000;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    }
    
    .fx_modal.fx_show {
    display: flex;
    align-items: center;
    justify-content: center;
    }
    
    .fx_modal_content {
    position: relative;
    background-color: white;
    width: 90%;
    max-width: 500px;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    margin: 20px auto;
    overflow: hidden;
    animation: fx_modal_in 0.3s ease forwards;
    }
    
    @keyframes fx_modal_in {
    from {
    opacity: 0;
    transform: translateY(20px);
    }
    to {
    opacity: 1;
    transform: translateY(0);
    }
    }
    
    .fx_modal_header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    border-bottom: 1px solid #d2d2d7;
    }
    
    .fx_modal_title {
    font-size: 18px;
    font-weight: 600;
    color: #1d1d1f;
    margin: 0;
    }
    
    .fx_modal_close {
    background: none;
    border: none;
    font-size: 24px;
    color: #86868b;
    cursor: pointer;
    padding: 0;
    line-height: 1;
    }
    
    .fx_modal_body {
    padding: 20px;
    }
    
    .fx_modal_section {
    margin-bottom: 24px;
    }
    
    .fx_modal_section:last-child {
    margin-bottom: 0;
    }
    
    .fx_section_title {
    font-size: 16px;
    font-weight: 600;
    margin: 0 0 12px 0;
    color: #1d1d1f;
    }
    
    .fx_modal_footer {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    padding: 16px 20px;
    border-top: 1px solid #d2d2d7;
    }
    
    .fx_reset_button {
    background: none;
    border: 1px solid #d2d2d7;
    border-radius: 20px;
    padding: 8px 16px;
    font-size: 14px;
    font-weight: 500;
    color: #1d1d1f;
    cursor: pointer;
    }
    
    .fx_apply_button {
    background-color: #0071e3;
    border: 1px solid transparent;
    border-radius: 20px;
    padding: 8px 24px;
    font-size: 14px;
    font-weight: 500;
    color: white;
    cursor: pointer;
    transition: background-color 0.2s ease;
    }
    
    .fx_apply_button:hover {
    background-color: #0077ed;
    }
    
    /* 選択状態の表示 */
    .fx_filter_active .fx_filter_button {
    background-color: #0071e3;
    color: white;
    border-color: #0071e3;
    }
    
    /* 入金ボーナスの付与率フィルター */
    .fx_deposit_rate_filter {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    }
    
    .fx_deposit_rate_option {
    background-color: white;
    border: 1px solid #d2d2d7;
    border-radius: 20px;
    padding: 6px 14px;
    font-size: 14px;
    cursor: pointer;
    transition: all 0.2s ease;
    }
    .fx_deposit_rate_option.fx_selected {
    background-color: #0071e3;
    color: white;
    border-color: #0071e3;
    }
    
    /* 詳細情報のリストスタイル */
    .fx_detail_list {
      list-style: none;
      padding: 0;
      margin: 0;
    }
    
    .fx_detail_item {
      position: relative;
      padding-left: 25px;
      margin-bottom: 8px;
      display: flex;
      align-items: flex-start;
    }
    
    .fx_detail_item:last-child {
      margin-bottom: 0;
    }
    
    .fx_detail_item::before {
      font-family: "Font Awesome 5 Pro";
      font-weight: 900;
      position: absolute;
      left: 0;
      top: 2px;
      color: #0071e3;
    }
    
    .fx_detail_withdrawal::before {
      content: "\f3d1"; /* 出金条件のアイコン（money-bill-wave） */
    }
    
    .fx_detail_cushion::before {
      content: "\f0e3"; /* クッション機能のアイコン（shield-alt） */
    }
    
    .fx_detail_account::before {
      content: "\f2bd"; /* 対象口座のアイコン（user-circle） */
    }
    
    .fx_detail_label {
      font-weight: 500;
      min-width: 80px;
      display: inline-block;
    }
    
    .fx_detail_value {
      display: inline-block;
    }
    
    .fx_limited_bonus_filter {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    }
    
    .fx_limited_bonus_option {
    background-color: white;
    border: 1px solid #d2d2d7;
    border-radius: 20px;
    padding: 6px 14px;
    font-size: 14px;
    cursor: pointer;
    transition: all 0.2s ease;
    }
    
    .fx_limited_bonus_option.fx_selected {
    background-color: #0071e3;
    color: white;
    border-color: #0071e3;
    }
    
    /* 期間限定ボーナスのフィルタリングオプション */
    .fx_limited_bonus_option {
    background-color: white;
    border: 1px solid #d2d2d7;
    border-radius: 20px;
    padding: 6px 14px;
    font-size: 14px;
    cursor: pointer;
    transition: all 0.2s ease;
    }
    
    .fx_limited_bonus_option.fx_selected {
    background-color: #0071e3;
    color: white;
    border-color: #0071e3;
    }
    
    /* 期間限定ボーナスのフィルタリングオプション */
    .fx_limited_bonus_option {
    background-color: white;
    border: 1px solid #d2d2d7;
    border-radius: 20px;
    padding: 6px 14px;
    font-size: 14px;
    cursor: pointer;
    transition: all 0.2s ease;
    }
    
    .fx_limited_bonus_option.fx_selected {
    background-color: #0071e3;
    color: white;
    border-color: #0071e3;
    }
    .sgb-css-id-4, .sgb-css-id-7 {
    padding: 0 10px 0 34px !important;
    margin-bottom: 0;
    }
    @media (max-width: 900px) {
    .fx_comparison_container {
    padding: 10px;
    }
    
    .fx_filter_section, .fx_sort_section {
    margin-bottom: 20px;
    }
    
    .fx_sort_button, .fx_amount_option, .fx_deposit_rate_option {
    font-size: 12px;
    padding: 6px 12px;
    }
    
    .fx_bonus_amount {
    font-size: 14px;
    }
    
    .fx_detail_label {
    width: 60px;
    }
    
    .fx_filter_group, .fx_sort_section {
    justify-content: flex-start;
    }
    
    .fx_modal_content {
    width: 95%;
    margin: 10px auto;
    }
    
    .fx_modal_section {
    margin-bottom: 20px;
    }
    
    .fx_section_title {
    font-size: 15px;
    }
    }
    .trading-spec-container {
    max-width: 800px;
    margin: 0 auto;
    margin-top: 30px !important;
    background-color: white;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
    border: 1px solid #e2e8f0;
    }
    
    .trading-spec-header {
    background-color: #1e3a8a;
    color: white;
    padding: 20px;
    text-align: center;
    }
    
    .trading-spec-header{
    font-size: 24px;
    font-weight: bold;
    }
    
    .trading-spec-table-container {
    padding: 0;
    }
    
    .trading-spec-table {
    width: 100%;
    border-collapse: collapse;
    }
    
    .trading-spec-row:nth-child(even) {
    background-color: #f8fafc;
    }
    
    .trading-spec-row:hover {
    background-color: #eef2ff;
    }
    
    .trading-spec-th, .trading-spec-td {
    padding: 16px 20px;
    text-align: left;
    border-bottom: 1px solid #e2e8f0;
    }
    
    .trading-spec-th {
    background-color: #1e3a8a !important;
    color: white;
    font-weight: 500;
    width: 30%;
    border-right: 2px solid #2d4a9a;
    }
    
    .trading-spec-td {
    font-size: 16px;
    border-bottom: 1px solid #e2e8f0;
    }
    
    .trading-spec-row {
    border-bottom: 1px solid #e2e8f0;
    }
    
    .trading-spec-highlight {
    color: #1e3a8a;
    font-weight: 600;
    }
    
    .trading-spec-tag {
    display: inline-block;
    background-color: #e2e8f0;
    color: #334155;
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 14px;
    margin: 2px 4px 2px 0;
    }
    
    .trading-spec-tag-container {
    display: flex;
    flex-wrap: wrap;
    }
    
    .trading-spec-no-fee {
    color: #16a34a;
    font-weight: 600;
    }
    
    .trading-spec-zero-value {
    color: #6b7280;
    }
    
    .trading-spec-payment-methods {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    }
    
    .trading-spec-payment-method {
    position: relative;
    padding-left: 32px;
    background-color: #f1f5f9;
    padding: 6px 6px 6px 32px;
    border-radius: 6px;
    font-size: 14px;
    }
    
    /* 疑似要素を使用したFont Awesomeアイコン */
    .trading-spec-payment-method::before {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
    color: #475569;
    width: 16px;
    text-align: center;
    }
    
    .trading-spec-payment-method-bitwallet::before {
    content: "\f379"; /* ビットコインのアイコン */
    font-family: "Font Awesome 5 Brands";
    font-weight: 400;
    }
    
    .trading-spec-payment-method-credit::before {
    content: "\f09d"; /* クレジットカードのアイコン */
    }
    
    .trading-spec-payment-method-sticpay::before {
    content: "\f155"; /* ドル記号のアイコン */
    }
    
    .trading-spec-payment-method-bank::before {
    content: "\f19c"; /* 銀行のアイコン */
    }
    
    .trading-spec-payment-method-crypto::before {
    content: "\f51e"; /* コインのアイコン */
    }
    
    .trading-spec-payment-method-applepay::before {
    content: "\f415"; /* アップルペイのアイコン */
    font-family: "Font Awesome 5 Brands";
    font-weight: 400;
    }
    
    .trading-spec-footer {
    text-align: center;
    padding: 16px;
    font-size: 12px;
    color: #64748b;
    background-color: #f8fafc;
    }
    .xm_container {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    max-width: 960px;
    margin: 0 auto;
    padding: 20px;
    }
    
    .xm_title {
    font-size: 20px;
    font-weight: 600;
    text-align: center;
    margin-bottom: 20px;
    color: #333;
    }
    
    .xm_links_box {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    padding: 20px;
    }
    
    .xm_links_list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    }
    
    .xm_link {
    display: flex;
    align-items: center;
    padding: 10px;
    border-radius: 8px;
    background: #f8f8f8;
    text-decoration: none;
    color: #333;
    transition: all 0.2s ease;
    border: 1px solid #eee;
    position: relative;
    }
    
    .xm_link:hover {
    background: #f0f0f0;
    transform: translateY(-2px);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    }
    
    /* 右矢印アイコン */
    .xm_link::after {
    content: "\f054"; /* FontAwesome chevron-right アイコン */
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
    position: absolute;
    right: 12px;
    color: #007aff;
    font-size: 12px;
    }
    
    /* アイコン共通スタイル */
    .xm_link::before {
    width: 30px;
    height: 30px;
    background: #007aff;
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 10px;
    font-family: "Font Awesome 5 Pro";
    font-weight: 900;
    font-size: 14px;
    flex-shrink: 0;
    }
    
    /* 各アイコン個別スタイル */
    .xm_bonus::before {
    content: "\f06b"; /* gift */
    }
    
    .xm_leverage::before {
    content: "\f201"; /* chart-line */
    }
    
    .xm_spread::before {
    content: "\f362"; /* exchange-alt */
    }
    
    .xm_swap::before {
    content: "\f2f1"; /* sync-alt */
    }
    
    .xm_execution::before {
    content: "\f0e7"; /* bolt */
    }
    
    .xm_deposit::before {
    content: "\f555"; /* wallet */
    }
    
    .xm_safety::before {
    content: "\f3ed"; /* shield-alt */
    }
    
    .xm_lot::before {
    content: "\f1b3"; /* cubes */
    }
    
    .xm_stoplevel::before {
    content: "\f256"; /* hand-paper */
    }
    
    .xm_support::before {
    content: "\f590"; /* headset */
    }
    
    .xm_account::before {
    content: "\f2bd"; /* user-circle */
    }
    
    .xm_text {
    font-size: 14px;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding-right: 20px; /* 矢印アイコンのためのスペース */
    }
    
    @media (max-width: 768px) {
    .xm_links_list {
    grid-template-columns: repeat(2, 1fr);
    }
    .fx_table_container { 
      height: 750px;
    }
    }
    
    @media (max-width: 480px) {
    .xm_links_list {
    grid-template-columns: 1fr;
    }
    }
    .fx_table_wrapper {
      position: relative;
    }
    
    .fx_table_container {
      position: relative;
      overflow-x: auto; /* 横スクロールを維持 */
      white-space: nowrap;
      height: 630px; 
      overflow-y: hidden !important; /
    }
    
    /* テーブル固定設定 */
    .fx_bonus_table thead th {
      position: sticky;
      top: 0;
      z-index: 2;
      max-width: 800px;
    }
    
    .fx_bonus_table th:first-child {
      position: sticky;
      left: 0;
      z-index: 1;
      max-width: 200px;
      min-width: 120px;
    }
    
    .fx_bonus_table thead th:first-child {
      z-index: 3;
    }
    
    /* グラデーションオーバーレイ */
    .fx_table_wrapper:not(.fx_expanded)::after {
      content: '';
      position: absolute;
      bottom: 40px;
      left: 0;
      right: 0;
      height: 100px;
      background: linear-gradient(
        to bottom,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 1) 100%
      );
      pointer-events: none;
    }
    
    /* もっと見るボタン */
    .fx_table_expand_button {
      position: absolute;
      bottom: 20px;
      left: 50%;
      transform: translateX(-50%);
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      min-width: 200px;
      padding: 16px 32px;
      background: #fff;
      border: 1px solid #e0e0e0;
      border-radius: 50px;
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
      cursor: pointer;
      font-size: 15px;
      font-weight: 500;
      color: #333;
      transition: all 0.3s ease;
      z-index: 4; /* 表とグラデーションの上に表示 */
    }
    
    .fx_table_expand_button::after {
      font-family: "Font Awesome 5 Pro";
      font-weight: 900;
      content: "\f107";
      font-size: 18px;
      margin-left: 4px;
      transition: all 0.3s ease;
      color: #666;
    }
    
    .fx_table_expand_button:hover {
      background: #f8f8f8;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
      transform: translateX(-50%) translateY(-2px);
    }
    
    /* 展開時のスタイル */
    .fx_table_wrapper.fx_expanded .fx_table_container {
      height: auto;
    }
    
    .fx_table_wrapper.fx_expanded .fx_table_expand_button {
      bottom: -90px; /* 展開時はテーブルの下に配置 */
      background: #f8f8f8;
    }
    
    .fx_table_wrapper.fx_expanded .fx_table_expand_button::after {
      transform: rotate(180deg);
    }
    
    /* ボタンのアニメーション */
    @keyframes subtle-bounce {
      0%, 100% { transform: translateX(-50%) translateY(0); }
      50% { transform: translateX(-50%) translateY(-3px); }
    }
    
    .fx_table_wrapper:not(.fx_expanded) .fx_table_expand_button {
      animation: subtle-bounce 2s ease-in-out infinite;
    }
    
    /* ホバー時はアニメーションを停止 */
    .fx_table_wrapper:not(.fx_expanded) .fx_table_expand_button:hover {
      animation: none;
    }
    /* 展開時のスタイル */
    .fx_table_wrapper.fx_expanded .fx_table_container {
      height: auto; /* 高さを自動に */
    }
    
    .fx_table_wrapper.fx_expanded .fx_table_expand_button::after {
      transform: rotate(180deg);
    }
    .br-top3-section {
    max-width: 100%;
    margin: 0;
    padding:20px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    background: linear-gradient(135deg, #e8f4fd 0%, #f5f7fa 50%, #fff5eb 100%);
    position: relative;
    }
    
    .br-top3-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: 
    radial-gradient(circle at 20% 30%, rgba(30, 108, 255, 0.05) 0%, transparent 50%),
    radial-gradient(circle at 80% 70%, rgba(255, 107, 53, 0.05) 0%, transparent 50%);
    pointer-events: none;
    }
    
    .br-top3-wrapper {
    position: relative;
    z-index: 1;
    }
    
    .br-top3-label {
    display: inline-block;
    background: #ff6b35;
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    padding: 6px 14px;
    border-radius: 4px;
    margin-bottom: 12px;
    text-align: center;
    }
    
    .br-top3-header {
    text-align: center;
    margin-bottom: 20px;
    }
    
    .br-top3-heading {
    font-size: 30px;
    font-weight: bold;
    color: #1a1a1a;
    margin: 0;
    }
    
    .br-top3-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 0;
        justify-content: center;
    }
    
    .br-top3-card {
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    transition: all 0.3s ease;
    position: relative;
    border: 1px solid #e8e8e8;
    display: flex;
    flex-direction: column;
    min-width: 280px;
    }
    
    .br-top3-card:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
    }
    
    .br-top3-card-header {
    padding: 20px 20px 0;
    background: #fff;
    }
    
    .br-top3-rank {
    font-size: 20px;
    font-weight: bold;
    position: relative;
    padding-left: 42px;
    }
    
    .br-top3-rank::before {
    content: '\f521';
    font-family: 'Font Awesome 5 Pro';
    font-weight: 400;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 25px;
    }
    
    .br-top3-rank-1 {
    color: #a68c00;
    }
    
    .br-top3-rank-1::before {
    color: #a68c00;
    }
    
    .br-top3-rank-2 {
    color: #c0c0c0;
    }
    
    .br-top3-rank-2::before {
    color: #c0c0c0;
    }
    
    .br-top3-rank-3 {
    color: #ff8c42;
    }
    
    .br-top3-rank-3::before {
    color: #ff8c42;
    }
    
    .br-top3-site-name {
    font-size: 20px;
    font-weight: bold;
    color: #1a1a1a;
    margin-bottom: 20px;
    }
    
    .br-top3-image-wrapper {
    position: relative;
    width: 100%;
    padding: 0 20px;
    display: flex;
    margin-top:15px;
    justify-content: center;
    align-items: center;
    margin-bottom: 20px;
    min-height: 180px;
    }
    
    .br-top3-image {
    max-width: 100%;
    height: auto;
    object-fit: contain;
    }
    
    .br-top3-content {
    padding: 10px 5px;
    flex: 1;
    display: flex;
    flex-direction: column;
    }
    
    .br-top3-features {
    background: transparent;
    border-top: 1px solid #e8e8e8;
    padding:20px 14px 0px 14px;
    margin-bottom: 0px;
    flex: 1;
    }
    
    .br-top3-features-list {
    list-style: none;
    padding: 0 !important;	
    margin: 0;
    }
    
    .br-top3-features-item {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 10px !important;
    font-size:15px;
    color: #333;
    line-height: 1.6 !important;
    position: relative;
    padding-left: 24px;
    }
    
    .br-top3-features-item:last-child {
    margin-bottom: 0;
    }
    
    .br-top3-features-item::before {
    content: '\f058';
    font-family: 'Font Awesome 5 Pro';
    font-weight: 400;
    position: absolute;
        left: -7px;
        top: -2px;
    color: #ff6b35;
    font-size: 20px;
    }
    
    .br-top3-features-text {
    flex: 1;
    }
    
    .br-top3-features-text strong {
    color: #ff6b35;
    font-weight: bold;
    }
    
    .br-top3-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 24px;
    background: #1e6cff;
    color: #fff;
    text-align: center;
    text-decoration: none;
    border-radius: 25px;
    font-weight: bold;
    font-size:15px;
    width:100%;
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
    gap: 8px;
    }
    
    .br-top3-button:hover {
    background: #0052cc;
    }
    
    .br-top3-button-icon {
    font-size: 0.85rem;
    }
    
    .br-top3-notes {
    margin-top: 20px;
    padding: 15px;
    background: #fff;
    border-radius: 8px;
    font-size: 0.8rem;
    color: #666;
    line-height: 1.8;
    }
    
    .br-top3-notes p {
    margin: 0 0 5px 0;
    }
    
    .br-top3-notes p:last-child {
    margin-bottom: 0;
    }
    
    @media (max-width: 1024px) {
    .br-top3-container {
    display: flex;
    overflow-x: auto;
    justify-content:flex-start;
    gap: 15px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 10px;
    }
    
    .br-top3-card {
    flex: 0 0 85%;
    max-width: 400px;
    scroll-snap-align: start;
    }
    }
    
    @media (max-width: 768px) {
    .br-top3-section {
    padding: 30px 15px;
    }
    
    .br-top3-heading {
    font-size: 20px;
    }
    
    .br-top3-container {
    gap: 12px;
    margin-left: -15px;
    margin-right: -15px;
    padding-left: 15px;
    padding-right: 15px;
    }
    
    .br-top3-card {
    flex: 0 0 80%;
    min-width: 260px;
    }
    
    .br-top3-rank {
    font-size: 15px;
    }
    
    .br-top3-site-name {
    font-size: 15px;
    }
    
    .br-top3-image-wrapper {
    min-height: 150px;
    }
    
    .br-top3-features-item {
    font-size: 14px;
    }
    
    .br-top3-button {
    font-size: 15px;
    padding: 12px 20px;
    }
    }