html,body{
width:100%;
overflow-x:hidden;
}

#analy-fv_swiper1 {
    height: fit-content;
}


/* =========================
   TOPICS セクション
   ========================= */
.analy-topics{
    --pr:max(5%,(100% - 12rem) * .5);
    --pl:max(5%,(100% - 12rem) * .5);
    padding: .32rem var(--pr) .32rem var(--pl);
    background:var(--color-blue);
    color:#fff;
}

.analy-topics_inner{
    display:grid;
    grid-template-columns:1.8rem minmax(0,1fr);
    gap:.12rem;
    align-items:stretch;
}

.analy-topics_label{
    background:var(--color-blue);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:.18rem;
    font-weight:700;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:#fff;
    padding:.16rem .08rem;
    white-space:nowrap;
	border-right: solid 1px white;
}

.analy-topics_list_wrap{
    background:var(--color-blue);
    position:relative;
    padding:.08rem 0 .08rem .08rem;
}

/* 高さを確保してトップ3件がしっかり見えるように */
.analy-topics_list{
    list-style:none;
    max-height:4.4rem; /* 必要に応じて微調整 */
    overflow-y:auto;
    padding-right:.2rem;
}

/* スクロールバー（対応ブラウザのみ軽くデザイン） */
.analy-topics_list::-webkit-scrollbar{
    width:.08rem;
}
.analy-topics_list::-webkit-scrollbar-track{
    background:rgba(255,255,255,.12);
}
.analy-topics_list::-webkit-scrollbar-thumb{
    background:#fff;
}

/* 1件分 */
.analy-topics_item{
    display:grid;
    grid-template-columns:1fr;
    row-gap:.06rem;
    padding:.14rem .18rem;
/*     background:rgba(0,0,0,.06); */
}
.analy-topics_item + .analy-topics_item{
    margin-top:.04rem;
}

.analy-topics_item_head{
    display:flex;
    align-items:center;
    gap:.12rem;
    font-size:.16rem;
    line-height:1.2;
}

.analy-topics_item_tag{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:.02rem .14rem;
    border-radius:999px;
    background:#F5F7FB;
    color:black;
    font-size:.14rem;
    font-weight:700;
}

.analy-topics_item_date{
    opacity:.86;
    font-size:.14rem;
}

.analy-topics_item_body{
    display:grid;
    gap:.02rem;
}

.analy-topics_item_title{
    font-size:.18rem;
    font-weight:700;
    line-height:1.4;
    color:#fff;
}

.analy-topics_item_title:hover{
    opacity:.8;
}

.analy-topics_item_excerpt{
    font-size:.16rem;
    line-height:1.3;
    opacity:.9;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

/* SP 調整 */
@media screen and (max-width:768px){
    .analy-topics{
        --pr:5%;
        --pl:5%;
        padding:.16rem var(--pr) .32rem var(--pl);
    }
	#analy-feature .analy-sec_title {
		  white-space: normal;
	}
    .analy-topics_inner{
        grid-template-columns:auto;
        gap:.08rem;
    }

    .analy-topics_label{
        width:100%;
        justify-content:flex-start;
        padding:.08rem .16rem 0;
        font-size:.4rem;
		border: none;
    }
	.ff_oswald:after {
    content: " |";
    margin-left: 0em;
    color: inherit;
    font-size: 1.5em;
}

    .analy-topics_list_wrap{
        padding:.08rem;
    }

    .analy-topics_list{
        max-height:6rem; /* スマホでは少し高めに */
        padding-right:.12rem;
    }

    .analy-topics_item{
        padding:.16rem .14rem;
    }

    .analy-topics_item_title{
        font-size:.24rem;
    }

    .analy-topics_item_excerpt{
        font-size:.22rem;
    }

    .analy-topics_item_tag,
    .analy-topics_item_date{
        font-size:.2rem;
    }
}





/* =========================
   バクヤスの3つの特徴
   ========================= */
.analy-sec_feature{
    padding-top:.6rem;
    padding-bottom:.8rem;
    background:#fff;
}

.analy-feature_list{
    --col-gap:.24rem;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:var(--col-gap);
    margin-top:.3rem;
}

.analy-feature_item{
    background:#fff;
    border:1px solid rgba(0,0,0,.06);
    border-radius:.06rem;
    box-shadow:0 .04rem .12rem rgba(0,0,0,.04);
    padding:.3rem .26rem .32rem;
    display:flex;
    flex-direction:column;
    height:100%;
}

.analy-feature_item_head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.16rem;
    margin-bottom:.18rem;
}

.analy-feature_item_label{
    font-size:.16rem;
    font-weight:700;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--color-blue);
}

.analy-feature_item_tag{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:.02rem .14rem;
    border-radius:999px;
    background:rgba(0,0,0,.04);
    font-size:.14rem;
    font-weight:700;
    color:var(--color-main, #003366);
}

.analy-feature_item_img{
    margin:0 0 .22rem;
    text-align:center;
}
.analy-feature_item_img img{
    max-width:100%;
    height:auto;
	height: 150px;
    width: auto;
}

.analy-feature_item_title{
    font-size:.2rem;
    font-weight:700;
    line-height:1.5;
    margin-bottom:.14rem;
    text-align:left;
}

.analy-feature_item_text{
    font-size:.16rem;
    line-height:1.7;
    margin-top:auto;
}

/* SP レイアウト調整 */
@media screen and (max-width:768px){
    .analy-sec_feature{
        padding-top:.48rem;
        padding-bottom:.56rem;
    }

    .analy-feature_list{
        grid-template-columns:1fr;
        gap:.2rem;
        margin-top:.32rem;
    }

	.analy-feature_item_label,
	.analy-feature_item_tag{
    font-size: .25rem;
}
    .analy-feature_item{
        padding:.26rem .22rem .28rem;
    }

    .analy-feature_item_title{
        font-size:.24rem;
    }

    .analy-feature_item_text{
        font-size:.22rem;
    }
}




/* =========================
   事例スライダー（post_type=case）
   ========================= */
.analy-sec_case_slider{
    padding-top:.6rem;
    padding-bottom:.8rem;
    background:#f5f7fb;
}

.analy-sec_case_slider_header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.24rem;
    margin-bottom:.32rem;
}

.analy-sec_case_slider_controls{
    display:flex;
    align-items:center;
    gap:.2rem;
}

.analy-sec_case_slider_nav{
    display:flex;
    align-items:center;
    gap:.1rem;
}

.case-swiper-button-prev,
.case-swiper-button-next{
position: static;
    width: 32px;
    height: 32px;
    margin-top: 0;
    border-radius: 50%;
    border: 1px solid #d0d7e6;
    background: #fff;
}

.case-swiper-button-prev::before,
.case-swiper-button-next::before{
/*     content:"";
    position:absolute;
    inset:0;
    margin:auto;
    width:.12rem;
    height:.12rem;
    border-top:2px solid #121826;
    border-right:2px solid #121826;
    transform:rotate(225deg); */
}

.case-swiper-button-next::before{
    transform:rotate(45deg);
}

.case-swiper-button-prev:hover,
.case-swiper-button-next:hover{
    background:#121826;
    border-color:#121826;
    box-shadow:0 .04rem .12rem rgba(0,0,0,.15);
}

.case-swiper-button-prev:hover::before,
.case-swiper-button-next:hover::before{
    border-color:#fff;
}

.case-swiper-button-prev.swiper-button-disabled,
.case-swiper-button-next.swiper-button-disabled{
    opacity:.3;
    cursor:default;
    box-shadow:none;
}

.analy-case_btn_list{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:.08rem .24rem;
    border-radius:999px;
    border:1px solid #3b6bbf;
    font-size:.15rem;
    font-weight:500;
    background:#fff;
    color:#3b6bbf;
    text-decoration:none;
    transition:background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.analy-case_btn_list:hover{
    background:#005bac;
    color:#fff;
    border-color:#005bac;
    box-shadow:0 .04rem .12rem rgba(0,0,0,.18);
}

.analy-sec_case_slider_body{
    position:relative;
}

.analy-case_swiper{
    overflow:visible;
}

#analy-case-slider .swiper-button-next.swiper-button-disabled,
#analy-case-slider .swiper-button-prev.swiper-button-disabled{
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1px solid #d0d7e6;
    opacity: .35;
    cursor: auto;
    border-radius: 50%;
    border: 1px solid #d0d7e6;
    background: #fff;
    position: static;
	margin-top: 0;
}
#analy-case-slider .swiper-button-next, 
#analy-case-slider .swiper-button-prev{
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1px solid #d0d7e6;
    cursor: auto;
    border-radius: 50%;
    border: 1px solid #d0d7e6;
    background: #fff;
    position: static;
	margin-top: 0;
}

#analy-case-slider button:before,
#analy-case-slider button:after{
font-size: 14px;
    color: #3b6bbf;
}


.analy-case_card{
    background:#121826;
    border-radius:.12rem;
    box-shadow:0 .12rem .3rem rgba(0,0,0,.18);
    overflow:hidden;
    height:100%;
    display:flex;
}

.analy-case_card_link{
    display:flex;
    flex-direction:column;
    text-decoration:none;
    color:#fff;
    width:100%;
}

.analy-case_card_thumb{
    margin:0;
    overflow:hidden;
	  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9; /* 16:9 固定 */
  overflow: hidden;
}

.analy-case_card_thumb img{
    transition:transform .4s ease
		  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
		
}

.analy-case_card_body{
    padding:.24rem .26rem .28rem;
    display:flex;
    flex-direction:column;
    gap:.12rem;
}

.analy-case_card_title{
    font-size:.2rem;
    font-weight:700;
    line-height:1.5;
}

.analy-case_card_employee{
    font-size:.15rem;
    font-weight:500;
    opacity:.8;
}
.analy-case_card_employee img {
    display: inline-block;
    margin-right: 5px;
    vertical-align: text-bottom;
    width: 18px;
}

.analy-case_card_excerpt{
    font-size:.16rem;
    line-height:1.7;
    opacity:.9;
}

.analy-case_card_link:hover .analy-case_card_thumb img{
    transform:scale(1.05);
}

/* swiper スライド幅 */
.analy-case_swiper .swiper-slide{
    height:auto;
	height: 450px;
}

/* 事例スライダー：レイアウト（PC） */
@media screen and (min-width:769px){
    .analy-case_swiper .swiper-slide{
        width:auto;
    }
}

/* 事例スライダー：SP調整 */
@media screen and (max-width:768px){
    .analy-sec_case_slider{
        padding-top:.48rem;
        padding-bottom:.56rem;
    }
	.analy-case_swiper .swiper-slide{
	height: 330px;
}

    .analy-sec_case_slider_header{
/*         flex-direction:column; */
        align-items:flex-start;
        gap:.16rem;
    }

    .analy-sec_case_slider_controls{
        align-self:stretch;
        justify-content:space-between;
    }

    .analy-case_card_body{
        padding:.22rem .2rem .24rem;
    }

    .analy-case_card_title,
	.analy-case_btn_list {
        font-size:12px;
    }

    .analy-case_card_excerpt{
        font-size:.2rem;
    }
}







/* ========== セミナーセクション（スライダー） ========== */

.analy-sec_seminar {
  padding-top: 80px;
  padding-bottom: 80px;
  background: white;
}

.analy-seminar_header {
  margin-bottom: 40px;
}

.analy-seminar_btn_list {
display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 6px 16px;
    border-radius: 999px;
    border: 1px solid #3b6bbf;
    font-size: 12px;
    color: #3b6bbf;
    text-decoration: none;
    background: #fff;
    transition: background 0.2s 
ease, color 0.2s 
ease;
}

.analy-seminar_btn_list:hover {
  background-color: #005bac;
  color: #fff;
}

.analy-seminar_block {
  margin-bottom: 56px;
}

.analy-seminar_block:last-of-type {
  margin-bottom: 0;
}

.analy-seminar_block_head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
}

.analy-seminar_block_title {
  font-size: 20px;
  font-weight: 700;
}

.analy-seminar_block_controls {
  display: flex;
  align-items: center;
  gap: 16px;
	    justify-content: flex-end;
}

.analy-seminar_swiper {
  position: relative;
  overflow: hidden;
}

.analy-seminar_block_controls button {
    position: static;
    width: 32px;
    height: 32px;
    margin-top: 0;
    border-radius: 50%;
    border: 1px solid #d0d7e6;
    background: #fff;
}

.analy-seminar_block_controls button::after {
    font-size: 14px;
    color: #3b6bbf;
}

/* カード本体 */

.seminar-card {
  background-color: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
  overflow: hidden;
  height: 320px;
  display: flex;
  flex-direction: column;
}

.seminar-card_link {
  display: flex;
  flex-direction: column;
  height: 100%;
  text-decoration: none;
  color: inherit;
	    border: 1px solid rgba(0, 0, 0, .06);
    border-radius: .06rem;
    box-shadow: 0 .04rem .12rem rgba(0, 0, 0, .04);
}

.seminar-card_thumb {
  position: relative;
  width: 100%;
  padding-top: 56.25%; /* 16:9 */
  overflow: hidden;
  background-color: #f5f5f7;
}

.seminar-card_thumb img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.seminar-card_body {
  padding: 12px 14px 14px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.seminar-card_meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  font-size: 10px;
}

.seminar-card_tag {
  display: inline-flex;
  align-items: center;
  padding: 2px 7px;
  border-radius: 999px;
  background-color: #e6f4ff;
  color: #005bac;
  font-weight: 700;
  font-size: 10px;
}

.seminar-card_date {
  font-size: 10px;
  color: #666;
}

.seminar-card_title {
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.seminar-card_excerpt {
  font-size: 11px;
  line-height: 1.6;
  color: #555;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Swiperナビゲーション */

.analy-seminar_nav {
  display: flex;
  gap: 8px;
}

.analy-seminar_prev,
.analy-seminar_next {
  position: static !important;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  border: none;
  background-color: #fff;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.12);
  cursor: pointer;
  margin: 0 !important;
  transform: none !important;
}

.analy-seminar_prev::after,
.analy-seminar_next::after {
  font-size: 14px;
  color: #005bac;
}

/* Swiperのデフォルトで top/transform が入るのでリセット */
.analy-seminar_swiper .swiper-button-prev,
.analy-seminar_swiper .swiper-button-next {
  top: auto;
  bottom: auto;
  margin-top: 0;
}

.analy-seminar_swiper .swiper-wrapper {
  height: 350px;
}

/* レスポンシブ */

@media screen and (max-width: 768px) {
  .analy-sec_seminar {
    padding-top: 56px;
    padding-bottom: 56px;
  }

	#analy-seminar .analy-sec_title {
    text-align: left;
}
	
  .analy-seminar_header {
    margin-bottom: 32px;
  }
	
	.analy-seminar_btn_list {
		font-size: 12px;
		padding: .08rem .24rem;
	}
	
  .analy-seminar_block_head {
/*     flex-direction: column; */
/*     align-items: flex-start; */
    gap: 12px;
  }

  .analy-seminar_block_title {
    font-size: 16px;
        min-width: 150px;
  }

  .analy-seminar_block_controls {
    width: 100%;
/*     justify-content: space-between; */
  }

  .seminar-card_body {
    padding: 10px 10px 12px;
  }

  .seminar-card_title {
    font-size: 12px;
  }

  .seminar-card_excerpt {
    font-size: 10px;
  }
}







/* ======================
   お役立ち情報セクション
   ====================== */

.analy-sec-useful {
/*   padding: 72px 0; */
	background: #F5F5F5;
}

.analy-sec-useful_header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
}

.analy-sec-useful_title .slug {
  display: inline-block;
  font-size: 12px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #3b6bbf;
  margin-bottom: 4px;
}

.analy-sec-useful_title .large {
  display: block;
  font-size: 24px;
  font-weight: 700;
}

.analy-sec-useful_controls {
  display: flex;
  align-items: center;
  gap: 16px;
	    justify-content: flex-end;
}

.analy-sec-useful_link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 16px;
  border-radius: 999px;
  border: 1px solid #3b6bbf;
  font-size: 12px;
  color: #3b6bbf;
  text-decoration: none;
  background: #fff;
  transition: background 0.2s ease, color 0.2s ease;
}

.analy-sec-useful_link:hover {
  background: #3b6bbf;
  color: #fff;
}

.analy-sec-useful_nav {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Swiperボタンを小さめの丸に */
#analy-useful .swiper-button-prev,
#analy-useful .swiper-button-next {
  position: static;
  width: 32px;
  height: 32px;
  margin-top: 0;
  border-radius: 50%;
  border: 1px solid #d0d7e6;
  background: #fff;
}

#analy-useful .swiper-button-prev::after,
#analy-useful .swiper-button-next::after {
  font-size: 14px;
  color: #3b6bbf;
}

/* スライダー本体 */
.analy-sec-useful_slider {
  overflow: hidden;
}

/* カードデザイン */
.useful-card_link {
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
  overflow: hidden;
  text-decoration: none;
  height: 100%;
  height: 350px;
}

/* 画像は16:9固定 */
.useful-card_thumb {
  position: relative;
  padding-top: 56.25%; /* 16:9 */
  overflow: hidden;
}

.useful-card_thumb img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 本文 */
.useful-card_body {
  padding: 14px 16px 16px;
}

.useful-card_date {
  font-size: 11px;
  color: #7f8da6;
  display: block;
  margin-bottom: 4px;
}

.useful-card_title {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 6px;
  max-height: 3em;   /* 2行分 */
  overflow: hidden;
}

.useful-card_excerpt {
  font-size: 12px;
  line-height: 1.6;
  color: #555;
  max-height: 4.8em; /* 3行分 */
  overflow: hidden;
}

/* Swiperスライドの高さを揃える */
#analy-useful .swiper-slide {
  height: auto;
}

#analy-useful .swiper-slide > .useful-card,
#analy-useful .swiper-slide > a {
  height: 100%;
}

/* レスポンシブ調整 */
@media screen and (max-width: 768px) {
  .analy-sec-useful {
/*     padding: 48px 0; */
  }

  .analy-sec-useful_header {
/*     flex-direction: column; */
/*     align-items: flex-start; */
    gap: 12px;
  }

  .analy-sec-useful_title .large {
    font-size: 20px;
  }

  .analy-sec-useful_controls {
    width: 100%;
/*     justify-content: space-between; */
  }

  .analy-sec-useful_slider {
    margin-top: 4px;
  }
}







/* ======================
   ブログセクション
   ====================== */

.analy-sec-blog {
/*   padding: 72px 0; */
	background: white;
}

.analy-sec-blog_header {
  display: flex;
  align-items: center;
  margin-bottom: 24px;
justify-content: space-between;
}

.analy-sec-blog_title .slug {
  display: inline-block;
  font-size: 12px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #3b6bbf;
  margin-bottom: 4px;
}

.analy-sec-blog_title .large {
  display: block;
  font-size: 24px;
  font-weight: 700;
}

.analy-sec-blog_controls {
  display: flex;
  align-items: center;
  gap: 16px;
}

.analy-sec-blog_link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 6px 16px;
  border-radius: 999px;
  border: 1px solid #3b6bbf;
  font-size: 12px;
  color: #3b6bbf;
  text-decoration: none;
  background: #fff;
  transition: background 0.2s ease, color 0.2s ease;
}

.analy-sec-blog_link:hover {
  background: #3b6bbf;
  color: #fff;
}

.analy-sec-blog_nav {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Swiperナビゲーションボタン */
#analy-blog .swiper-button-prev,
#analy-blog .swiper-button-next {
  position: static;
  width: 32px;
  height: 32px;
  margin-top: 0;
  border-radius: 50%;
  border: 1px solid #d0d7e6;
  background: #fff;
}

#analy-blog .swiper-button-prev::after,
#analy-blog .swiper-button-next::after {
  font-size: 14px;
  color: #3b6bbf;
}

/* スライダー本体 */
.analy-sec-blog_slider {
  overflow: hidden;
}

/* カードデザイン */
.blog-card_link {
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
  overflow: hidden;
  text-decoration: none;
  height: 100%;
}

/* 画像は16:9固定 */
.blog-card_thumb {
  position: relative;
  padding-top: 56.25%; /* 16:9 */
  overflow: hidden;
}

.blog-card_thumb img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 本文 */
.blog-card_body {
  padding: 14px 16px 16px;
}

.blog-card_date {
  font-size: 11px;
  color: #7f8da6;
  display: block;
  margin-bottom: 4px;
}

.blog-card_title {
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 6px;
  max-height: 3em;   /* 2行分 */
  overflow: hidden;
}

.blog-card_excerpt {
  font-size: 12px;
  line-height: 1.6;
  color: #555;
  max-height: 4.8em; /* 3行分 */
  overflow: hidden;
}

/* Swiperスライドの高さを揃える */
#analy-blog .swiper-slide {
  height: auto;
}

#analy-blog .swiper-slide > .blog-card,
#analy-blog .swiper-slide > a {
  height: 100%;
	height: 350px;
}

/* レスポンシブ調整 */
@media screen and (max-width: 768px) {
  .analy-sec-blog {
/*     padding: 48px 0; */
  }

  .analy-sec-blog_header {
/*     flex-direction: column; */
/*     align-items: flex-start; */
    gap: 12px;
  }

  .analy-sec-blog_title .large {
    font-size: 20px;
  }

  .analy-sec-blog_controls {
    width: 100%;
    justify-content: flex-end;
  }

  .analy-sec-blog_slider {
    margin-top: 4px;
  }
}
