@charset "utf-8";

body.solutions {color: #FFF; background-color:#13417E;}
@media (max-width: 767px) {
  body.solutions {font-size:1rem;}
}

.o-wrapper {max-width: 1020px; width:100%; padding-left:20px; padding-right:20px; margin: 0 auto;}
.solutions .c-hero {height:200px; text-align:center; background: #CCC;display: flex; align-items: center;}
.solutions .c-hero.risk-screening-title {background: url(../image/solutions/h1_title_riskscreening_bgimg.webp)no-repeat top center; background-size: cover;}
.solutions .c-hero.managed-service-title {background: url(../image/solutions/h1_mv_mgd_service_bg.webp)no-repeat top center; background-size: cover;}
.solutions .c-hero.tprm-title {background: url(../image/solutions/h1_title_bs_system_bgimg.webp)no-repeat top center; background-size: cover;}
.solutions .c-hero.rca-title {background: url(../image/solutions/h1_title_rca_bgimg.webp)no-repeat top center; background-size: cover;}
.p-solutions-title {font-size: 2.625rem; margin-bottom:20px; line-height:100%;}
.p-solutions-subtitle {font-size: 1.3125rem; line-height: 150%;}

/* ========== SOLUTION SECTION ========== */
.p-solution {margin-top:90px;}
.p-solution-section__wrapper { padding-top:80px; padding-bottom:80px;}
.p-solution-section__lead { /* ... */ }
.p-solution-section__main { /* ... */ }
.p-solution-section__headline { /* ... */ }
.p-solution-section__desc { font-size:1.3125rem; text-align:center; line-height:200%; margin-bottom:40px;}
.p-solution-section__usage-title { /* ... */ }
.p-solution-section__usage-list { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 25px; padding-top: 20px; }
.p-solution-section__usage-list.grid-col-2 {grid-template-columns: 1fr 1fr; padding-top: 0;}
.p-solution-section__usage-list li {height:100px; display: flex; justify-content:center; align-items: center; border:1px solid #FFF; }
.p-solution-section__usage-list li::after {position:absolute;}
.p-solution-section__usage-list li a {position:relative; font-size: 1.125rem; font-family:'Lato', 'Noto Sans JP', "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Sogoe UI", Verdana, "メイリオ", Meiryo, sans-serif; font-weight: 500; text-align:center; color:#FFF; width:100%; height:100%; display:flex; justify-content: center; align-items: center; flex-wrap: wrap;}
.p-solution-section__usage-list li:hover a {background-color: #FFF; color:#0A3E6F; opacity:1;}
.p-solution-section__usage-list li a::after {position: absolute; content:''; background:url(../image/anchor_arrow_white.svg) no-repeat center; left:50%; bottom:10px; width:8px; height:4px;}
.p-solution-section__usage-list li:hover a::after {background:url(../image/anchor_arrow_blue.svg) no-repeat center;}
.p-solution-section__usage-list li a span {font-family:'Lato'; font-size: 1.125rem;}


@media (min-width: 768px) and (max-width: 1080px){
  .p-solution-section__usage-list li {height:80px;}
  .p-solution-section__usage-list li a span { font-size: 0.875rem;}
  .p-solution-section__usage-list li a {font-size:0.75rem;}
}

@media (max-width: 767px) {
  .p-solution-section__wrapper { padding-top:40px; padding-bottom:40px;}
  .p-solution-section__desc { font-size: 1.125rem; text-align: left; line-height: 200%; margin-bottom: 30px; }
  .p-solution-section__usage-list,.p-solution-section__usage-list.grid-col-2 {grid-template-columns:1fr; gap:15px; place-items: center;}
  .p-solution-section__usage-list li {max-width: 400px; height:80px; width: 100%;}
  .p-solution-section__usage-list li a {font-size: 0.875rem; }
  .p-solution-section__usage-list li a::after { bottom: 5px; }
}

/* ========== SOLUTION DETAIL ========== */
.p-solution-detail {padding: 80px 0; background: url(../image/solutions/solution_bgimg_01.webp)no-repeat top center; background-size:cover;}
.p-solution-detail.negative-news-section {background: url(../image/solutions/solution_rs_negative_bgimg.webp)no-repeat top center; background-size: cover;}
.p-solution-detail.watch-list-section {background: url(../image/solutions/solution_rs_watch_bgimg.webp)no-repeat top center; background-size: cover;}
.p-solution-detail.laws-section {background: url(../image/solutions/solution_rs_law_bgimg.webp)no-repeat top center; background-size: cover;}
.p-solution-detail.ddr-section {background: url(../image/solutions/solution_mgd_ddr.webp)no-repeat top center; background-size: cover;}
.p-solution-detail.dow_jones-section {background: url(../image/solutions/solution_dowjones_bgimg.webp)no-repeat top center; background-size: cover;}
.p-solution-detail__wrapper { /* ... */ }
.p-solution-detail__header {text-align: center; }
.p-solution-detail__title {position:relative; font-size:2.5rem; font-weight:500; text-align:center; padding-bottom:25px; margin-bottom: 25px;}
.p-solution-detail__title::after {position:absolute; content:''; width:50px; height:1px; background-color:#FFF; left: 50%; transform: translateX(-50%); bottom:0;}
.p-solution-detail__title span {position:relative; padding-left: 40px;}
.p-solution-detail__title span::after { position:absolute; content: ''; background: url(../image/solution-header_arrow.svg) no-repeat left center;  background-size:cover; left:0; top:10px; width:30px; height:30px; display: block;}
.p-solution-detail__subtitle {font-size: 1.3125rem; margin-bottom: 40px; }
.p-solution-detail__desc { margin-bottom: 60px; }
.p-solution-detail__desc.mb0 {margin-bottom: 0;}
.p-solution-detail__desc p {margin-bottom:20px; line-height:200%;}
.p-solution-detail__desc p:last-child {margin-bottom:0;}
.p-solution-detail__usage { margin-bottom: 60px; }
.p-solution-detail__usage.mb0 { margin-bottom: 0; }
.p-solution-detail__usage-title {font-size: 1.5rem; font-weight:700; margin-bottom:30px; }
ol.p-solution-detail__usage-list { margin-top: 24px; margin-top: calc(var(--space-base) * 3); counter-reset: list-number;}
ol.p-solution-detail__usage-list li {margin-bottom: 15px; position: relative; padding-left: 35px;}
ol.p-solution-detail__usage-list li:last-child {margin-bottom:0;}
ol.p-solution-detail__usage-list li::before { display:inline-flex; width:1.5em; height:1.5em; align-items:center; justify-content:center; margin-right: 16px; color:#002a50; background: #FFF; border-radius: 50%; content: counter(list-number); counter-increment: list-number; font-weight: 700; position:absolute; left:0; top:0;}
ul.p-solution-detail__usage-list { margin-top: 24px; margin-top: calc(var(--space-base) * 3);}
ul.p-solution-detail__usage-list li {margin-bottom: 15px; position: relative; padding-left: 25px;}
ul.p-solution-detail__usage-list li:last-child {margin-bottom:0;}
ul.p-solution-detail__usage-list li::before { display:inline-flex; width:1.5em; height:1.5em; align-items:center; justify-content:center; margin-right: 16px; color:#FFF; content: '・'; font-weight: 700; position:absolute; left:0; top:0;}
.p-solution-detail__source-title, .p-solution-detail__coverage-title { font-size:1.875rem; font-weight: 500; text-align: center; margin-bottom: 40px;}
.p-solution-detail__source-title span, .p-solution-detail__coverage-title span {font-size:1rem; font-weight: 500;}
.p-solution-detail__source-list { display: flex; gap: 32px; }
.p-solution-detail__source-item { flex: 1 1 0; }
.p-solution-detail__source-icon {text-align:center; margin-bottom:20px;}
.p-solution-detail__source-name {font-size: 1.3125rem; font-weight:700; text-align:center; margin-bottom:20px; }
.p-solution-detail__source-desc {font-size:1rem; text-align: center; line-height: 180%; }

.p-solution-detail__coverage { margin-top: 2em; }
.p-solution-detail__coverage-label { font-size:0.9em; }
.p-solution-detail__coverage-list {display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 33px; margin: 1em 0; justify-content: center; text-align: center;}
.p-solution-detail__coverage-item {font-weight:bold; height:100px; border:1px solid #698095; background-color:rgba(0, 31, 61, 0.5); display: flex; justify-content: center; align-items: center;}
.p-solution-detail__coverage-inner {font-size:1rem; font-weight: 500;}
.p-solution-detail__coverage-num { font-size: 1.5rem; font-weight: 700; margin-bottom: 4px; line-height: 140%;}
.p-solution-detail__coverage-examples { margin-top: 2em; }
.p-solution-detail__coverage-examples-list { display: flex; flex-wrap: wrap; gap: 24px; }
.p-solution-detail__coverage-example {flex: 1 1 250px; background:#0a3e6f; background:var(--color-regal-blue); background: linear-gradient(180deg, #0E4D89 0, #092846); padding:30px 20px;}
.p-solution-detail__coverage-icon { text-align:left; margin-bottom:20px; }
.p-solution-detail__coverage-name { font-size:1.3125rem; font-weight:700; margin-bottom:15px;}
.p-solution-detail__coverage-desc { font-size:1rem; line-height: 180%; margin-bottom:15px;}
.p-solution-detail__coverage-desc:last-child { margin-bottom: 0;}
.p-solution-detail__coverage-desc.subtitle {font-size:1.125rem; margin-bottom:0; padding-top:10px; font-weight: 700;}
.p-solution-detail__coverage-desc ul {margin-top: 15px;}
.p-solution-detail__coverage-desc li {position:relative; padding-left:23px; margin-bottom:5px;}
.p-solution-detail__coverage-desc li::before { position:absolute; content:'・'; left:0; top:0;}

.p-solution-detail__theme-list {margin-bottom: 60px;}
.p-solution-detail__theme-item {padding-left: 20px; margin-bottom: 20px;}
.p-solution-detail__theme-item:last-child {margin-bottom:0;}
.p-solution-detail__theme-title {font-size:1.3125rem; margin-bottom:10px;}
.p-solution-detail__theme-desc { position: relative; padding-left: 20px; margin-left: 20px;}
.p-solution-detail__theme-desc::before {position:absolute; content:'・'; left:0; top:3px;}
.p-solution-detail__usage-text {line-height:200%;}


/*@media (max-width: 991px) {
  .p-solution-detail__coverage-list,
  .p-solution-detail__coverage-examples-list {
    flex-direction: column;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }
}
@media (min-width: 768px) and (max-width: 1080px){
}*/

@media (max-width: 991px) {
  .p-solution {margin-top:42px;}
}
@media (min-width: 767px) and (max-width: 640px) {
  .p-solution-detail__coverage-examples-list {
    flex-direction: column;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }
}

@media (max-width: 767px) {
  body.solutions {font-size: 0.875rem;}
  .p-solutions-title {font-size: 1.5rem; line-height:150%; letter-spacing: 0;}
  .p-solutions-subtitle {font-size: 1.125rem; line-height: 150%;}
  .p-solution-detail__title {font-size: 1.3125rem; padding-bottom:15px; margin-bottom:15px;}
  .p-solution-detail__title img {max-width: 70%;}
  .p-solution-detail__title span {padding-left: 25px;}
  .p-solution-detail__title span::after {width:20px; height:20px; top:3px}
  .p-solution-detail__subtitle {font-size:1.125rem; margin-bottom:20px;}
  .p-solution-section__desc {font-size: 1rem; margin-bottom:15px;}
  .p-solution-detail {padding-top:40px; padding-bottom:40px;}
  .p-solution-detail__desc, .p-solution-detail__usage {margin-bottom:40px;}
  .p-solution-detail__desc:last-child { margin-bottom: 0px;}
  .p-solution-detail__source-title, .p-solution-detail__coverage-title {font-size: 1.3125rem;}
  .p-solution-detail__usage-title {font-size: 1.125rem; margin-bottom:20px; }
  .p-solution-detail__coverage-list {flex-direction: column; grid-template-columns: 1fr 1fr; gap: 16px;}
  .p-solution-detail__coverage-name {font-size: 1.125rem; }
  .p-solution-detail__coverage-desc {font-size:0.875rem;}
  .p-solution-detail__coverage-desc li { padding-left: 15px; margin-bottom:5px;}

  .p-solution-detail__source-list {grid-template-columns:1fr 1fr 1fr; gap:20px;}
  .p-solution-detail__source-icon {margin-bottom:15px;}
  .p-solution-detail__source-name {font-size:1.125rem; margin-bottom:15px;}
  .p-solution-detail__source-desc {font-size:0.875rem;}

  .p-solution-detail__theme-list {margin-bottom: 30px;}
  .p-solution-detail__theme-item {padding-left: 10px; margin-bottom:15px;}
  .p-solution-detail__theme-title {font-size: 1rem;}
  .p-solution-detail__theme-desc {position:relative; padding-left:15px; margin-left:10px;}
}

@media (max-width: 640px) {
  .p-solution-detail__source-list {flex-direction: column; grid-template-columns:1fr 1fr; gap:20px;}
}