@charset "UTF-8";
/*
 Theme Name: SANGO Child
 Theme URI: https://saruwakakun.design
 Author: SARUWAKA
 Author URI: https://saruwakakun.com
 Template: sango-theme
 Version: 4.0
*/
/*こちらはSANGOの子テーマ用CSSです。以下にCSSを記入していきましょう。*/


/* ========================================
   共通で入れているもの
======================================== */
/* ===========================
   ▼ここだけ変更する
=========================== */


:root {
  --button-main-color: #EE9200;
	  --button-main-color_hover: #cc7d00;
}

/* ===========================
  ▲ ここだけ変更する
=========================== */






.center_micro{
    margin-bottom: 4px;
	font-weight: bold;
    text-align: center;
	color: var(--wp--preset--color--sango-main);
}

body #inner-content .entry-content .btn {
	margin-top:0px;
}

/* ===========================
   ▼ お問い合わせフォーム
=========================== */

/* Contact Form 7 スタイル */
.wpcf7-form {
  max-width: 800px;
  margin: 0 auto;
  padding: 30px;
  background-color: #f9f9f9;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  font-family: "Helvetica Neue", Arial, sans-serif;
}

/* ラベルのスタイル */
.wpcf7-form label {
  display: block;
  margin-bottom: 5px;
  font-weight: 600;
  color: #333;
  font-size: 15px;
}

/* すでにHTMLに含まれている * マークの色を変更 */
span.required-mark {
  color: #c7000b;
  margin-left: 5px;
}

/* 入力フィールドの共通スタイル */
.wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance) {
  width: 100%;
  padding: 12px 15px;
  margin-bottom: 20px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 15px;
  box-sizing: border-box;
  transition: border-color 0.3s, box-shadow 0.3s;
}

/* フォーカス時のスタイル */
.wpcf7-form-control:not(.wpcf7-submit):focus {
  outline: none;
  border-color: #4a90e2;
  box-shadow: 0 0 0 3px rgba(74, 144, 226, 0.1);
}

/* テキストエリアのスタイル */
.wpcf7-textarea {
  min-height: 150px;
  resize: vertical;
}

/* セレクトボックスのスタイル */
select.wpcf7-form-control {
  background-position: calc(100% - 15px) center;
  background-repeat: no-repeat;
  background-size: 12px;
  padding-right: 40px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

/* チェックボックスのスタイル */
.wpcf7-acceptance {
  display: block;
  margin: 20px 0;
}

.wpcf7-acceptance .wpcf7-list-item {
  margin: 0;
}

.wpcf7-acceptance input[type="checkbox"] {
  margin-right: 8px;
  vertical-align: middle;
}

.wpcf7-acceptance .wpcf7-list-item-label {
  vertical-align: middle;
  font-size: 14px;
}

.wpcf7-acceptance .wpcf7-list-item-label a {
  color: #4a90e2;
  text-decoration: none;
}

.wpcf7-acceptance .wpcf7-list-item-label a:hover {
  text-decoration: underline;
}

/* 送信ボタンのスタイル */
.wpcf7-submit {
	background-color: #000;
  color: white;
  border: none;
  padding: 14px 30px;
  font-size: 16px;
  font-weight: 600;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.1s;
  display: block;
  margin: 0 auto;
  min-width: 200px;
  text-align: center;
}

.wpcf7-submit:hover:not([disabled]) {
	background-color: #000;
  text-align: center;
}

.wpcf7-submit:disabled {
  background-color: #cccccc;
  cursor: not-allowed;
  opacity: 0.7;
  text-align: center;
}

/* スピナーのスタイル */
.wpcf7-spinner {
  margin: 0 0 0 10px;
  vertical-align: middle;
  display: inline-block;
  width: 20px;
  height: 20px;
  background-color: #f0f0f0;
  border-radius: 50%;
}

/* エラーメッセージのスタイル */
.wpcf7-not-valid-tip {
  color: #dc3545;
  font-size: 13px;
  margin-top: 5px;
}

.wpcf7-response-output {
  margin: 20px 0 0;
  padding: 12px 15px;
  border-radius: 4px;
  font-size: 14px;
  text-align: center;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
  .wpcf7-form {
    padding: 20px 15px;
  }

  .wpcf7-submit {
    width: 100%;
  }
}

/*--------------------------------------
基本
--------------------------------------*/
div#content {
    font-weight: normal;
}

.header, .drawer__title {
    padding-top: 4px;
    padding-bottom: 0;
}

.header {
    box-shadow: none;
}

p.header-image__headline {
    letter-spacing: 1rem;
}

footer.entry-footer {
    display: none;
}

.sns-btn {
    display: none;
}

.prnx_tb {
    box-shadow: none;
}

label.fab-btn.extended-fab.main-c {
    display: none;
}

.entry-content th, .entry-content .wp-block-table th {
    border-right: 1px solid #e0e0e0;
    border-bottom: 1px solid #e0e0e0;
}

.entry-content td, .entry-content .wp-block-table td {
    border-right: 1px solid #e0e0e0;
}
.entry-content tr:not(:last-child) {
    border-bottom: 1px solid #e0e0e0;
}

.entry-content blockquote {
    box-sizing: border-box;
    position: relative;
    margin: 1.5em 0;
    padding: 13px 15px 13px 50px;
    border: solid 1px #e0e0e0;
    color: #464646;
}

.entry-content table {
	max-width: 100%;
}

h1.entry-title.single-title,
h1.page-title {
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1.6;
}

.entry-content h2 {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 10px;
    padding-bottom: 5px;
    position: relative;
}

.entry-content h2 {
    font-size: 20px !important;
    border-left: 4px solid  var(--wp--preset--color--sango-main);
    padding: .5em .7em;
    background: #f2f2f2;
    color: #323232;
    margin-bottom: 15px;
}

.entry-content h3 {
  border-bottom: 2px solid var(--wp--preset--color--sango-main);/*下線*/
  color: #323232;
  padding-bottom: .5em;
  margin-bottom: 15px;
  border-top: none;
	border-left:none;
	font-weight: bold;
}

a.sgb-footer__menu-btn.dfont {
    display: none;
}

td {
    vertical-align: middle;
}

td p:last-child {
    margin-bottom: 0;
}

td a.btn.raised.accent-bc.strong {
    margin: 0.5em 0 !important;
    padding: 1.2em 0.5em !important;
    font-size: 0.5em;
}

td a.btn.btn.grad3 {
    margin: 0.5em 0 !important;
    padding: 1.2em 0.5em !important;
    font-size: 1em;
}

/*--------------------------------------
btn
--------------------------------------*/

.header a, .entry-content a{
   transition: opacity 0.1s ease;
}



body #inner-content .entry-content .btn {
    text-align: center;
    display: block;
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding: 1rem 1.6rem;
    border-bottom: solid 5px rgba(0, 0, 0, 0.27);
    border-radius: 4px;
    font-weight: 700;
    margin-bottom: 0;
}

.btn {
	font-size: 16px;
}

body #inner-content .entry-content .accent {
    background-color: var(--button-main-color);
    color: #fff;
}

body #inner-content .entry-content .accent-bc  {
    background-color: var(--button-main-color);
	
    color: #fff;
}


body #inner-content .entry-content .newmark  {
background-color: var(--wp--preset--color--sango-main);
	
    color: #fff;
}


body #inner-content .entry-content .btn {
    transition: opacity 0.1s ease;
}

body #inner-content .entry-content .btn:hover {
	    background-color: var( --button-main-color_hover);
	
}

#inner-content .entry-content .btn {}

body #inner-content .entry-content .flat2 {
    background-color: #fff;
	border: 1px solid var(--button-main-color);
	color:var(--button-main-color);
}

body #inner-content .entry-content .grad3 {
    color: #000 !important;
    border: 1px solid #000 !important;
    background: #fff !important;
	margin-top:16px;
}


body #inner-content .entry-content .grad3:hover {
    background: #000!important;
    color: #fff !important;
}


body #inner-content .entry-content .flat2:hover {
    background: var(--button-main-color);
    color: #fff;
    opacity: 1;
} 


.single h1.entry-title.single-title {
    margin-top: 0;
}

/*--------------------------------------
マイクロコピーの中央揃えと余白調整
--------------------------------------*/
.center_micro {
	margin-bottom:0px!important;
	text-align: center!important;
	color: var(--button-main-color);
}


/*--------------------------------------
PR sango
--------------------------------------*/
  .pr-text {
    margin: 0 0 0 auto;
    display: block;
    background: #bfbfbf;
    padding: 0px 4px 0px;
    border-radius: 4px;
    font-size: 12px;
    color: #fff;
    font-weight: bold;
    width: 32px;
    height: 22px;
    text-align: center;
		line-height: 1.83;
}

.code-block-1{
	margin-bottom: 4px; 
		margin-top: 4px; 
	clear: both;
	}

.page .code-block.code-block-1 {
    display: none;
}

@media only screen and (max-width: 768px) {
	.code-block-1{
		margin-right: 4px; 
	}
	.pr-text {
    margin: 10px 10px 0 auto;
	}
}

*{ box-shadow: none!important; } 
*a:hover {
    opacity: 0.8!important;
}
*a img:hover {
    opacity: 0.8!important;
}

/* *{transition: none!important;} */
img.attachment-thumb-520.size-thumb-520.wp-post-image:hover {
    opacity: 0.8;
}
.related-posts .splide__slide a:hover img {
    transform: translateY(0px);
	 opacity: 0.8;
}
.related-posts li a:hover img {
    transform: translateY(0px);
	 opacity: 0.8;
}

.sidebar .my_popular_posts .widgettitle:before {
   display: none;
}



.sgb-full-bg .sgb-full-bg__content {
    padding-left:0px;
	}

#fixed_sidebar {
    top: 48px;
}

.layout-squared .normal-sidebar .widget {
    border-radius: 4px;
	}

@media only screen and (min-width: 769px) {
.layout-squared #entry {
    border-radius: 4px;
}
		}

.author-info__inner .tb {
    border-radius: 4px;
}
.prnx_tb {
     border-radius: 4px;
}

a.dfont {
    font-size: 12px;
}




@media screen and (max-width: 768px) {
  p.header-image__headline{
	  font-size: 16px;
		    letter-spacing: 0.8rem;
   }
}

/* レビュー用の星 */
span.rate-star {
    padding: 0 0.5em;
    width: auto !important;
}

span.dashicons {
    font-size: 20px;
    width: auto;
    height: auto;
    line-height: normal;
    text-decoration: inherit;
    vertical-align: middle;
}

.dashicons-star-filled::before {
    content: "\f155";
    font-family: dashicons;
    font-size: 20px;
    color: #fac225;
}

.dashicons-star-half::before {
    content: "\f459";
    font-family: dashicons;
    font-size: 20px;
    color: #fac225;
}

.dashicons-star-empty::before {
    content: "\f154";
    font-family: dashicons;
    font-size: 20px;
    color: #fac225;
}


/*--------------------------------------
FVランキング
--------------------------------------*/
/* ベーススタイル */
    .fv-rank_container * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

.fv-rank_container p {
    margin: 0;
}

    /* コンテナ */
    .fv-rank_container {
      max-width: 1000px;
      margin: 0 auto;
      font-family: sans-serif;
      line-height: 1.5;
    }

    /* ヘッダー - 高さと文字サイズを小さく調整 */
    .fv-rank_header {
      background-color: #1a1a1a;
      color: white;
      padding: 0.75rem; /* パディングを小さく */
      text-align: center;
      border-top-left-radius: 0.5rem;
      border-top-right-radius: 0.5rem;
      margin-bottom: 0;
      border: 1px solid #d1d5db;
    }

    .fv-rank_main-title {
      font-size: 1.125rem; /* 文字サイズを小さく */
      font-weight: bold;
      display: block;
    }

    /* サービスコンテナ */
    .fv-rank_services-container {
      border-radius: 0 0 0.5rem 0.5rem;
      overflow: hidden;
      box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
      border: 1px solid #d1d5db;
      border-top: none;
    }

    /* サービス項目 */
    .fv-rank_service-item {
      display: flex;
      flex-direction: column;
      padding: 1.25rem;
      border-bottom: 1px solid #d1d5db;
      background-color: white;
      transition: all 0.1s;
      transform: translateY(0);
    }

    .fv-rank_service-item:last-child {
      border-bottom: none;
    }

    /* サービス画像 */
    .fv-rank_service-image-container {
      width: 100%;
      margin-bottom: 1rem;
    }

    .fv-rank_service-image {
      width: 100%;
      height: auto;
      border-radius: 0.5rem;
      box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
      transition: transform 0.1s;
    }

    /* サービスコンテンツ */
    .fv-rank_service-content {
      flex: 1;
      display: flex;
      flex-direction: column;
    }

    /* サービスヘッダー */
    .fv-rank_service-header {
      display: flex;
      align-items: center;
      margin-bottom: 0.75rem;
    }

    /* サービス番号 */
    .fv-rank_service-number {
      width: 2.5rem;
      height: 2.5rem;
      display: flex;
      align-items: center;
      justify-content: center;
      background: #000;
      color: white;
      border-radius: 9999px;
      font-weight: bold;
      box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
      margin-right: 1rem;
      animation: fv-rank-buttonPulse 2s infinite;
    }

    /* サービスタイトル */
    .fv-rank_service-title-container {
      flex: 1;
    }

    .fv-rank_service-title {
      font-size: 1.125rem;
      font-weight: bold;
      color: #111827;
      display: block;
    }

    /* サービス説明 */
    .fv-rank_service-description {
      color: #4b5563;
    }

    /* サービスアクション */
    .fv-rank_service-actions {
      display: flex;
      flex-direction: column;
      gap: 0rem;
      margin-top: 1rem;
    }

    /* ボタン */
    .fv-rank_btn {
      display: inline-block;
      padding: 0.75rem 1.25rem;
      border-radius: 0.375rem;
      text-align: center;
      font-weight: 600;
      text-decoration: none;
      transition: all 0.1s;
      transform: translateY(0);
    }

    .fv-rank_btn:hover {
/*       opacity: 0.7; */
			text-decoration: none;
    }

    .fv-rank_btn-primary {
      color: white;

			    background: var(--button-main-color);

border: 1px solid var(--button-main-color);
			
    }


.fv-rank_btn-primary:hover {
opacity: 0.7;

 }



    .fv-rank_btn-secondary {
/*       color: var(--wp--preset--color--sango-main); */
			
			color:var(--button-main-color);
			
			
    background-color: white;
/*     border: 2px solid var(--wp--preset--color--sango-main); */
			border: 1px solid var(--button-main-color);
    }
    
    .fv-rank_btn-secondary:hover {
      color: #fff;
/*     background-color: var(--wp--preset--color--sango-main); */
			background:var(--button-main-color);
    border: 1px solid var(--wp--preset--color--sango-main);
    }

.fv-rank_service-image-container {
				display: flex;
        justify-content: center;
        align-items: center;
      }

    /* アニメーション */
/*     @keyframes fv-rank-buttonPulse {
      0% {
        box-shadow: 0 4px 8px rgba(204, 0, 0, 0.3);
      }
      50% {
        box-shadow: 0 6px 12px rgba(204, 0, 0, 0.5);
      }
      100% {
        box-shadow: 0 4px 8px rgba(204, 0, 0, 0.3);
      }
    } */

    /* モバイル表示 (768px未満) */
    @media (max-width: 767px) {
      .fv-rank_service-item {
        flex-direction: column;
      }
      
      .fv-rank_service-image-container {
        width: 100%;
        margin-bottom: 1rem;
        margin-right: 0;
      }
      
      .fv-rank_service-content {
        margin-right: 0;
      }
      
      .fv-rank_service-actions {
        width: 100%;
        margin-top: 1rem;
      }
    }

    /* タブレット・小さいデスクトップ表示 (768px〜1240px) */
    @media (min-width: 768px) and (max-width: 1240px) {
      .fv-rank_main-title {
        font-size: 1.25rem; /* 文字サイズを調整 */
      }
      
      .fv-rank_service-item {
        flex-direction: row;
        flex-wrap: wrap;
      }
      
      .fv-rank_service-image-container {
        width: 22%;  /* 画像サイズを相対的に調整 */
        min-width: 120px;
        margin-bottom: 0;
        margin-right: 3%;
        flex-shrink: 0;
      }
      
      .fv-rank_service-content {
        flex: 1;
        min-width: 200px;
        margin-right: 3%;
      }
      
      .fv-rank_service-actions {
        width: 15%;  /* ボタンエリアのサイズを相対的に調整 */
        min-width: 120px;
        margin-top: 0;
        flex-shrink: 0;
      }
      
      .fv-rank_btn {
        padding: 0.625rem 0.75rem;
        font-size: 0.875rem;
      }
      
      /* 画面幅が狭い場合、ボタンエリアを下に配置 */
      @media (max-width: 900px) {
        .fv-rank_service-content {
          margin-right: 0;
          margin-bottom: 1rem;
        }
        
        .fv-rank_service-actions {
          width: 100%;
          display: flex;
          flex-direction: row;
          gap: 1rem;
        }
        
        .fv-rank_btn {
          flex: 1;
        }
      }
    }

    /* 大きいデスクトップ表示 (1240px以上) */
    @media (min-width: 1241px) {
      .fv-rank_main-title {
        font-size: 1.375rem; /* 文字サイズを調整 */
      }

      .fv-rank_service-item {
        flex-direction: row;
      }

      .fv-rank_service-image-container {
        width: 180px;
        margin-bottom: 0;
        margin-right: 1.25rem;
        flex-shrink: 0;
				display: flex;
        justify-content: center;
        align-items: center;
      }

      .fv-rank_service-content {
        margin-right: 1.25rem;
      }

      .fv-rank_service-actions {
        width: 160px;
        margin-top: 0;
        flex-shrink: 0;
      }
    }



.footer .wp-block-search .wp-block-search__input, .sidebar .wp-block-search .wp-block-search__input, .drawer .wp-block-search .wp-block-search__input {
    border: solid 1px #efefef;
}

.entrycontent p {max-width:100%}





.top-btn-cta a {
    display: flex
;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
    max-width: 300px;
    height: 60px;
    font-size: 18px;
    font-weight: normal;
    text-decoration: none;
    transition: 0.1s;
    border-radius: 7px;
    margin-right: auto;
    margin-left: auto;
    background-color: var(--button-main-color);
    color: #fff;
    transition: all 0.1s 
ease-in-out;
	font-weight:700;
}

.top-btn-cta a:hover {
    opacity: 0.7;
    transition: all 0.1s 
ease-in-out;
}

.top-btn-cta a::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 20px;
    transform: rotate(45deg) translateY(-50%);
    width: 6px;
    height: 6px;
    border-width: 2px 2px 0 0;
    border-style: solid;
    border-color: #fff;
}

#breadcrumb li:first-child a:before {
    content: "\f015";
}

/* タブレット以下：パンくずリストの背景を白に */
@media (max-width: 768px) {
  .breadcrumb {
    background: #fff;
  }
}
.wp-block-heading {
    color: #ffffff;
    background-color: var(--wp--preset--color--sango-main);
    margin-bottom: 0;
    padding: var(--wp--custom--widget--padding-vertical) var(--wp--custom--widget--padding-horizontal);
    font-size: 1.2em;
    margin-top: 0;
	font-weight:bold;
}

.entrycontent p {max-width:100%}


/* ========================================
   カスタムヘッダー
======================================== */
.nkcp-header {
  width: 100%;
  background: #fff;
  border-bottom: 1px solid #e8e8e8;
  position: sticky;
  top: 0;
  z-index: 1000;
}

.nkcp-header__inner {
  display: flex;
  align-items: center;
  gap: 32px;
  max-width: 1600px;
  margin: 0 auto;
  width: 100%;
  padding: 0 24px;
  height: 64px;
  box-sizing: border-box;
}

/* ロゴ */
.nkcp-header__logo {
  flex-shrink: 0;
}

/* h1/div どちらで囲んでも見た目を同一にする */
.nkcp-header__logo h1,
.nkcp-header__logo div {
  margin: 0;
  padding: 0;
  font-size: inherit;
  font-weight: inherit;
  line-height: 1;
}

.nkcp-header__logo a {
  display: flex;
  align-items: center;
  text-decoration: none;
}

.nkcp-header__logo svg {
  display: block;
}

/* カテゴリナビ: ロゴとボタンの間を埋めてボタン寄り（justify-content: flex-end） */
.nkcp-header__nav {
  flex: 1;
  display: flex;
  justify-content: flex-end;
}

.nkcp-header__nav .nkcp-nav-list,
.nkcp-header__nav ul {
  display: flex;
  align-items: center;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.nkcp-header__nav li {
  margin: 0;
  padding: 0;
}

.nkcp-header__nav li a {
  display: inline-block;
  padding: 6px 14px 4px; /* bottom padding を少し縮めて文字と線を近づける */
  border-radius: 0;
  font-size: 14px;
  font-weight: 500;
  color: #003D25;
  text-decoration: none;
  white-space: nowrap;
  position: relative;
}

/* 下線：padding分を除いた文字幅の下に表示 */
.nkcp-header__nav li a::after {
  content: "";
  position: absolute;
  bottom: 2px;          /* 文字に近づける */
  left: 14px;
  width: calc(100% - 28px);
  height: 1px;
  background: #003D25;
  transform: scaleX(0);
  transform-origin: right center;
  transition: transform 0.25s ease;
}

.nkcp-header__nav li a:hover::after {
  transform: scaleX(1);
  transform-origin: left center;
}

/* CTAボタン */
.nkcp-header__cta {
  flex-shrink: 0;
}

.nkcp-header__btn {
  display: inline-block;
  padding: 8px 20px;
  background: #EE9200;
  color: #fff !important;
  font-size: 14px;
  font-weight: 600;
  border-radius: 8px;
  text-decoration: none;
  transition: background 0.2s, opacity 0.2s;
  white-space: nowrap;
}

.nkcp-header__btn:hover {
  background: #cc7d00;
  color: #fff !important;
  text-decoration: none;
}

/* ボタン内の矢印アニメーション */
.nkcp-btn-arrow {
  display: inline-block;
  margin-left: 5px;
  transition: transform 0.2s ease;
}

/* ヘッダーCTAボタン：短縮テキストはデフォルト非表示 */
.nkcp-btn-text--short {
  display: none;
}

/* 420px以下：短縮テキスト・矢印なしに切り替え */
@media (max-width: 420px) {
  .nkcp-header__btn .nkcp-btn-text--full,
  .nkcp-header__btn .nkcp-btn-arrow {
    display: none;
  }
  .nkcp-header__btn .nkcp-btn-text--short {
    display: inline;
  }
}

.nkcp-header__btn:hover .nkcp-btn-arrow {
  transform: translateX(4px);
}

/* SANGOデフォルトヘッダーを非表示（カスタムヘッダーと重複しないよう） */
#header .inner-header,
#header .sng-header-wrap {
  display: none;
}

/* ========================================
   ヘッダー下帯バナー
======================================== */
.nkcp-header-band {
  width: 100%;
  background: linear-gradient(
    to right,
    #003D25 0%,
    #04A375 30%,
    #04A375 70%,
    #003D25 100%
  );
  text-align: center;
  padding: 6px 24px;      /* 高さを低く */
  box-sizing: border-box;
  position: sticky;       /* スクロール追従 */
  top: 64px;              /* ヘッダーの高さ分下にずらす */
  z-index: 999;           /* ヘッダー(1000)の直下 */
}

.nkcp-header-band__link {
  color: #fff !important;
  font-size: 13px;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: #fff;  /* 通常時からはっきり表示 */
  letter-spacing: 0.04em;
  transition: opacity 0.2s ease;
}

.nkcp-header-band__link:hover {
  opacity: 0.75;
  text-decoration-color: #fff;
}

/* ========================================
   ハンバーガーボタン（スマホのみ表示）
======================================== */
.nkcp-hamburger {
  display: none; /* PCでは非表示 */
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 40px;
  height: 40px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  flex-shrink: 0;
  margin-left: auto;
}

.nkcp-hamburger span {
  display: block;
  width: 24px;
  height: 2px;
  background: #003D25;
  border-radius: 2px;
  transition: transform 0.3s ease, opacity 0.3s ease;
  transform-origin: center;
}

/* ハンバーガー → ✕ アニメーション */
.nkcp-hamburger.is-open span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}
.nkcp-hamburger.is-open span:nth-child(2) {
  opacity: 0;
  transform: scaleX(0);
}
.nkcp-hamburger.is-open span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

/* ========================================
   モバイルメニュー
======================================== */
.nkcp-mobile-menu {
  display: none; /* JS で制御 */
  background: #fff;
  border-top: 1px solid #e8e8e8;
  padding: 16px 24px 24px;
}

.nkcp-mobile-menu.is-open {
  display: block;
}

.nkcp-mobile-nav-list {
  list-style: none;
  margin: 0 0 20px;
  padding: 0;
}

.nkcp-mobile-nav-list li {
  border-bottom: 1px solid #f0f0f0;
}

.nkcp-mobile-nav-list li a {
  display: block;
  padding: 14px 4px;
  font-size: 15px;
  font-weight: 500;
  color: #003D25;
  text-decoration: none;
  transition: color 0.2s;
}

.nkcp-mobile-nav-list li a:hover {
  color: #00AE68;
}

.nkcp-mobile-menu__cta {
  padding-top: 8px;
}

.nkcp-mobile-menu__cta .nkcp-header__btn {
  display: block;
  text-align: center;
  width: 100%;
  box-sizing: border-box;
}

/* ========================================
   レスポンシブ：850px以下でハンバーガー表示
======================================== */
@media (max-width: 850px) {
  .nkcp-header__inner {
    padding: 0 16px;
    gap: 0;
  }

  /* PC用ナビを非表示 */
  .nkcp-header__nav {
    display: none;
  }

  /* CTAボタンをロゴの反対側（右端）に配置 */
  .nkcp-header__cta {
    margin-left: auto;
  }

  /* ハンバーガーボタンを表示・CTAの直後に配置 */
  .nkcp-hamburger {
    display: flex;
    margin-left: 8px;
  }
}


/* ========================================
   splide 関連
======================================== */


.l-inner {
  position: relative;
  box-sizing: content-box;
  max-width: 1200px;
  margin: 0 auto;
}

.l-section {
  border-top: 1px solid #eee;
}

.l-section .l-inner {
  padding-top: 0px;
  padding-bottom: 0px;
}

.c-temp {
  line-height: 1;
}

.c-temp .l-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.c-temp .text {
  font-size: 2.4rem;
  font-weight: bold;
}

.c-temp .button {
  font-size: 1.4rem;
  font-weight: bold;
  display: block;
  width: 12rem;
  padding: 1.6rem 0 1.2rem;
  text-align: center;
  letter-spacing: 0.1em;
  color: #fff;
  border-radius: 100px;
  background-color: #fff;
}

.c-footer .l-inner {
  padding-top: 0;
}

.c-footer .text {
  color: #333;
}

/* ========================================
   カスタムフッター
======================================== */
.nkcp-footer {
  background: #F1F4F3;
  color: #033824;
  width: 100%;
  padding: 48px 0 0;
}

.nkcp-footer__inner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0 24px;
}

/* 上段：ロゴ・ナビ・CTA の3カラム */
.nkcp-footer__top {
  display: flex;
  align-items: flex-start;
  gap: 48px;
  padding-bottom: 40px;
  border-bottom: 1px solid rgba(3, 56, 36, 0.15);
}

/* ロゴ＋キャッチコピー */
.nkcp-footer__brand {
  flex: 0 0 280px;
  width: 280px;
}

.nkcp-footer__logo {
  display: inline-block;
  text-decoration: none;
  margin-bottom: 12px;
}

.nkcp-footer__tagline {
  font-size: 12px;
  color: #707F89;
  margin: 0;
  line-height: 1.8;
}

/* ナビゲーション */
.nkcp-footer__nav {
  flex: 1;
  display: flex;
  gap: 40px;
}

.nkcp-footer__nav-col {
  flex: 0 0 auto;
  min-width: 120px;
}

.nkcp-footer__nav-title {
  font-size: 12px;
  font-weight: 700;
  color: #707F89;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin: 0 0 12px;
}

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

.nkcp-footer__nav-list li {
  margin-bottom: 8px;
}

.nkcp-footer__nav-list a {
  display: inline-block;
  font-size: 14px;
  color: #033824;
  text-decoration: none;
  position: relative;
}

.nkcp-footer__nav-list a::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #033824;
  transform: scaleX(0);
  transform-origin: right center;
  transition: transform 0.25s ease;
}

.nkcp-footer__nav-list a:hover::after {
  transform: scaleX(1);
  transform-origin: left center;
}

/* CTAエリア */
.nkcp-footer__cta {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
}

.nkcp-footer__cta-text {
  font-size: 13px;
  color: #707F89;
  margin: 0;
  line-height: 1.6;
}

.nkcp-footer__btn {
  display: inline-block;
  padding: 10px 20px;
  background: #EE9200;
  color: #fff !important;
  font-size: 13px;
  font-weight: 600;
  border-radius: 8px;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.2s, opacity 0.2s;
  width: auto;
  align-self: flex-start;
}

.nkcp-footer__btn:hover {
  background: #cc7d00;
  color: #fff !important;
}

.nkcp-footer__btn:hover .nkcp-btn-arrow {
  transform: translateX(4px);
}

/* コピーライト */
.nkcp-footer__bottom {
  padding: 16px 0;
  text-align: center;
}

.nkcp-footer__copyright {
  font-size: 12px;
  color: #707F89;
  margin: 0;
}

/* ========================================
   フッター レスポンシブ
======================================== */

/* タブレット（1024px以下） */
@media (max-width: 1024px) {
  .nkcp-footer__brand {
    flex: 0 0 220px;
    width: 220px;
  }

  .nkcp-footer__top {
    gap: 32px;
  }
}

/* スマホ（850px以下） */
@media (max-width: 850px) {
  .nkcp-footer {
    padding: 36px 0 0;
  }

  .nkcp-footer__top {
    flex-direction: column;
    gap: 28px;
  }

  .nkcp-footer__brand {
    flex: none;
    width: 100%;
  }

  .nkcp-footer__nav {
    width: 100%;
    gap: 24px;
    flex-wrap: wrap;
  }

  .nkcp-footer__nav-col {
    flex: 1 1 calc(50% - 12px);
    min-width: 130px;
  }

  .nkcp-footer__cta {
    width: 100%;
    align-items: stretch;
  }

  .nkcp-footer__btn {
    text-align: center;
    box-sizing: border-box;
  }
}

.c-info {
  font-size: 1.4rem;
  display: inline-block;
  margin-top: 4rem;
  margin-bottom: 6.4rem;
}

.c-info li {
  position: relative;
  padding-left: 16px;
  color: #fff;
}

.c-info li::before {
  position: absolute;
  top: 0.6em;
  left: 0;
  display: inline-block;
  width: 8px;
  height: 2px;
  content: "";
  background-color: #fff;
}

.c-info li + li {
  margin-top: 0.8rem;
}

.c-title {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.6;
  display: inline-block;
  min-width: 32rem;
  margin-bottom: 6.4rem;
  vertical-align: top;
  color: #fff;
}

.c-title [class*="ico-"] {
  font-size: 1.3rem;
  line-height: 1;
  display: block;
  width: 10rem;
  margin-bottom: 1.2rem;
  padding: 0.8rem 0 0.6rem;
  text-align: center;
  letter-spacing: 0.05em;
  border-radius: 100px;
}

.c-title .ico-advanced {
  color: #fff;
  background-color: #fff;
}

/* slider */
.slide-media,
.thumb-media {
  position: relative;
  overflow: hidden;
}

.slide-media img,
.thumb-media img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.splide {
  z-index: 0;
}

.splide-wrapper {
  position: relative;
}

.splide__arrow > svg {
  display: none;
}

.card04 {
  overflow: hidden;
}

.card04 .splide-a:not(.is-active) .splide__track {
  overflow: visible;
}

.card04 .splide__track {
  overflow: visible;
}

.card04 .splide__arrow--prev,
.card04 .splide__arrow--next {
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  margin: auto;
}

.card04 .splide__arrow--prev {
  right: calc(100% - 1.6rem);
}

.card04 .splide__arrow--next {
  left: calc(100% - 1.6rem);
}

.card04 .splide-a:not(.is-active) {
  padding: 0;
}

.card04 .splide-a:not(.is-active) .splide__arrow--prev,
.card04 .splide-a:not(.is-active) .splide__arrow--next {
  display: none;
}

.card04 .splide-a:not(.is-active) .splide__list {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}

.card04 .slide {
  overflow: hidden;
  border-radius: 8px;
  height: 100%;
}

.card04 .slide-media {
  padding-top: 62.5%;
}

.card04 .slide-media img {
  height: calc(100%);
}

.card04 .slide-content {
  background-color: #fff;
  padding: 16px;
  height: 100%;
}

.card04 .slide-date {
  font-size: 1.2rem;
  line-height: 1;
  display: block;
  color: var(--color-theme);
}

.card04 .slide-title {
  line-height: 1.6;
  margin-top: 0;
  margin: 0px;
  padding: 0px;
  border-left-width: 0px;
  border-left-style: none;
  font-size: 16px;
  line-height: 1.5;
  text-align: center;
}
p.slide-text {
  font-size: 14px;
  margin-top: 12px;
  margin-bottom: 16px;
}
ul.slide-ul {
  margin-top: 0px;
  margin-bottom: 0px;
}
.slide-ul li {
  font-size: 14px;
  list-style-type: none;
  padding-top: 0px;
  padding-bottom: 0px;
  display: flex;
  align-items: center;
  font-weight: 700;
  margin-left: 16px;
}

@media only screen and (max-width: 599px) {
  .pc-tab {
    display: none !important;
  }
}

@media only screen and (min-width: 1025px) {
  .tab-sp {
    display: none !important;
  }

  .splide__arrow--prev:hover::before,
  .splide__arrow--next:hover::before {
    transform: scale(1.2);
  }
}

@media only screen and (min-width: 600px) {
  .sp {
    display: none !important;
  }
}

.splide.is-initialized:not(.is-active) .splide__list {
  /* display: block; */
  display: flex;
  flex-direction: row;
}
.card04 .splide-a:not(.is-active) .splide__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.splide__slide {
  color: #333;
}
article.slide {
  border: 1px solid #333;
}

.slide-ul li::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url("../../uploads/top/check-circle.svg");
  background-size: contain;
  background-repeat: no-repeat;
  margin-right: 8px;
  vertical-align: middle;
}
button.splide__arrow.splide__arrow--prev {
  display: none;
}
button.splide__arrow.splide__arrow--next {
  display: none;
}

.image-overlay {
  display: flex;
  align-items: center;
}

.image-overlay img {
  display: block;
  width: auto;
  height: 50px !important;
  position: absolute;
  top: 0px;
  left: 0px;
  background: #fff;
  padding: 12px;
  border-bottom: 1px solid #333;
}

.overlay-number {
  font-size: 24px;
  color: #333;
  font-weight: bold;
  background-color: #e5e5e5;
  height: 50px;
  width: 50px;
  text-align: center;
  position: absolute;
  top: 0px;
  left: 91.5px;
  border-bottom: 1px solid #333;
  border-right: 1px solid #333;
  border-left: 1px solid #333;
}

/*--------------------------------------
fv-image
--------------------------------------*/

.fv-article-image {
  height: 40vh;
  max-height: 500px;
  min-height: 200px;
  display: flex;
  align-items: stretch;
}

.fv-article-image img {
  height: 40vh;
  max-height: 500px;
  min-height: 200px;
  object-fit: cover;
}

.top-title-wrapper {
  display: flex;
}

/* ========================================
   新着コラム セクション
======================================== */

/* セクションタイトル */
.top-title-container {
  margin-bottom: 32px;
}

.top-heading-en {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #00AE68;
  margin-bottom: 4px;
}

.top-title-h2 {
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #033824 !important;
  margin: 0 !important;
  line-height: 1.4 !important;
}

/* 左カラム（記事リスト）+ 右カラム（検索・カテゴリ）: 7.5:2.5 */
.top-left-article {
  flex-basis: 75% !important;
  padding-right: 0 !important;
}

.top-right-sidebar {
  flex-basis: 25% !important;
  border-left: 1px solid rgba(3, 56, 36, 0.1);
  padding-left: 24px !important;
}

/* もっと見るボタン */
.top-btn {
  margin-top: 24px;
  text-align: center;
}

/* 新着コラム「もっとみる」ボタン：下にボーダー */
.top-btn--new {
  padding-bottom: 48px;
  border-bottom: 1px solid #CCD9D4;
}

.top-btn a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 13px 32px !important;
  background: #fff !important;
  border: 1px solid #033824 !important;
  color: #033824 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  transition: background 0.2s, color 0.2s !important;
  position: relative !important;
}

.top-btn a::after {
  content: "→";
  font-size: 14px;
  transition: transform 0.2s ease;
  display: inline-block;
}

.top-btn a:hover {
  background: #033824 !important;
  color: #fff !important;
}

.top-btn a:hover::after {
  transform: translateX(4px);
}

/* サイドバー：検索 */
.top-right-sidebar .wp-block-search {
  margin-bottom: 32px;
}

.top-right-sidebar .wp-block-search__input {
  border: 0px solid #ccc;
  border-radius: 6px 0 0 6px;
  padding: 8px 12px;
  font-size: 13px;
  outline: none;
}

.top-right-sidebar .wp-block-search__button {
  background: #033824;
  color: #fff;
  border: none;
  border-radius: 0 6px 6px 0;
  padding: 8px 14px;
  cursor: pointer;
}

.top-right-sidebar :where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) {
  border-radius: 8px !important;
}

/* サイドバー：カテゴリタイトル（白背景・角丸） */
.nkcp-category-title {
  background: #fff;
  border-radius: 8px 8px 0 0;
  padding: 16px 16px 12px !important;
  margin-bottom: 0 !important;
  font-weight: 700 !important;
  color: #033824 !important;
}

.top-right-sidebar .top-category {
  background: #fff;
  border-radius: 0 0 8px 8px;
  padding: 12px 16px 16px !important;
}

/* サイドバー：カテゴリタイトル */
.sidebar-main-title {
  font-size: 13px;
  font-weight: 700;
  color: #033824;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding-bottom: 8px;
  border-bottom: 2px solid #00AE68;
  margin-bottom: 12px;
}

/* カテゴリリスト：タグ型ボタン */
.top-category {
  list-style: none !important;
  margin: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

.top-category li {
  border-bottom: none;
}

.top-category li a {
  display: inline-flex !important;
  align-items: center;
  padding: 6px 14px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #033824 !important;
  background: #F8FAF9;
  border: 1.5px solid #CCD9D4;
  border-radius: 999px !important;
  text-decoration: none !important;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
  white-space: nowrap;
}

.top-category li a:hover {
  background: #033824 !important;
  color: #fff !important;
  border-color: #033824 !important;
}

/* レスポンシブ（850px以下）: タイトルサイズ変更 */
@media (max-width: 850px) {
  .top-title-h2 {
    font-size: 18px !important;
  }
}

/* レスポンシブ（600px以下）: 左右カラム縦積み */
@media (max-width: 600px) {
  .top-left-article {
    flex-basis: 100% !important;
    padding-right: 0 !important;
  }

  .top-right-sidebar {
    flex-basis: 100% !important;
    border-left: none;
    border-top: 1px solid rgba(3, 56, 36, 0.1);
    padding-left: 0 !important;
    padding-top: 32px !important;
  }
}

/* nkcp-column-section 内の .wrap 幅を100%に */
.nkcp-column-section .wrap {
  width: 100% !important;
}

/* ========================================
   人気ランキング（nkcp-column-section内）
======================================== */
/* カードグリッド */
#sgb-css-id-7 .catpost-cards {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
}

/* flatレイアウト（横並び）を縦型に上書き */
#sgb-css-id-7 .catpost-cards--flat .c_linkto {
  display: flex !important;
  flex-direction: column !important;
}

#sgb-css-id-7 .catpost-cards--flat .c_linkto_img_wrap {
  width: 100% !important;
  flex-shrink: 0 !important;
}

#sgb-css-id-7 .catpost-cards--flat .c_linkto_text {
  width: 100% !important;
}

/* カードのボーダー色・背景 */
#sgb-css-id-7 .catpost-cards .c_linkto_wrap {
  max-width: none !important;
  border: 1px solid #F1F4F3 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background: #fff !important;
}

/* ランキングバッジ（1位・2位・3位） */
#sgb-css-id-7 .catpost-cards .c_linkto_wrap:nth-child(1) .c_linkto_img_wrap::before,
#sgb-css-id-7 .catpost-cards .c_linkto_wrap:nth-child(2) .c_linkto_img_wrap::before,
#sgb-css-id-7 .catpost-cards .c_linkto_wrap:nth-child(3) .c_linkto_img_wrap::before {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 2;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  line-height: 1;
}

#sgb-css-id-7 .catpost-cards .c_linkto_wrap:nth-child(1) .c_linkto_img_wrap::before {
  content: "1";
  background: #D4A017;
}

#sgb-css-id-7 .catpost-cards .c_linkto_wrap:nth-child(2) .c_linkto_img_wrap::before {
  content: "2";
  background: #9EA5A8;
}

#sgb-css-id-7 .catpost-cards .c_linkto_wrap:nth-child(3) .c_linkto_img_wrap::before {
  content: "3";
  background: #B87333;
}

/* ホバー時の上移動・影を無効化 */
#sgb-css-id-7 .c_linkto_wrap,
#sgb-css-id-7 .c_linkto {
  transform: none !important;
  box-shadow: none !important;
  transition: none !important;
}

#sgb-css-id-7 .c_linkto_wrap:hover,
#sgb-css-id-7 .c_linkto:hover {
  transform: none !important;
  box-shadow: none !important;
}

/* ホバー時：画像を白くフェード */
#sgb-css-id-7 .c_linkto_img_wrap {
  position: relative;
  overflow: hidden;
  box-shadow: none !important;
  transition: none !important;
  border-radius: 0 !important;
}

#sgb-css-id-7 .c_linkto_img_wrap:hover {
  box-shadow: none !important;
  transform: none !important;
}

#sgb-css-id-7 .c_linkto_img_wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0);
  transition: background 0.3s ease;
  pointer-events: none;
}

#sgb-css-id-7 .c_linkto:hover .c_linkto_img_wrap::after {
  background: rgba(255, 255, 255, 0.3);
}

/* テキスト色・日付 */
#sgb-css-id-7 .c_linkto_text {
  color: #033824 !important;
  padding: 12px 14px 14px !important;
}

#sgb-css-id-7 .sng-link-time {
  font-weight: 400 !important;
}

/* タブレット（850px以下）: 2カラム */
@media (max-width: 850px) {
  #sgb-css-id-7 .catpost-cards {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
  }
}

/* スマホ（480px以下）: 1カラム */
@media (max-width: 480px) {
  #sgb-css-id-7 .catpost-cards {
    grid-template-columns: 1fr !important;
  }
}

/* ランキングタイトルの上余白 */
.nkcp-column-section .top-left-article .top-title-container:not(:first-child) {
  margin-top: 48px !important;
}

/* 新着コラム：カードグリッド 3カラム → 2カラム → 1カラム */
.nkcp-column-section .catpost-cards {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
}

/* カードのボーダー色 */
html body .nkcp-column-section .catpost-cards .c_linkto_wrap,
html body .nkcp-column-section .catpost-cards .c_linkto_wrap:hover {
  border: 1px solid #F1F4F3 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
}

/* タブレット（850px以下）: 2カラム */
@media (max-width: 850px) {
  .nkcp-column-section .catpost-cards {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
  }
}

/* スマホ（480px以下）: 1カラム */
@media (max-width: 480px) {
  .nkcp-column-section .catpost-cards {
    grid-template-columns: 1fr !important;
  }
}




.splide {
  z-index: 0;
}

.splide-wrapper {
  position: relative;
}

.splide__arrow > svg {
  display: none;
}

.card04 .splide-a:not(.is-active) .splide__track {
  overflow: visible;
}

.card04 .splide__track {
  overflow: visible;
}

.card04 .splide__arrow--prev,
.card04 .splide__arrow--next {
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  margin: auto;
}

.card04 .splide__arrow--prev {
  right: calc(100% - 1.6rem);
}

.card04 .splide__arrow--next {
  left: calc(100% - 1.6rem);
}

.card04 .splide-a:not(.is-active) {
  padding: 0;
}

.card04 .splide-a:not(.is-active) .splide__arrow--prev,
.card04 .splide-a:not(.is-active) .splide__arrow--next {
  display: none;
}

.card04 .splide-a:not(.is-active) .splide__list {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}

@media only screen and (min-width: 1025px) {
  .splide__arrow--prev:hover::before,
  .splide__arrow--next:hover::before {
    transform: scale(1.2);
  }
}

.splide.is-initialized:not(.is-active) .splide__list {
  /* display: block; */
  display: flex;
  flex-direction: row;
}

.card04 .splide-a:not(.is-active) .splide__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.splide__slide {
  color: #333;
}

button.splide__arrow.splide__arrow--prev {
  display: none;
}
button.splide__arrow.splide__arrow--next {
  display: none;
}

button.splide__toggle {
  text-align: center;
  margin-left: auto;
}

/* splide */

/* ページネーション分の下余白を確保 */
.container .splide {
  padding-bottom: 2.8em;
}

.container .splide .splide__slide .post-card {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
}

.container .splide .thumbnail-link {
  display: block;
}

.container .splide img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.container .splide .post-card-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  padding: 1.6rem 2rem;
  border-radius: 4px;
  color: #000;
  text-decoration: none;
}

.container .splide .content-date {
  display: block;
  font-size: 14px;
  margin-bottom: 5px;
}

.container .splide .content-title {
  font-weight: 700;
  font-size: 18px;       /* デスクトップ: 18px */
  margin: 0;
  line-height: 1.6;
  background: rgba(0, 61, 37, 0.75);
  color: #fff;
  padding: 4px 8px;
  display: inline;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  text-align: left;
}

/* 1025〜1499px: フォントやや小さめ */
@media (max-width: 1499px) {
  .container .splide .content-title {
    font-size: 16px;
  }
}

/* 769〜1024px: さらに小さく */
@media (max-width: 1024px) {
  .container .splide .content-title {
    font-size: 15px;
  }
}

/* 〜768px: 背景なし・フォントさらに小さく */
@media (max-width: 768px) {
  .container .splide .content-title {
    font-size: 13px;
    background: none;
    padding: 0;
  }
}

/* 〜480px: 最小サイズ */
@media (max-width: 480px) {
  .container .splide .content-title {
    font-size: 12px;
  }
}

.splide__slide .post-card {
  transition: opacity 0.3s ease-out;
  box-shadow: 4px 6px 16px rgba(0, 0, 0, 25%);
}

div#splide01-track {
  overflow: hidden;
  /* padding: 24px; */
}

/* splide  */

.splide__pagination {
  bottom: -2.2em !important; /* スライドとの余白を確保 */
}

.splide__pagination__page {
  background: #ccc !important; /* 非アクティブなページネーションの色 */
  width: 10px !important; /* サイズ調整 */
  height: 10px !important;
  margin: 0 5px !important; /* 間隔調整 */
  transition: all 0.3s ease;
}

.splide__pagination__page.is-active {
  background: #003D25 !important; /* アクティブなページネーションの色 */
  transform: scale(1.2) !important; /* アクティブ時に少し大きく */
}

/* スライダー要素のスタイル */
.splide__slider {
  position: relative;
}

/* 丸い矢印のスタイル */
.splide__arrows--round .splide__arrow {
  background: #fff;
  border-radius: 50%;
  width: 40px;
  height: 40px;
  opacity: 0.8;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  transition: all 0.3s ease;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
}

.splide__arrows--round .splide__arrow:hover {
  opacity: 1;
  background: #f8f8f8;
}

.splide__arrows--round .splide__arrow svg {
  fill: #333;
  width: 20px;
  height: 20px;
}


/* モバイル対応 */
@media (max-width: 768px) {
  .splide__arrows--round .splide__arrow {
    width: 30px;
    height: 30px;
  }

  .splide__arrows--round .splide__arrow svg {
    width: 15px;
    height: 15px;
  }
}

/* アクセシビリティ修正 - 非表示スライドでもフォーカス可能に */
.splide__slide:not(.is-active) a {
  visibility: visible !important;
  pointer-events: auto !important;
}

/* 非アクティブスライドのリンクがフォーカスされたときの表示を改善 */
.splide__slide:not(.is-active) a:focus {
  outline: 2px solid #003D25;
  outline-offset: 2px;
}

/* post-card の縦横を16:9に固定（どんな画像サイズでも崩れない） */
.container .splide .post-card {
  position: relative;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 16 / 9;
}

/* post-card 内の img・a をすべて枠いっぱいに引き伸ばす */
.container .splide .thumbnail-link {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.container .splide .post-card img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;   /* どんなサイズの画像でも16:9枠に収める */
  object-position: center;
}

/* splide__slide 単体の img も念のため制御 */
.splide__slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.splide__arrow {
  background: #000 !important;
}


/* ========================================
   Splide 初期化前のチラつき防止
   ※ HTMLのstyle属性でvisibility:hiddenを付与済み
   　 mounted後にJSでvisibility:visibleに戻す
======================================== */

/* 念のためCSSでも保証（JS読み込み前の一瞬もカバー） */
.splide-loop:not(.is-initialized) {
  visibility: hidden !important;
  opacity: 0 !important;
}
.splide-loop.is-initialized {
  visibility: visible !important;
  opacity: 1 !important;
}















/*--------------------------------------
ここから
--------------------------------------*/
.top-content-custum .wrap {
  margin: 0px;
}

@media only screen and (min-width: 769px) {
  .top-content-custum .wrap {
    margin: 0px;
  }

  #content.top-content-custum {
    padding: 0px !important;
  }
}

@media only screen and (min-width: 1030px) {
  .top-content-custum #inner-content {
    width: 100% !important;
  }
  #content.top-content-custum .entry-content {
    max-width: 100%;
    margin-right: 0px;
    margin-left: 0px;
  }
}

button.splide__toggle {
  text-align: center;
  margin-left: auto;
}

/* kokusai */
.contact-sticky-banner p {
  font-size: 17px;
}

.contact-container-kokusai img {
  max-width: 80%;
}

.contact-howto-title {
  max-width: 800px;
}

/* トップFV */
.top-fv {
  border-bottom: 1px solid #CCD9D4;
}

/* トップページのみ entry-content h2 のデフォルトスタイルを無効化 */
.page-forfront .entry-content h2 {
  border-left: none !important;
  padding: 0 !important;
  background: none !important;
}

/* サイドバーウィジェットタイトル（h4→divに変更したためスタイルを維持） */
div.widgettitle {
  display: block;
  font-size: 1em;
  font-weight: 700;
  margin-block-start: 0;
  margin-block-end: 0;
}

@media only screen and (min-width: 769px) {
  .page-forfront .wrap {
    width: 100%;
  }
}

/* 新着コラムセクション */
.nkcp-column-section {
  border-bottom: 1px solid #CCD9D4;
  background: #F8FAF9;
}

html .page-forfront .nkcp-column-section .sgb-full-bg__content {
  max-width: 1600px !important;
  width: 100% !important;
  margin-right: auto !important;
  margin-left: auto !important;
  box-sizing: border-box !important;
}

@media only screen and (max-width: 1600px) {
  html .page-forfront .nkcp-column-section .sgb-full-bg__content {
    padding-right: 32px !important;
    padding-left: 32px !important;
  }
}

@media only screen and (max-width: 768px) {
  html .page-forfront .nkcp-column-section .sgb-full-bg__content {
    padding-right: var(--wp--custom--wrap--mobile--padding, 16px) !important;
    padding-left: var(--wp--custom--wrap--mobile--padding, 16px) !important;
  }
}





.top-consultation .sgb-full-bg__cover {
  opacity: 0.2;
}
.top-ranking .sgb-full-bg__cover {
  opacity: 0.2;
}

.splide__slide .post-card {
  transition: opacity 0.3s ease-out;
  box-shadow: 4px 6px 16px rgba(0, 0, 0, 25%);
}

.post-card-overlay {
  /* 下から上に向かって #003D25 の線形グラデーション（80% → 30% → 完全透明） */
  background: linear-gradient(
    to top,
    rgba(0, 61, 37, 0.8) 0%,
    rgba(0, 61, 37, 0.3) 50%,
    rgba(0, 61, 37, 0) 100%
  );
}

.post-card:hover .post-card-overlay {
  background: linear-gradient(
    to top,
    rgba(0, 61, 37, 0.8) 0%,
    rgba(0, 61, 37, 0.3) 50%,
    rgba(0, 61, 37, 0) 100%
  );
}

@media (max-width: 768px) {
  .post-card:hover .post-card-overlay {
    background-color: rgba(255, 255, 255, 0);
  }
}

/* ========================================
   splide-loop スライダーの矢印を強制表示・スタイル
   （他の button.splide__arrow { display:none } を上書き）
======================================== */
.splide-loop .splide__arrow,
.splide-loop button.splide__arrow--prev,
.splide-loop button.splide__arrow--next,
.splide-loop button.splide__arrow.splide__arrow--prev,
.splide-loop button.splide__arrow.splide__arrow--next {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  /* ボタン本体のデザイン */
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 10 !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.92) !important;
  border: none !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25) !important;
  cursor: pointer !important;
  transition: background 0.2s ease, box-shadow 0.2s ease !important;
  padding: 0 !important;
  color: #003D25 !important;
}

.splide-loop button.splide__arrow--prev {
  left: 8px !important;
}

.splide-loop button.splide__arrow--next {
  right: 8px !important;
}

.splide-loop .splide__arrow:hover,
.splide-loop button.splide__arrow--prev:hover,
.splide-loop button.splide__arrow--next:hover {
  background: rgba(255, 255, 255, 1) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35) !important;
}

/* 矢印のSVGを表示（他のルールでhideされている場合の対策） */
.splide-loop .splide__arrow > svg {
  display: block !important;
  fill: currentColor !important;
  width: 28px !important;
  height: 28px !important;
  pointer-events: none;
}

/* 親テーマの .splide__arrow--prev svg { transform: scaleX(-1) } を打ち消す */
.splide-loop .splide__arrow--prev svg {
  transform: none !important;
}

/* ========================================
   トップページのスライダーエリアのみ width・padding を上書き
======================================== */
@media only screen and (min-width: 769px) {
  .home .top-content-custum .wrap,
  .page-forfront .top-content-custum .wrap {
    width: 100% !important;
  }
}

.home #content.page-forfront,
.page-forfront #content.page-forfront {
  padding: 0 !important;
}

/* ========================================
   CTAセクション（画像＋テキスト）
======================================== */
.nkcp-cta-section {
  width: 100%;
  background: #fff;
  padding: 48px 24px;
  box-sizing: border-box;
  border-bottom: 0px solid #CCD9D4;
}

.nkcp-cta-section__inner {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 56px;
}

/* 左：画像 */
.nkcp-cta-section__image {
  flex: 1 1 0;
  min-width: 0;
  position: relative;
}

/* 右下→左上への薄いグラデーションオーバーレイ */
.nkcp-cta-section__image::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 2px;
  background: linear-gradient(
    to top left,
    rgba(0, 61, 37, 0.55) 0%,
    rgba(0, 61, 37, 0.15) 30%,
    rgba(0, 61, 37, 0) 50%
  );
  pointer-events: none;
}

.nkcp-cta-section__img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: 20% center;
  border-radius: 2px;
  display: block;
  background: #D9D9D9;
  filter: brightness(1.25);
}

/* ========================================
   ヒーローバナー（横長画像＋テキストオーバーレイ）
======================================== */
.nkcp-hero-banner {
  width: 100%;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  border: 1px solid #CCD9D4;
}

.nkcp-hero-banner__img {
  width: 100%;
  aspect-ratio: 1137 / 400;
  object-fit: cover;
  object-position: center 35%;
  display: block;
}

/* 下から上へのグラデーションオーバーレイ */
.nkcp-hero-banner__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0, 61, 37, 0.85) 0%,
    rgba(0, 61, 37, 0.5) 30%,
    rgba(0, 61, 37, 0) 55%
  );
  pointer-events: none;
}

/* コンテンツ：左下配置 */
.nkcp-hero-banner__content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 32px 24px;
  box-sizing: border-box;
}

.nkcp-hero-banner__content-inner {
  max-width: 800px;
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
  gap: 48px;
}

/* 左：サブタイトル＋タイトル */
.nkcp-hero-banner__left {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: flex-start;
  text-align: left;
}

.nkcp-hero-banner__sub {
  font-size: 12px;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.1em;
  margin: 0;
}

.nkcp-hero-banner__title {
  font-size: 26px !important;
  font-weight: 700 !important;
  color: #fff !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

/* 右：本文＋ボタン */
.nkcp-hero-banner__right {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}

.nkcp-hero-banner__body {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.85);
  line-height: 1.8;
  margin: 0;
}

.nkcp-hero-banner__btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 12px 28px;
  background: #EE9200;
  color: #fff !important;
  font-size: 14px;
  font-weight: 700;
  border-radius: 8px;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.2s;
}

.nkcp-hero-banner__btn:hover {
  background: #cc7d00;
  color: #fff !important;
}

.nkcp-hero-banner__btn:hover .nkcp-btn-arrow {
  transform: translateX(4px);
}

/* レスポンシブ（850px以下）: 縦積み */
@media (max-width: 850px) {
  .nkcp-hero-banner__content {
    padding: 24px 20px;
  }

  .nkcp-hero-banner__content-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }

  .nkcp-hero-banner__title {
    font-size: 20px !important;
  }

  .nkcp-hero-banner__img {
    aspect-ratio: 4 / 3;
  }

  /* グラデーションの範囲を広げて左側も覆う */
  .nkcp-hero-banner__overlay {
    background: linear-gradient(
      to top,
      rgba(0, 61, 37, 0.9) 0%,
      rgba(0, 61, 37, 0.6) 40%,
      rgba(0, 61, 37, 0.2) 70%,
      rgba(0, 61, 37, 0) 100%
    );
  }
}

/* スマホ（480px以下） */
@media (max-width: 480px) {
  .nkcp-hero-banner__title {
    font-size: 18px !important;
  }

  .nkcp-hero-banner__btn {
    width: 100%;
    justify-content: center;
    box-sizing: border-box;
  }
}

/* 右：テキスト */
.nkcp-cta-section__content {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
  align-self: center;
  justify-content: center;
}

.entry-content .nkcp-cta-section__label,
.nkcp-cta-section__label {
  font-size: 12px !important;
  font-weight: 600;
  color: #00AE68;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin: 0 !important;
}

.entry-content .nkcp-cta-section__catch,
.nkcp-cta-section__catch {
  font-size: 23px !important;
  font-weight: 700 !important;
  color: #033824 !important;
  line-height: 1.6 !important;
  margin: 0 !important;
  border-left: none !important;
  padding: 0 !important;
  background: none !important;
}

.nkcp-cta-section__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-self: flex-start; /* コンテンツ幅に合わせる */
  width: 100%;
  max-width: fit-content;
}

.nkcp-cta-section__list li {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  font-weight: bold;
  color: #033824;
  background: #F8FAF9;
  border-radius: 8px;
  padding: 10px 14px;
  line-height: 1.5;
}

.nkcp-cta-section__list li .material-icons-round {
  font-size: 20px;
  color: #00AE68;
  flex-shrink: 0;
}

.entry-content .nkcp-cta-section__body,
.nkcp-cta-section__body {
  font-size: 14px;
  color: #4A5A52;
  line-height: 1.8;
  margin: 0 !important;
}

.nkcp-cta-section__btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 14px 28px;
  background: #EE9200;
  color: #fff !important;
  font-size: 15px;
  font-weight: 600;
  border-radius: 8px;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.2s;
  align-self: flex-start;
}

.nkcp-cta-section__btn:hover {
  background: #cc7d00;
  color: #fff !important;
}

.nkcp-cta-section__btn:hover .nkcp-btn-arrow {
  transform: translateX(4px);
}

/* CTAセクション レスポンシブ（850px以下） */
@media (max-width: 850px) {
  .nkcp-cta-section {
    padding: 32px 20px;
  }

  .nkcp-cta-section__inner {
    flex-direction: column;
    gap: 24px;
  }

  .nkcp-cta-section__image {
    flex: none;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
  }

  .nkcp-cta-section__img {
    aspect-ratio: 16 / 9;
    border-radius: 2px;
  }

  .nkcp-cta-section__catch {
    font-size: 20px;
  }

  .nkcp-cta-section__btn {
    align-self: stretch;
    justify-content: center;
  }
}

/* ========================================
   ヘッダーバンド・モバイルメニュー：850px以下
======================================== */
@media (max-width: 850px) {
  .nkcp-header-band {
    top: 56px; /* スマホ時のヘッダー高さに合わせる */
  }

  .nkcp-mobile-menu {
    top: calc(56px + 33px); /* ヘッダー + バンドの高さ */
  }
}

/* ========================================
   新着コラム カードリンク（c_linkto）上書き
======================================== */
/* ホバー時の上移動・影を無効化 */
.nkcp-column-section .c_linkto_wrap,
.nkcp-column-section .c_linkto {
  transform: none !important;
  box-shadow: none !important;
  transition: none !important;
}

.nkcp-column-section .c_linkto_wrap:hover,
.nkcp-column-section .c_linkto:hover {
  transform: none !important;
  box-shadow: none !important;
}

/* ホバー時：画像を白くフェード */
.nkcp-column-section .c_linkto_img_wrap {
  position: relative;
  overflow: hidden;
}

.nkcp-column-section .c_linkto_img_wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0);
  transition: background 0.3s ease;
  pointer-events: none;
}

.nkcp-column-section .c_linkto:hover .c_linkto_img_wrap::after {
  background: rgba(255, 255, 255, 0.3);
}

/* テキスト色 */
.nkcp-column-section .c_linkto_text {
  color: #033824 !important;
}

/* 日付フォントウェイトを通常に */
.nkcp-column-section .sng-link-time {
  font-weight: 400 !important;
}

/* カード画像ホバー時の影を無効化 */
.nkcp-column-section .c_linkto_img_wrap img,
.nkcp-column-section .c_linkto:hover .c_linkto_img_wrap img {
  box-shadow: none !important;
}

/* カードテキスト余白 */
.nkcp-column-section .c_linkto_text {
  padding: 12px 14px 14px !important;
}

/* ========================================
   バナーセクション
======================================== */
.nkcp-banner-section {
  width: 100%;
  background: #033824;
  padding: 64px 24px;
  box-sizing: border-box;
  text-align: center;
}

.nkcp-banner-section__inner {
  max-width: 720px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

.nkcp-banner-section__sub {
  font-size: 13px;
  font-weight: 600;
  color: #00AE68;
  letter-spacing: 0.08em;
  margin: 0;
}

.nkcp-banner-section__title {
  font-size: 26px !important;
  font-weight: 700 !important;
  color: #fff !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

.nkcp-banner-section__body {
  font-size: 15px;
  color: rgba(255, 255, 255, 0.8);
  line-height: 1.8;
  margin: 0;
}

.nkcp-banner-section__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  padding: 14px 32px;
  background: #EE9200;
  color: #fff !important;
  font-size: 15px;
  font-weight: 700;
  border-radius: 8px;
  text-decoration: none;
  transition: background 0.2s;
  white-space: nowrap;
}

.nkcp-banner-section__btn:hover {
  background: #cc7d00;
  color: #fff !important;
}

/* レスポンシブ（600px以下） */
@media (max-width: 600px) {
  .nkcp-banner-section {
    padding: 48px 20px;
  }

  .nkcp-banner-section__title {
    font-size: 20px !important;
  }

  .nkcp-banner-section__btn {
    width: 100%;
    justify-content: center;
    box-sizing: border-box;
  }
}

/* ========================================
   rlmg 画像ホバー：白くフェード演出
======================================== */
/* ホバー時の浮き上がり・影を無効化 */
a:has(figure.rlmg) {
  transform: none !important;
  box-shadow: none !important;
  transition: none !important;
}

a:hover:has(figure.rlmg) {
  transform: none !important;
  box-shadow: none !important;
}

/* 画像ホバーで白くフェード・浮き上がり無効化 */
figure.rlmg {
  position: relative;
  overflow: hidden;
  transform: none !important;
  transition: none !important;
  box-shadow: none !important;
}

a:hover figure.rlmg,
a:hover figure.rlmg img {
  transform: none !important;
  transition: none !important;
}

figure.rlmg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0);
  transition: background 0.3s ease;
  pointer-events: none;
}

a:hover figure.rlmg::after {
  background: rgba(255, 255, 255, 0.3);
}

/* rlmg 画像の影を無効化 */
.rlmg img {
  box-shadow: none !important;
}

/* ========================================
   サイト全体：影・浮き上がりをまとめて無効化
======================================== */
figure,
figure img,
.prnx_box,
.prnx_box a,
.prnx,
.related-posts,
.related-posts a,
.related-posts li,
.c_linkto,
.c_linkto_wrap,
.c_linkto img,
.sng-card,
.sng-card img,
.cat-card,
.cat-card img {
  box-shadow: none !important;
}

figure:hover,
figure img:hover,
.prnx_box a:hover,
.related-posts a:hover,
.c_linkto:hover,
.c_linkto_wrap:hover,
.sng-card:hover,
.cat-card:hover {
  box-shadow: none !important;
  transform: none !important;
}

/* 前後記事ナビ（prnx_box）浮き上がり・影を無効化 */
.prnx_box a,
.prnx_box a:hover {
  transform: none !important;
  box-shadow: none !important;
  transition: none !important;
}

.prnx_tb figure,
.prnx_tb figure img {
  box-shadow: none !important;
  transform: none !important;
}

/* ========================================
   関連記事スライド（related-posts）rlmg 画像
======================================== */
/* 浮き上がり・影を無効化 */
.related-posts a {
  transform: none !important;
  box-shadow: none !important;
  transition: none !important;
}

.related-posts a:hover {
  transform: none !important;
  box-shadow: none !important;
}

.related-posts figure.rlmg {
  transform: none !important;
  box-shadow: none !important;
  transition: none !important;
}

.related-posts figure.rlmg img {
  box-shadow: none !important;
}








/* ========================================
 adinserter
======================================== */

/* タイトル */
.nkcp-info-title {
  font-size: 20px !important;
  border-left: 4px solid var(--wp--preset--color--sango-main);
  padding: .5em .7em;
  background: #f2f2f2;
  color: #323232;
  margin-bottom: 15px;
  font-weight: 700;
  line-height: 1.6;
}

/* 画像 */
.nkcp-info-image {
    margin: 0 0 1.5em;
}

/* リード文 */
.nkcp-info-lead {
    margin: 0 0 1.2em;
    line-height: 1.9;
    color: #333;
}

/* 強調 */
.nkcp-highlight {
    color: var(--sgb-accent-color);
    font-weight: 700;
}

/* ポイント枠 */
.entry-content ul.nkcp-info-points {
     list-style: none;
}

.nkcp-info-points {
    padding: 22px;
    margin: 0 0 1.5em;
    background: rgba(0, 174, 104, 0.05);
    border-radius: 10px;
}

.nkcp-info-points li {
  position: relative;
  padding-left: 26px;
  margin-bottom: 8px;
  font-size: 15px;
  line-height: 1.7;
  font-weight: 600;
  color: var(--sgb-main-color);
}

.nkcp-info-points li:last-child {
  margin-bottom: 0;
}

.nkcp-info-points li::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f058"; /* fa-circle-check */
  position: absolute;
  left: 0;
  top: 0;
  font-size: 18px;
  color: var(--sgb-accent-color);
}

/* CTA */
.nkcp-info-cta {
  text-align: center;
  margin: 20px 0 8px;
}

.nkcp-info-button {
  display: inline-block;
  padding: 14px 28px;
  background: var(--sgb-accent-color);
  color: #fff !important;
  text-decoration: none;
  border-radius: 6px;
  font-weight: 700;
  transition: all .2s ease;
}

.nkcp-info-button:hover {
  background: #00995b;
  transform: translateY(-2px);
}

/* マイクロコピー */
.nkcp-info-microcopy {
  text-align: center;
  font-size: 12px;
  margin: 0 0 1.5em;
  color: #666;
}






/* feature-image / nkcp-info-image：16:9 トリミング表示 */
.feature-image,
.nkcp-info-image {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

/* feature-box ラッパー */
.feature-box-wrapper {
  padding: 24px;
  background: rgba(0, 174, 104, 0.05);
  border-radius: 8px;
}

/* タイトル強調 */
.feature-box-title-main {
  display: block;
  color: var(--sgb-main-color);
  font-weight: 700;
  font-size: 1.4em;
  margin-top: 16px;
  margin-bottom: 0;
}

.feature-box-title-sub {
  color: #444;
  font-size: 1em;
}

/* 強調テキスト */
.nkcp-highlight {
  color: var(--sgb-accent-color);
  font-weight: 700;
}

/* CTAリード文 */
.nkcp-cta-lead {
  font-size: 1.05em;
  line-height: 2;
}

/* ボタン（SANGOテーマ .btn.accent-bc 準拠） */
.nkcp-feature-button {
  display: block;
  width: 100%;
  text-align: center;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 0;
  padding: 1rem 1.6rem;
  background-color: var(--button-main-color, var(--wp--preset--color--sango-accent));
  color: #fff !important;
  font-weight: 700;
  text-decoration: none !important;
  border-radius: 4px;
  border-bottom: solid 5px rgba(0, 0, 0, 0.27);
  transition: opacity 0.1s ease;
  box-sizing: border-box;
}

.nkcp-feature-button:hover,
.nkcp-feature-button:focus {
  opacity: 0.85;
  text-decoration: none !important;
  color: #fff !important;
}

/* アウトラインボタン */
.nkcp-feature-button-outline {
  display: block;
  width: 100%;
  text-align: center;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 0;
  padding: 1rem 1.6rem;
  background-color: transparent;
  color: var(--button-main-color, var(--wp--preset--color--sango-accent)) !important;
  font-weight: 700;
  text-decoration: none !important;
  border-radius: 4px;
  border: 2px solid var(--button-main-color, var(--wp--preset--color--sango-accent));
  border-bottom: solid 5px rgba(0, 0, 0, 0.15);
  transition: opacity 0.1s ease;
  box-sizing: border-box;
}

.nkcp-feature-button-outline:hover,
.nkcp-feature-button-outline:focus {
  opacity: 0.8;
  text-decoration: none !important;
}

/* CTAラッパー */
.feature-box-cta {
  text-align: center;
  margin: 12px 0;
}

/* CTAテキスト（.center_micro 準拠） */
.feature-box-cta-text {
  margin-bottom: 0px !important;
  text-align: center !important;
  color: var(--button-main-color);
  font-weight: bold;
}

/* マイクロコピー */
.nkcp-feature-microcopy {
  text-align: center;
  font-size: 12px;
  margin-top: 8px;
  color: #666;
}

/* 監修者情報 */
dl.aut span {
    font-size: 16px;
}
.author-info__inner .tb-left dd {
    padding-top: 4px;
    color: #686868;
    font-size: 14px;
}

.nkcp-supervisor-box {
  padding: 20px;
  background: rgba(0, 174, 104, 0.05);
  margin-bottom: 24px;
	    border-radius: 8px;
}

.nkcp-supervisor-box__label {
    font-size: 11px;
    color: #00ae68;
    font-weight: bold;
    margin: 0 0 6px 0 !important;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.nkcp-supervisor-box__inner {
  display: flex;
  align-items: flex-start;
  gap: 20px;
}

.entry-content .nkcp-supervisor-box__avatar{
	width: 100%;
    max-width: 120px;
    border-radius: 50%;
    display: block;
    border: 2px solid #00ae68;
}

.nkcp-supervisor-box__body {
  flex: 1;
  min-width: 0;
}

.nkcp-supervisor-box__name {
font-size: 20px;
    font-weight: bold;
    color: #333333;
	margin: 0px!important;
}

.nkcp-supervisor-box__job {
    display: inline-block;
    font-size: 12.5px;
    color: #2a2a2a;
    border-radius: 3px;
    padding: 0;
    margin-bottom: 10px;
}

.nkcp-supervisor-box__bio {
    font-size: 16px;
    color: #333333;
    line-height: 1.8;
    margin: 0 !important;
}
@media (max-width: 500px) {
  .nkcp-supervisor-box {
    padding: 16px;
  }

  .nkcp-supervisor-box__inner {
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }

  .entry-content .nkcp-supervisor-box__avatar {
    max-width: 90px;
  }

  .nkcp-supervisor-box__body {
    width: 100%;
    text-align: center;
  }

  .nkcp-supervisor-box__name {
    font-size: 18px;
  }

  .nkcp-supervisor-box__bio {
    font-size: 14px;
    text-align: left;
  }
}
/*--------------------------------------
PR sango
--------------------------------------*/
  .pr-text {
    margin: 0 0 0 auto;
    display: block;
    background: #bfbfbf;
    padding: 0px 4px 0px;
    border-radius: 4px;
    font-size: 12px;
    color: #fff;
    font-weight: bold;
    width: 32px;
    height: 20px;
    text-align: center;
}

.code-block-1{
	margin-bottom: 4px; 
		margin-top: 4px; 
	clear: both;
	}

@media only screen and (max-width: 768px) {
	.code-block-1{
		margin-right: 4px; 
	}
		}