@charset "UTF-8";
html, body, h1, h2, h3, h4, h5, h6, ul, ol, dl, li, dt, dd, p { margin: 0; padding: 0; font-size: 100%; }
body { line-height: 1.8; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; font-family: -apple-system, BlinkMacSystemFont, 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', '游ゴシック  Medium', meiryo, sans-serif; }
img { border: 0; vertical-align: bottom; }
ul, ol { list-style: none; }
.clearfix:after { content: "."; display: block; clear: both; height: 0; visibility: hidden; }
.clearfix { min-height: 1px; }
* html .clearfix { height: 1px; }

.FV { background: url("../images/facta_lp_bg-pc.webp")no-repeat fixed; background-size: 100%; position: relative; }
.pc {display: none;}
.cont { width: 100%; margin: 0 auto; }
.facta_f_cont { padding:0 2% 2%; }
.ad { background: #FFF; border:2px solid #1A857F; border-radius: 20px; overflow: hidden; box-sizing: border-box; width: 95%; margin: 5% auto; }
.ad_title { font-size: 25px; padding: 3%; color: #FFF; background: #1A857F; position: relative; display: flex; border:1px solid #1A857F; box-sizing: border-box; }
.ad_title .icon { top:10%; display: inline-block; width: 15%; margin: 0 15px 0 0; z-index: 999; }
.ad_name_title { font-size: 35px; text-align: center; font-weight: bold; margin-bottom: 15px; }
.ad_name_title a { color: #1A857F; }
.ad_cont { padding: 2% 2% 0 2%; }
.ad_thum { float: left; width: 50%; padding:1%; box-sizing: border-box; }
.ad_txt { width: 50%; padding:1%; color:#333; float: left; box-sizing: border-box; }
.ad_txt h2 { padding: 10px 0; }
.eva { font-size: 20px; color: #FFC300; }
.eva_none { color: #999 !important; }
.eva_txt { font-size: 30px; color: #999; }
.eva_voice_txt { padding: 0 0 0 20px; }
.eva img { display: inline-block; width: 20px; margin: 0 5px 0 0; }
.marker { background-color: #ff9; color: #f00; font-weight: bold;}
footer { border-top:2px solid #eee; padding: 2% 0; position:relative; z-index: 9999; background: #FFF; color:#999; }
.link { text-align: center; }
.link a { text-align: center; display: inline-block; padding: 0 10px; color: #1A857F; } 
.copy { text-align: center; padding: 10px 0; }
.p_c { background: #FFF; padding: 10%; }
.p_c h2 {  text-align: center; margin: 5% 0; font-weight: normal; }
.policy h1 { text-align: center; padding: 10px 0; margin-bottom: 20px; border-bottom: 5px solid #F1F1F1; }
.p_in {padding: 7px;}
.policy ul {padding:10px;}
.policy dl {padding:0 0 0 40px;}
.date_txt { padding: 15px 0;  }

.sub_note { padding: 3% 5%; }
.sub_note h3 { font-size: 20px;  padding: 10px 10px 10px 30px; border-radius: 20px; overflow: hidden; margin:10px 0; font-weight: bold; background: #EFFAFF; position: relative; }
.sub_note h3::before { content:""; display:block; position: absolute; top:10px; left: 15px;  background: #BAE0FF; width: 5px; height: 65%; border-radius: 20px; } 
.cta { width: 100%; margin: 5% auto; background: #FFFDF3; padding: 2%; border:1px solid #CCC; }
.fr-ranking-common_btn, a.fr-ranking-common_btn, button.fr-ranking-common_btn { max-width: 500px; margin: auto; font-size: 1.6rem; font-weight: 700; line-height: 1.5; position: relative; display: 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: #f7c917; border-radius: 0.5rem; }
.fr-ranking-common_btn-wrap { margin: 3em 0 0 0; }
a.fr-ranking-common_btn-c { font-size: 1.6rem; position: relative; padding: 0.25rem 2rem 1.5rem 3.5rem; color: #FFF; background: #f7c917; -webkit-box-shadow: 0 5px 0 #f3a901; box-shadow: 0 5px 0 #f3a901; }
a.fr-ranking-common_btn-c span { font-size: 1.5rem; position: absolute; top: -1.25rem; left: calc(50% - 150px); display: block; width: 300px; padding: 0.2rem 0; color: #1A857F; border: 2px solid #1A857F; 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.fr-ranking-common_btn-c span:before, a.fr-ranking-common_btn-c span:after { position: absolute; left: calc(50% - 10px); content: ""; }
a.fr-ranking-common_btn-c span:before { bottom: -10px; border-width: 10px 10px 0 10px; border-style: solid; border-color: #1A857F transparent transparent transparent; }
a.fr-ranking-common_btn-c span:after { bottom: -7px; border-width: 10px 10px 0 10px; border-style: solid; border-color: #fff transparent transparent transparent; }
a.fr-ranking-common_btn-c i { margin-right: 1rem; }
a.fr-ranking-common_btn-c:hover { -webkit-transform: translate(0, 3px); transform: translate(0, 3px); color: #fff; background: #f3a901; -webkit-box-shadow: 0 2px 0 #f3a901; box-shadow: 0 2px 0 #f3a901; }
.btn-copy { font-size: 1.5rem; font-weight: bold; position: relative; margin: 1em; text-align: center; color: #000; }      
.btn-copy:before { margin-right: 1rem; content: '＼'; }
.btn-copy:after { margin-left: 1rem; content: '／'; } 
.cta_btn { font-size: 25px; width: 100%; margin: 15px auto; box-shadow:inset 0px 1px 0px 0px #d9fbbe; background-color:#00c300; border-radius:6px; border:1px solid #009200; display:block; cursor:pointer; color:#ffffff; font-family:Arial; ; font-weight:bold; padding:15px 0; text-decoration:none; text-shadow:0px 1px 0px #86ae47; text-align: center;  position: relative;  overflow: hidden; position: relative;}
.cta_btn:hover { background:linear-gradient(to bottom, #a5cc52 5%, #b8e356 100%); background-color:#a5cc52; }
.cta_btn:active { position:relative; top:1px; }  
.cta_btn::before { content: ""; background: url("../images/icon-click.webp")no-repeat; background-size: contain; width: 30px; height: 30px; position: absolute; right: 15%; top: 25%; }
.entry_wrap { background: #FEF5FF; border:1px solid #F93CFF; padding: 5% !important; margin: 5% 0; }
.fr-ranking-table_data { padding: 15px 0; }
.fr-ranking-table_data table { border:1px solid #EE; width: 100%; }
.fr-ranking-table_data tr { border:1px solid #CCC !important; }
.fr-ranking-table_data th,.fr-ranking-table_data td { padding: 10px; background: #FFF; border:1px solid #CCC; }
.fr-ranking-table_data th { font-weight: bold; background: #F1F8FF; vertical-align: middle; }
.fr-ranking-table_data th i {padding: 0 10px 0 0;}
.fr-ranking-table_data td { background: #FFF; text-align: center; }
  @keyframes shiny { 
    0% {   transform: scale(0) rotate(25deg);   opacity: 0; }
    50% {   transform: scale(1) rotate(25deg);   opacity: 1; }
    100% {   transform: scale(50) rotate(25deg);   opacity: 0; }
  }
.cta_btn::after { content: ''; position: absolute; top: -100px; left: -100px; width: 50px; height: 50px; background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, 1) 100%, rgba(255, 255, 255, 0) 0%);
  animation-name: shiny; animation-duration: 3s; animation-timing-function: ease-in-out; animation-iteration-count: infinite; }  
.fr-ranking-category span {  padding: 2px 15px; margin: 10px 5px 5px 0; text-align: center; border:2px solid #43a3df; color: #43a3df; border-radius: 60px; background: #FFF; }
.fr-ranking-category span.none { color: #999; border:2px solid #999; }
.fr-ranking-category span::before { content:"◯"; color: #F00 !important; font-size: 20px; font-weight: bold; vertical-align: middle; padding: 0 5px 0 0;}
.fr-ranking-category span.none::before { content:"×" !important; color: #002DFF !important; font-size: 20px;}
.fr-ranking-category span { float: left;}
.fr-ranking-category::after { content:""; display: block; clear: both; }
.fv_txt_wrap { background: #FBFFF0; padding: 3%; }
.fv_txt_wrap2 { text-align: center; position: relative; margin-top: 5%; background: linear-gradient(0deg, rgba(25,64,112,1) 0%, rgba(72,126,164,1) 100%); padding: 15px 0; color: #FFF; }
.fv_txt_wrap2 span { display: block; width: 90%; background: #FFF; color: #1A857F; border:1px solid #CCC; padding: 2%; border-radius: 5px; font-weight: bold; position: absolute; top:-20%; left: 5%; }
.fv_txt_wrap2 h2 { padding: 4% 0 0 0; }
.fv_txt_wrap2 h2 b { display: block;  }
.fv_txt_wrap2 p { padding: 2% 0 0 0; }

#table .table_in .fr-ranking-table_wrap { overflow: scroll; }
span.txt_scroll { float: right;  padding-right: 10px; }  
#table .table_in table { table-layout: fixed; width: 180%; background: #fff }
table { border-collapse: collapse; border-spacing: 0; }
#table .table_in th:first-child { background: #F0F8FF; width: 15%; position: relative; }
.triangle { position: absolute; top:0; left:0; border-bottom: 40px solid transparent; border-left: 40px solid #1A857F; }
.label_txt { position: absolute; top: 8px; left: 2px;  font-weight: bold; color: #fff; transform: rotate(-45deg); }
#table .table_in th:nth-child(2) { width: 12%; }
#table .table_in th:nth-child(3) { width: 18%; }
#table .table_in th:nth-child(4) { width: 28%; }
#table .table_in th:last-child { width: 10%; }
span.txt_scroll { float: right;  padding-right: 10px; }
#table .table_in { display: inline-block; margin-left: 0; overflow: unset; width: 100%; padding-top: 5px; padding-bottom: 1px; margin-bottom: 10px; margin-top: 0; padding-left: 5px; padding-right: 5px; }
#table .table_in th { background: #F0F8FF;   }
#table .table_in td, #table .table_in th { border: solid 1px #1A857F; text-align: center; padding: 10px 0; }
#table .table_in tr td:not(.column-1) a { background: #1A857F; padding: 10px;  text-align: center; border-radius: 3px; color: #fff; display: inline-block; width: 100%;border-bottom: 3px solid #126a35; }
#table .table_in td:nth-child(4) { text-align: left; }
#table .table_in td { border: 1px solid #1A857F; vertical-align: middle; padding: 0.5em;  }  

.facta_title_img { max-width: 750px; padding: 2% 0; margin: auto; }  
.fr-ranking-contents { max-width: 1200px; margin: auto; }
.ranking-table { border-spacing: 0; box-shadow: 0 0 8px #00000040; width: 1200px }
.ranking-table th {background-color:  #1A857F; color: #FFF; padding: 13px 0; }
.ranking-table th:nth-child(1) { width: 10%; position: sticky; left: 0; z-index: 5; }
.ranking-table th:nth-child(2),.ranking-table th:nth-child(3),.ranking-table th:nth-child(4),.ranking-table th:nth-child(5),.ranking-table th:nth-child(6),.ranking-table th:nth-child(7) { width: 5% }
.ranking-table th:nth-child(8),.ranking-table th:nth-child(9) { width: 10% }
.ranking-table th:last-child { border-top-right-radius: 10px; border-right: none }
.fr-ranking-contents .fr-ranking-table-logo img { max-width: 100px; display: block; margin: 0 auto; -o-object-fit: contain; object-fit: contain }
.fr-ranking-contents .ranking-table .fr-ranking-table-logo { margin-top: 2.2rem }
.body.top .fr-ranking-table_wrap tr td:nth-of-type(7) { vertical-align: middle }
.fr-ranking-table_wrap tr:nth-child(2) td { background-color: #E4F7FF !important; }
.body.top .fr-ranking-table_wrap tr:nth-child(2n) td { background-color:#F1F1F1 }
.fr-ranking-table_wrap tr:nth-child(odd) td { background-color: #FFF }
.body.top .fr-ranking-table_wrap tr:nth-child(odd) td { background-color: #fff }
.fr-ranking-table_wrap td { padding: 1rem; /*border-right: 1px solid #1A857F;*/ background: #FFF; position: relative; text-align: center; vertical-align: middle; border-bottom: 1px solid #BBE4FF;}
.fr-ranking-table_wrap tr td:first-of-type { position: sticky; left: 0; z-index: 5; background-clip: padding-box; padding: .5rem .5rem .25rem; background: #FFF; }
.fr-ranking-table_wrap td:not(:last-child) { border-right: 1px solid #1A857F }
.fr-ranking-table-logo>p { margin: 0; text-align: center }
.c-table-fr-left { text-align: left!important; padding-left: 10px!important }
.fr-ranking-table_wrap td p:not(:first-child) { margin-top: .25rem }
.fr-ranking-table-text-center { text-align: center; vertical-align: top }
.fr-ranking-table-text-center02 { text-align: center }
.fr-ranking-table-text-top { vertical-align: top }
.fr-ranking-table-logo { display: inline-block }
.fr-ranking-table-logo a { font-size: 16px; transition: .3s; color: #1A857F }
.fr-ranking-table-logo a:hover { opacity: .6 }
.fr-ranking-table-rank { position: absolute; top: .2rem; left: 0; z-index: 1; font-weight: 700 }
.fr-ranking-table-rank_icon_txt { font-size: 32px!important; padding: 5px 0 0 10px; font-weight: 400 }
.fr-ranking-table-rank__image { width: 50px }
.fr-ranking-table__btn { font-size: 14px; text-decoration: none; color: #FFF; box-shadow: 3px 4px 0px 0px #009200; display: block; background-color:#00c300; border:1px solid #00c300; text-shadow:0px 1px 0px #005800; border-radius: 12px; padding: 12px 0; position: relative }
.fr-ranking-table__btn:hover { opacity: .8; }
.fr-ranking-table__btn:active { position:relative; top:1px; }
.fr-ranking-table__btn:after { content: ""; background: url("../images/icon-click.webp")no-repeat; background-size: contain; width: 20px; height: 20px; position: absolute; right: -5px; top: 50%; transform: translate(-50%,-50%) }
.table-wrapper__sfr-scroll { overflow-x: scroll; border: 2px solid #1A857F; border-radius: 15px; box-shadow: 0 0 8px #00000040 }
.ranking-table th { font-size:14px }
.fr-ranking-table_wrap td p { font-size: 12px }
.fr-ranking-table-rank_icon_txt { font-size: 16px!important; font-weight: 700; background: #FFF; color: #63b8f3; padding: 0px 10px; border-radius: 50%; border: 2px solid #63b8f3; }

.ranking-table { width: 1200px }
.ranking-table th:nth-child(1) { width: 1% }
.ranking-table th:nth-child(7),.ranking-table th:nth-child(8) { width: 6% }
.ranking-table th:nth-child(6) { width: 5% }
.ranking-table th:nth-child(9) { width: 8% }
.fr-ranking-contents .ranking-table .fr-ranking-table-logo { margin: 0 }
  @media (max-width: 768px) {  
  .fr-ranking-table-rank__image { width: 45px }
  .fr-ranking-table__btn { font-size: 12px; list-style: 1; }  
}
.fr-ranking-table-logo a { font-size: 12px }
.table__icon img { width: 50px; }
.fr-ranking-scrollobar { margin-bottom: 30px; text-align: center; }    
.fr-ranking-scrollobar span { padding: 0 50px; position: relative; text-align: center; }
.fr-ranking-scrollobar span:after, .fr-ranking-scrollobar span:before { background: url("../images/icon-arrow.webp"); background-repeat: no-repeat; background-size: contain; content: ""; height: 15px; position: absolute; top: 3px; width: 25px; }
.fr-ranking-scrollobar span:before { left: 0; }
.fr-ranking-scrollobar span:after { right: 0; -webkit-transform: scaleX(-1); transform: scaleX(-1); }
.fr-ranking-fr-ranking-accordion-01 { margin-bottom: 7px; border-bottom: 2px solid #ffffff; }
.fr-ranking-accordion-01 summary { display: flex; align-items: center; position: relative; color: #333333; font-weight: 600; cursor: pointer; }
.fr-ranking-accordion-01 summary::-webkit-details-marker { display: none; }
.fr-ranking-accordion-01 summary::after { transform: translateY(-25%) rotate(45deg); width: 7px; height: 7px; margin-left: 10px; border-bottom: 3px solid #333333b3; border-right: 3px solid #333333b3; content: ''; transition: transform .3s; }
.fr-ranking-accordion-01[open] summary::after { transform: rotate(225deg); }
.fr-ranking-accordion-01 .fr-ranking-accordion-cont { transform: translateY(-10px); opacity: 0; margin: 0; color: #333333; transition: transform .5s, opacity .5s; }
.fr-ranking-accordion-01[open] .fr-ranking-accordion-cont { transform: none; opacity: 1; }
.fr-ranking-review_wrap { background-color: #F6F6F6; padding: 12px 17px 27px; border-radius: 24px; margin-bottom: 30px; position: relative; }
.fr-ranking--review-box:not(:last-of-type) { margin-bottom: 40px; }
.fr-ranking-review_eva { font-size: 25px; color: #FFA200; margin-bottom: 16px; }
.fr-ranking--review-title { font-size: 20px; font-weight: 700; margin-bottom: 16px; }
.fr-ranking-review_datatxt { display: grid; grid-template-columns: repeat(4, 1fr); padding: 10px;}
.fr-ranking--review-box-txt { font-size: 12px; font-weight: 400; background-color: #999; color: #000; margin-bottom: 18px; display: flex; align-items: center; background: #FFF; border-radius: 10px; margin: 0 5px 5px 0; border: 1px solid #43a3df; padding: 5px 0; }
.fr-ranking-review_title_01 { font-size: 18px; font-weight: 700; margin-bottom: 10px; color: #43a3df; padding: 0; } 
.fr-ranking--review-box-txt span { font-weight: 700; color: #43a3df; border-right: 1px solid #CCC; padding: 0 5px; border-radius: 5px 0 0 5px; white-space: nowrap; margin-right: 5px; }
.fr-ranking--review-box-txt b { display: inline-block; font-weight: normal; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fr-ranking-review_txt_01 { background-color: #FFF; padding: 10px 16px; }
.fr-ranking-review_txt_01-item { border-bottom: 1px solid #CCC; padding-bottom: 10px; margin-bottom: 20px; }
.fr-ranking-check_list { border: solid 2px #ffb03f; padding: 15px; position: relative; margin: 4em 0 2em 0; border-radius: 0 15px 15px 15px; }
.fr-ranking-check_list li { line-height: 1.5; padding: 0.5em 0; list-style-type: none!important; }
.fr-ranking-check_list i { padding: 0 10px 0 0; color: #ffb03f }
.fr-ranking-check_list li:after { background: #ffb03f; color: #fff;  border-radius: 15px 15px 0 0; font-family: "Font Awesome 5 Free",'Avenir','Arial',sans-serif; position: absolute; left: -2px; bottom: 100%; padding: 5px 15px; content: '\f0a7  Check'; letter-spacing: 0.05em; }
.fr-ranking-review_title_01::before { content:""; display: inline-block; background: url("../images/icon-comment.webp")no-repeat; background-size: 100%; width: 25px; height: 25px; vertical-align: middle; }


/* ///////////////////////////////////////////////////////////////////// */
@media screen and (min-width: 768px) { 
  .sp {display: none;}
  .pc {display: block;}
  .FV_img  { width: 900px; margin: auto;}
	#wrap { width: 900px; overflow: hidden; 	margin: 0 auto; }     
}
@media (max-width: 768px) { 
  #table .table_in { display: inline-block; margin-left: 10px; overflow: scroll; width: calc(100% - 20px); -webkit-overflow-scrolling: touch; }
}  
/* 追加2025/01/28 */
.cont_sub { margin: 15px; border: 1px solid #EEE; }
.cont_sub h1 div { padding: 10px 20px; }
.marker_txt { background: #FFF7BA; font-weight: bold; }
.main_title {  padding: 10px 0; font-weight: bold; color: #010079; border-left: 5px solid #010079; text-shadow: 0 0 5px white;  padding: 0.3em 0.5em;  background: -webkit-repeating-linear-gradient(-45deg, #cce7ff, #cce7ff 3px,#e9f4ff 3px, #e9f4ff 7px); background: repeating-linear-gradient(-45deg, #cce7ff, #cce7ff 3px,#e9f4ff 3px, #e9f4ff 7px); margin-bottom: 10px; }
.main_txt {  padding:10px 0; }
.fr-ranking-add_txt_1 { padding: 10px; }
.content_wrap.fr-ranking-table_wrap .table_wrap { overflow: scroll; }
.rank_icon { padding:20px 10px 0 0; }
.rank_icon span { font-size: 25px; background: #FFF; border-radius: 50%; padding: 10px 18px; color: #1A857F; }
/* 追加2025/06/05 */
.search-box { max-width: 700px; background: #f7f7f7; border: 1px solid #ccc; padding: 20px; margin: 40px auto; border-radius: 8px; font-family: sans-serif; }
.search-box h2 { font-size: 25px; margin-bottom: 20px; text-align: center; }
.search-section { margin-bottom: 20px; }
.search-section h4 { margin-bottom: 10px; border-bottom: 1px solid #ccc; padding-bottom: 4px; }
.checkbox-group { display: flex; flex-wrap: wrap; gap: 10px; }
.checkbox-group label { display: flex; align-items: center; }
.checkbox-group input { margin-right: 5px; }
.search-box button { font-size: 20px; width: 100%; padding: 10px; font-weight: bold; background: #007bff; color: white; border: none; border-radius: 4px; cursor: pointer; }
.search-box button:hover { background: #0056b3; }
.result-box { display: none; }
.column-section { max-width: 700px; margin: 60px auto; font-family: sans-serif; line-height: 1.7; padding: 0 15px; }
.column-section h2 { font-size: 24px; margin-bottom: 10px; }
.column-section p { margin-bottom: 30px; }
.column-label { background: linear-gradient(to right, #00BCD4, #007bff); color: white; padding: 12px 16px; font-size: 18px; font-weight: bold; border-radius: 8px; margin-top: 40px; margin-bottom: 20px; }
.accordion-wrapper { border: 1px solid #ddd; border-radius: 6px; overflow: hidden; }
.accordion-header { padding: 15px 20px; cursor: pointer; background: #f9f9f9; border-bottom: 1px solid #ddd; position: relative; font-weight: bold; display: flex; align-items: center; transition: background 0.3s; }
.accordion-header:hover { background: #f1f1f1; }
.accordion-title { flex-grow: 1; font-size: 16px; }
.accordion-arrow { font-size: 14px; transition: transform 0.3s; margin-left: 10px; }
.accordion-header.active .accordion-arrow { transform: rotate(90deg); }
.accordion-content { display: none; padding: 15px 20px; background: #fff; }
.accordion-header.active + .accordion-content { display: block; }  
#contents { background: #FFF; line-height: 1.6;  }
.content { background: #fafafa; border:1px solid #EEE; margin: 10px; box-sizing: border-box; }
.content h2 { font-size: 25px; font-weight: normal; color: #FFF; text-align: center; padding:15px 0; margin-bottom: 1em; background: #1A857F; }
/* sub_contents */
.table_area table {  width: 100%; margin: 1em auto; border: 1px solid #CCC; line-height: 2; }
.table_area th { width: 30%; text-align: center; padding: 1em; font-weight: 600; background: #EFEFEF; border: 1px solid #CCC; }
.table_area td { padding: 1em 1em 1em 2em; border: 1px solid #CCC; background: #FFF; }
.sub_note ol { margin: 10px 0 10px 35px; }
.sub_note ol li { font-size: 14px;  padding: 0 0 0 5px; list-style: outside decimal; }
.sub_note ol li::marker { color:#1A857F; }
.sub_note p { font-size: 14px; padding: 10px 20px; }
/* アコーディオン */
.accordion { max-width: 800px; margin: 0 auto 15px; }
.accordion__item { border: 1px solid #ccc; margin-top: 10px; cursor: pointer; }
.accordion__title { font-size: 20px; text-align: center; position: relative; padding: 15px 0; cursor: pointer; }
/* (+)アイコン */
.accordion__title::before,
.accordion__title::after { content: ""; position: absolute; right: 20px; top: 0; bottom: 0; margin: auto 0; background-color: #1A857F; width: 20px; height: 4px; transition: all 0.3s; }
.accordion__title::after { transform: rotate(90deg); }

/* アコーディオンのコンテンツ */
.accordion__content { padding: 0 20px 15px 20px; display: none; cursor: pointer; }
.accordion__content.is-open { display: block; }

/* アコーディオン展開時の(-)アイコン */
.accordion__item.is-active .accordion__title::before { transform: rotate(180deg); }
.accordion__item.is-active .accordion__title::after { transform: rotate(180deg); opacity: 0; } 
@media (max-width: 480px) {
  .accordion-title { font-size: 13px; }
  .accordion-header { padding: 15px 10px; }
  .column-section p { font-size: 12px; }
}
/* おすすめフレーム */
.osusume_frame {  border: solid 2px #6cb4e4; background: #FFFBE8; }
.osusume_title { font-size: 25px; color: #6cb4e4; text-align: center; padding: 10px 0; border-top: solid 1px #6cb4e4; border-bottom: solid 3px #6cb4e4; background: -webkit-repeating-linear-gradient(-45deg, #f0f8ff, #f0f8ff 3px,#e9f4ff 3px, #e9f4ff 7px); background: repeating-linear-gradient(-45deg, #f0f8ff, #f0f8ff 3px,#e9f4ff 3px, #e9f4ff 7px); }   

.facta_f_about section { max-width: 900px; padding: 25px 0; margin:auto; }
.facta_f_about h1 { font-size: 40px; text-align: center; font-weight: 600; padding: 40px 0; color: #FFF; background: #00C6BC; background: linear-gradient(0deg,rgba(0, 198, 188, 1) 0%, rgba(25, 144, 136, 1) 100%); }  
.facta_f_about h1 span { color: #FFFF00 }
.facta_f_about section h2 { font-size: 25px; text-align: center; font-weight: 600; }
.facta_f_about section p { font-size: 18px; text-align: center; padding: 15px 0; }
.facta_f_about_2 { background: url("../images/cont_bg_pc.webp")no-repeat fixed; background-size: 100%; position: relative; } 
.facta_f_about_2 .pc { max-width: 900px; margin:auto; line-height: 0; }  
@media (max-width: 768px) {
  .facta_f_about_2 { background: url("../images/cont_bg_sp.webp")no-repeat fixed; background-size: 100%; position: relative; } 
  .FV_img.sp { line-height: 0; }
  .facta_f_about h1 { font-size: 22px; padding: 15px 0; line-height: 1.5 }
  .facta_f_about section h2 { font-size: 18px; }
  .facta_f_about section p { font-size: 14px; }
  .facta_f_about section { padding: 15px; }
  .facta_f_about_2 .sp { line-height: 0; }
}

@media (max-width: 480px) {
  .osusume_title { font-size: 16px; }
}
@media (max-width: 768px) { 
  .table_area { font-size: 13px; }
  .content h2 { font-size: 16px; }
  .FV { background-size: 150%; height: 100%; position: relative; background-position: 60% 0%; }
  
  .ad_txt::after { content:""; display: block; clear: both; }
  .ad .cta_btn { font-size: 18px; margin: 5px auto; } 
  .ad_title { font-size: 16px; }
  .sub_note h3 { font-size: 16px; }
  .sub_note { padding: 2%; }
  .fr-ranking-review_wrap { padding: 2%; }
  .ad_name_title { font-size: 20px; }
  a.fr-ranking-common_btn-c { font-size: 20px; padding: 0.5rem 2rem 1rem 3.5rem; }
  .facta_f_cont ,.fr-ranking-common_btn-wrap { padding: 0 10px; }
  .btn-copy { font-size: 16px; margin: 10px 0; }
  .fr-ranking-review_datatxt { grid-template-columns: repeat(2, 2fr); }
  .ad_title .icon { width: 25%; margin: 0 5px 0 0; }
  .link,
  .copy { font-size: 12px; }
  .fr-ranking-check_list,
  .fr-ranking-add_txt_1,
  .fr-ranking-table_data { font-size: 14px; }
    .fr-ranking-review_datatxt { padding: 10px 0; }
  .ranking-table { width: 225%; }
  .ranking-table th:nth-child(1) { width: 15% }
  .ranking-table th:nth-child(2) { width: 8% }
  .ranking-table th:nth-child(3) { width: 8% }
  .ranking-table th:nth-child(4) { width: 10% }
  .ranking-table th:nth-child(5) { width: 10%; }
  .ranking-table th:nth-child(6) { width: 12%; }
  .ranking-table th:nth-child(7) { width: 12%; }
  .ranking-table th:nth-child(8) { width: 12%; }  
  .ranking-table th:nth-child(9) { width: 30%; } 
  .fr-ranking-table_wrap td { padding: 5px; }
  .table__icon img { width: 30px; }
  .fr-ranking-table__btn:after { right: -15px; top:40%; } 
  .cta_btn::before { right: 10px; }
  .FV { background: url("../images/facta_lp_bg-sp.webp")no-repeat fixed; background-size: 100%; position: relative; }
}

/* =====================================================================
   追加コンテンツ 2026/08/03
===================================================================== */

/* TOP：編集部・調査コンテンツ */
.factoring-editorial { width:100%; padding:56px 20px; background:#f1f8ff; box-sizing:border-box; }
.factoring-editorial__inner { width:100%; max-width:900px; margin:0 auto; }
.factoring-editorial__row { display:flex; align-items:center; gap:40px; width:100%; margin:0 0 56px; }
.factoring-editorial__row:last-of-type { margin-bottom:0; }
.factoring-editorial__row--reverse { flex-direction:row-reverse; }
.factoring-editorial__image { flex:0 0 32%; width:32%; aspect-ratio:4 / 3; overflow:hidden; }
.factoring-editorial__image img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.factoring-editorial__content { flex:1; min-width:0; }
.factoring-editorial__text { margin:0 0 18px; color:#222222; font-size:17px; font-weight:500; line-height:1.8; letter-spacing:0.02em; }
.factoring-editorial__link-area { display:flex; width:100%; }
.factoring-editorial__link-area--left { justify-content:flex-start; }
.factoring-editorial__link-area--right { justify-content:flex-end; }
.factoring-editorial__link { position:relative; display:inline-block; padding:2px 0 2px 16px; color:#164f85; font-size:14px; font-weight:700; line-height:1.7; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; transition:opacity 0.3s ease; }
.factoring-editorial__link::before { position:absolute; top:50%; left:1px; width:6px; height:6px; border-top:1px solid currentColor; border-right:1px solid currentColor; content:""; transform:translateY(-50%) rotate(45deg); }
.factoring-editorial__link:hover { opacity:0.6; }
.factoring-editorial__report-area { display:flex; justify-content:center; width:100%; margin-top:48px; padding-top:40px; border-top:1px solid rgba(22,79,133,0.18); }
.factoring-editorial__report-button { position:relative; display:flex; align-items:center; justify-content:center; width:100%; max-width:340px; min-height:58px; padding:14px 56px 14px 28px; overflow:hidden; color:#ffffff; font-size:16px; font-weight:700; line-height:1.5; text-align:center; text-decoration:none; background:linear-gradient(135deg,#164f85 0%,#2689c9 100%); border-radius:999px; box-shadow:0 8px 20px rgba(22,79,133,0.2); box-sizing:border-box; transition:transform 0.3s ease, box-shadow 0.3s ease, opacity 0.3s ease; }
.factoring-editorial__report-button::before { position:absolute; top:50%; right:27px; width:20px; height:1px; background:#ffffff; content:""; transform:translateY(-50%); }
.factoring-editorial__report-button::after { position:absolute; top:50%; right:27px; width:8px; height:8px; border-top:1px solid #ffffff; border-right:1px solid #ffffff; content:""; transform:translateY(-50%) rotate(45deg); }
.factoring-editorial__report-button:hover { opacity:0.9; box-shadow:0 11px 26px rgba(22,79,133,0.28); transform:translateY(-2px); }

/* 下層共通：パンくず */
.page-breadcrumb { width:100%; max-width:900px; margin:0 auto 24px; }
.page-breadcrumb__list { display:flex; align-items:center; flex-wrap:wrap; gap:6px; margin:0; padding:0; list-style:none; }
.page-breadcrumb__item { display:flex; align-items:center; color:#667788; font-size:13px; font-weight:500; line-height:1.6; }
.page-breadcrumb__item:not(:last-child)::after { margin-left:6px; color:#9aabba; content:"＞"; font-size:11px; }
.page-breadcrumb__link { color:#164f85; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:3px; transition:opacity 0.3s ease; }
.page-breadcrumb__link:hover { opacity:0.6; }

/* 下層共通：TOPへ戻る */
.page-back-home { display:flex; justify-content:center; width:100%; margin-top:64px; padding-top:40px; border-top:1px solid #d7e2eb; box-sizing:border-box; }
.page-back-home__link { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-width:240px; min-height:50px; padding:12px 24px; color:#164f85; font-size:15px; font-weight:700; line-height:1.5; text-decoration:none; background:#ffffff; border:1px solid #164f85; border-radius:999px; box-sizing:border-box; transition:color 0.3s ease, background 0.3s ease, transform 0.3s ease; }
.page-back-home__link:hover { color:#ffffff; background:#164f85; transform:translateY(-2px); }
.page-back-home__arrow { display:block; width:7px; height:7px; border-bottom:1px solid currentColor; border-left:1px solid currentColor; transform:rotate(45deg); transition:transform 0.3s ease; }
.page-back-home__link:hover .page-back-home__arrow { transform:translateX(-3px) rotate(45deg); }

/* 編集部について */
.editorial-page { width:100%; padding:64px 20px 80px; background:#ffffff; box-sizing:border-box; }
.editorial-page__inner { width:100%; max-width:900px; margin:0 auto; }
.editorial-page__header { margin:0 0 48px; text-align:center; }
.editorial-page__title { margin:0; color:#1d2f43; font-size:32px; font-weight:700; line-height:1.5; letter-spacing:0.04em; }
.editorial-page__main-image { width:100%; max-width:640px; aspect-ratio:4 / 3; margin:0 auto 56px; overflow:hidden; }
.editorial-page__main-image img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.editorial-page__section { margin:0 0 48px; }
.editorial-page__section:last-child { margin-bottom:0; }
.editorial-page__heading { margin:0 0 18px; padding:0 0 10px; color:#1d2f43; font-size:22px; font-weight:700; line-height:1.5; border-bottom:1px solid #b9cfdf; }
.editorial-page__text { margin:0; color:#222222; font-size:17px; font-weight:500; line-height:1.9; letter-spacing:0.02em; }
.editorial-page__list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 20px; margin:0; padding:0; list-style:none; }
.editorial-page__list-item { position:relative; padding:14px 16px 14px 36px; color:#222222; font-size:16px; font-weight:600; line-height:1.6; background:#f1f8ff; box-sizing:border-box; }
.editorial-page__list-item::before { position:absolute; top:21px; left:16px; width:7px; height:7px; background:#164f85; content:""; transform:rotate(45deg); }

/* 調査内容・評価基準 */
.research-standards-page { width:100%; padding:64px 20px 80px; background:#ffffff; box-sizing:border-box; }
.research-standards-page__inner { width:100%; max-width:900px; margin:0 auto; }
.research-standards-page__header { margin:0 0 48px; text-align:center; }
.research-standards-page__title { margin:0; color:#1d2f43; font-size:32px; font-weight:700; line-height:1.5; letter-spacing:0.04em; }
.research-standards-page__lead { margin:0 0 48px; padding:28px 30px; background:#f1f8ff; box-sizing:border-box; }
.research-standards-page__text { margin:0; color:#222222; font-size:17px; font-weight:500; line-height:1.9; letter-spacing:0.02em; }
.research-standards-page__text + .research-standards-page__text { margin-top:22px; }
.research-standards-page__section { margin:0 0 48px; }
.research-standards-page__section:last-child { margin-bottom:0; }
.research-standards-page__heading { margin:0 0 20px; padding:0 0 10px; color:#1d2f43; font-size:22px; font-weight:700; line-height:1.5; border-bottom:1px solid #b9cfdf; }
.research-standards-page__table-wrap { width:100%; overflow-x:auto; }
.research-standards-page__table { width:100%; border-collapse:collapse; background:#ffffff; }
.research-standards-page__table th { padding:16px 18px; color:#ffffff; font-size:16px; font-weight:700; line-height:1.5; text-align:left; background:#164f85; border:1px solid #d7e2eb; }
.research-standards-page__table td { padding:16px 18px; color:#222222; font-size:16px; font-weight:500; line-height:1.6; border:1px solid #d7e2eb; }
.research-standards-page__table tbody tr:nth-child(even) { background:#f7fbff; }
.research-standards-page__note { margin:0; padding:22px 24px; background:#f8f8f8; border-left:4px solid #164f85; box-sizing:border-box; }
.research-standards-page__note-title { display:block; margin:0 0 8px; color:#1d2f43; font-size:17px; font-weight:700; line-height:1.5; }
.research-standards-page__note-text { margin:0; color:#222222; font-size:16px; font-weight:500; line-height:1.8; }

/* 調査レポート */
.research-report-page { width:100%; padding:64px 20px 80px; background:#ffffff; box-sizing:border-box; }
.research-report-page__inner { width:100%; max-width:900px; margin:0 auto; }
.research-report-page__header { margin:0 0 48px; text-align:center; }
.research-report-page__title { margin:0; color:#1d2f43; font-size:32px; font-weight:700; line-height:1.5; letter-spacing:0.04em; }
.research-report-page__main-image { width:100%; max-width:640px; aspect-ratio:4 / 3; margin:0 auto 56px; overflow:hidden; }
.research-report-page__main-image img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.research-report-page__list { display:flex; flex-direction:column; gap:32px; }
.research-report-page__card { width:100%; padding:28px; background:#f1f8ff; box-sizing:border-box; }
.research-report-page__meta { margin:0 0 14px; }
.research-report-page__date { display:block; margin:0 0 4px; color:#667788; font-size:14px; font-weight:500; line-height:1.5; }
.research-report-page__company { margin:0; color:#1d2f43; font-size:20px; font-weight:700; line-height:1.5; }
.research-report-page__text { margin:0; color:#222222; font-size:16px; font-weight:500; line-height:1.85; letter-spacing:0.02em; }
.research-report-page__text + .research-report-page__text { margin-top:14px; }
.research-report-page__images { display:grid; grid-template-columns:repeat(2,minmax(0,160px)); gap:16px; margin-top:22px; }
.research-report-page__image { width:100%; aspect-ratio:1 / 1; overflow:hidden; background:#e7eef5; }
.research-report-page__image img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.research-report-page__empty { display:flex; align-items:center; justify-content:center; width:100%; aspect-ratio:1 / 1; color:#65788b; font-size:14px; font-weight:700; text-align:center; background:#dceaf6; }

/* 利用規約・プライバシーポリシー・運営者情報 共通 */
.terms-page { width:100%; padding:64px 20px 80px; background:#ffffff; box-sizing:border-box; }
.terms-page__inner { width:100%; max-width:900px; margin:0 auto; }
.terms-page__header { margin:0 0 48px; text-align:center; }
.terms-page__title { margin:0; color:#1d2f43; font-size:32px; font-weight:700; line-height:1.5; letter-spacing:0.04em; }
.terms-page__lead { margin:0 0 48px; padding:28px 30px; background:#f1f8ff; box-sizing:border-box; }
.terms-page__section { margin:0 0 44px; }
.terms-page__section:last-of-type { margin-bottom:0; }
.terms-page__heading { margin:0 0 18px; padding:0 0 10px; color:#1d2f43; font-size:21px; font-weight:700; line-height:1.5; border-bottom:1px solid #b9cfdf; }
.terms-page__text { margin:0; color:#222222; font-size:16px; font-weight:500; line-height:1.9; letter-spacing:0.02em; }
.terms-page__text + .terms-page__text { margin-top:18px; }
.terms-page__list { margin:18px 0 0; }
ul.terms-page__list { padding:0; list-style:none; }
ol.terms-page__list { padding-left:24px; list-style:decimal; }
.terms-page__list-item { position:relative; margin:0 0 10px; padding-left:22px; color:#222222; font-size:16px; font-weight:500; line-height:1.8; }
.terms-page__list-item:last-child { margin-bottom:0; }
.terms-page__list-item::before { position:absolute; top:0.78em; left:3px; width:6px; height:6px; background:#164f85; content:""; transform:translateY(-50%) rotate(45deg); }
ol.terms-page__list > li { margin:0 0 10px; padding-left:4px; color:#222222; font-size:16px; font-weight:500; line-height:1.8; }
ol.terms-page__list > li:last-child { margin-bottom:0; }
ol.terms-page__list ol.terms-page__list { margin-top:10px; padding-left:24px; }
.terms-page__supplement { margin-top:48px; padding:22px 24px; background:#f8f8f8; border-left:4px solid #164f85; box-sizing:border-box; }
.terms-page__supplement-title { margin:0 0 10px; color:#1d2f43; font-size:18px; font-weight:700; line-height:1.5; }

/* 運営者情報 */
.operator-page__intro { margin:0 0 40px; padding:24px 28px; background:#f1f8ff; box-sizing:border-box; }
.operator-page__intro-text { margin:0; color:#222222; font-size:16px; font-weight:500; line-height:1.9; letter-spacing:0.02em; }
.operator-page__table-wrap { width:100%; overflow:hidden; border:1px solid #d7e2eb; box-sizing:border-box; }
.operator-page__table { width:100%; border-collapse:collapse; table-layout:fixed; background:#ffffff; }
.operator-page__table th { width:28%; padding:20px 22px; color:#1d2f43; font-size:16px; font-weight:700; line-height:1.7; text-align:left; vertical-align:top; background:#f1f8ff; border-right:1px solid #d7e2eb; border-bottom:1px solid #d7e2eb; box-sizing:border-box; }
.operator-page__table td { width:72%; padding:20px 22px; color:#222222; font-size:16px; font-weight:500; line-height:1.8; vertical-align:top; border-bottom:1px solid #d7e2eb; box-sizing:border-box; }
.operator-page__table tr:last-child th { border-bottom:0; }
.operator-page__table tr:last-child td { border-bottom:0; }
.operator-page__link { color:#164f85; font-weight:700; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:4px; transition:opacity 0.3s ease; }
.operator-page__link:hover { opacity:0.6; }

@media screen and (max-width:767px) {
  .factoring-editorial {
    padding:40px 20px;
  }

  .factoring-editorial__row {
    flex-direction:column;
    align-items:stretch;
    gap:22px;
    margin-bottom:44px;
  }

  .factoring-editorial__row--reverse {
    flex-direction:column;
  }

  .factoring-editorial__image {
    flex:none;
    width:100%;
  }

  .factoring-editorial__text {
    margin-bottom:16px;
    font-size:15px;
  }

  .factoring-editorial__link-area--left,
  .factoring-editorial__link-area--right {
    justify-content:flex-start;
  }

  .factoring-editorial__report-area {
    margin-top:36px;
    padding-top:32px;
  }

  .factoring-editorial__report-button {
    max-width:320px;
    min-height:54px;
    padding:13px 52px 13px 24px;
    font-size:15px;
  }

  .factoring-editorial__report-button::before,
  .factoring-editorial__report-button::after {
    right:24px;
  }

  .page-breadcrumb {
    margin-bottom:18px;
  }

  .page-breadcrumb__item {
    font-size:12px;
  }

  .page-back-home {
    margin-top:44px;
    padding-top:32px;
  }

  .page-back-home__link {
    width:100%;
    max-width:300px;
    min-width:0;
    min-height:48px;
    padding:11px 20px;
    font-size:14px;
  }

  .editorial-page,
  .research-standards-page,
  .research-report-page,
  .terms-page {
    padding:40px 20px 56px;
  }

  .editorial-page__header,
  .research-standards-page__header,
  .research-report-page__header,
  .terms-page__header {
    margin-bottom:32px;
  }

  .editorial-page__title,
  .research-standards-page__title,
  .research-report-page__title,
  .terms-page__title {
    font-size:24px;
  }

  .editorial-page__main-image,
  .research-report-page__main-image {
    max-width:none;
    margin-bottom:40px;
  }

  .editorial-page__section,
  .research-standards-page__section {
    margin-bottom:36px;
  }

  .editorial-page__heading,
  .research-standards-page__heading,
  .terms-page__heading {
    margin-bottom:16px;
    font-size:19px;
  }

  .editorial-page__text,
  .research-standards-page__text,
  .research-report-page__text,
  .terms-page__text {
    font-size:15px;
    line-height:1.85;
  }

  .editorial-page__list {
    grid-template-columns:1fr;
    gap:10px;
  }

  .editorial-page__list-item {
    padding:12px 14px 12px 34px;
    font-size:15px;
  }

  .editorial-page__list-item::before {
    top:19px;
    left:15px;
  }

  .research-standards-page__lead,
  .terms-page__lead {
    margin-bottom:36px;
    padding:20px;
  }

  .research-standards-page__text + .research-standards-page__text {
    margin-top:18px;
  }

  .research-standards-page__table th,
  .research-standards-page__table td {
    padding:12px 10px;
    font-size:14px;
  }

  .research-standards-page__table th:first-child,
  .research-standards-page__table td:first-child {
    width:34%;
  }

  .research-standards-page__note {
    padding:18px;
  }

  .research-standards-page__note-title {
    font-size:16px;
  }

  .research-standards-page__note-text {
    font-size:15px;
  }

  .research-report-page__list {
    gap:24px;
  }

  .research-report-page__card {
    padding:20px;
  }

  .research-report-page__company {
    font-size:18px;
  }

  .research-report-page__images {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin-top:18px;
  }

  .terms-page__section {
    margin-bottom:36px;
  }

  .terms-page__text + .terms-page__text {
    margin-top:16px;
  }

  .terms-page__list {
    margin-top:16px;
  }

  .terms-page__list-item,
  ol.terms-page__list > li {
    margin-bottom:8px;
    font-size:15px;
  }

  .terms-page__list-item {
    padding-left:20px;
  }

  .terms-page__supplement {
    margin-top:36px;
    padding:18px 20px;
  }

  .terms-page__supplement-title {
    font-size:17px;
  }

  .operator-page__intro {
    margin-bottom:28px;
    padding:20px;
  }

  .operator-page__intro-text {
    font-size:15px;
    line-height:1.85;
  }

  .operator-page__table-wrap {
    border-bottom:0;
  }

  .operator-page__table,
  .operator-page__table tbody,
  .operator-page__table tr,
  .operator-page__table th,
  .operator-page__table td {
    display:block;
    width:100%;
  }

  .operator-page__table th {
    padding:13px 16px;
    font-size:14px;
    line-height:1.6;
    border-right:0;
    border-bottom:1px solid #d7e2eb;
  }

  .operator-page__table td {
    padding:16px;
    font-size:15px;
    line-height:1.8;
    border-bottom:1px solid #d7e2eb;
  }

  .operator-page__table tr:last-child th,
  .operator-page__table tr:last-child td {
    border-bottom:1px solid #d7e2eb;
  }
}