@charset "utf-8";

/*文字の横位置*/
.al-l{ text-align: left!important; }
.al-r{ text-align: right!important; }
.al-c{ text-align: center!important; }


/*文字の縦位置*/
.vl-t{ vertical-align: top!important; }/*上寄せ*/
.vl-m{ vertical-align: middle!important; }/*中央寄せ*/
.vl-b{ vertical-align: bottom!important; }/*下寄せ*/


/*周りのブロックからの距離（margin）*/
.m0{ margin: 0!important; }/*周りからのmarginを0に*/
.m0-t{ margin-top: 0!important; }/*上からのmarginを0に*/
.m0-r{ margin-right: 0!important; }/*右からのmarginを0に*/
.m0-b{ margin-bottom: 0!important; }/*下からのmarginを0に*/
.m0-l{ margin-left: 0!important; }/*左からのmarginを0に*/

.m5{ margin: 5px!important; }
.m5-t{ margin-top: 5px!important; }
.m5-r{ margin-right: 5px!important; }
.m5-b{ margin-bottom: 5px!important; }
.m5-l{ margin-left: 5px!important; }

.m10{ margin: 10px!important; }
.m10-t{ margin-top: 10px!important; }
.m10-r{ margin-right: 10px!important; }
.m10-b{ margin-bottom: 10px!important; }
.m10-l{ margin-left: 10px!important; }

.m15{ margin: 15px!important; }
.m15-t{ margin-top: 15px!important; }
.m15-r{ margin-right: 15px!important; }
.m15-b{ margin-bottom: 15px!important; }
.m15-l{ margin-left: 15px!important; }

.m20{ margin: 20px!important; }
.m20-t{ margin-top: 20px!important; }
.m20-r{ margin-right: 20px!important; }
.m20-b{ margin-bottom: 20px!important; }
.m20-l{ margin-left: 20px!important; }

.m25{ margin: 25px!important; }
.m25-t{ margin-top: 25px!important; }
.m25-r{ margin-right: 25px!important; }
.m25-b{ margin-bottom: 25px!important; }
.m25-l{ margin-left: 25px!important; }

.m30{ margin: 30px!important; }
.m30-t{ margin-top: 30px!important; }
.m30-r{ margin-right: 30px!important; }
.m30-b{ margin-bottom: 30px!important; }
.m30-l{ margin-left: 30px!important; }

.m40{ margin: 40px!important; }
.m40-t{ margin-top: 40px!important; }
.m40-r{ margin-right: 40px!important; }
.m40-b{ margin-bottom: 40px!important; }
.m40-l{ margin-left: 40px!important; }

.m50{ margin: 50px!important; }
.m50-t{ margin-top: 50px!important; }
.m50-r{ margin-right: 50px!important; }
.m50-b{ margin-bottom: 50px!important; }
.m50-l{ margin-left: 50px!important; }

.m60{ margin: 60px!important; }
.m60-t{ margin-top: 60px!important; }
.m60-r{ margin-right: 60px!important; }
.m60-b{ margin-bottom: 60px!important; }
.m60-l{ margin-left: 60px!important; }

.m70{ margin: 70px!important; }
.m70-t{ margin-top: 70px!important; }
.m70-r{ margin-right: 70px!important; }
.m70-b{ margin-bottom: 70px!important; }
.m70-l{ margin-left: 70px!important; }

.m80{ margin: 80px!important; }
.m80-t{ margin-top: 80px!important; }
.m80-r{ margin-right: 80px!important; }
.m80-b{ margin-bottom: 80px!important; }
.m80-l{ margin-left: 80px!important; }

.m90{ margin: 90px!important; }
.m90-t{ margin-top: 90px!important; }
.m90-r{ margin-right: 90px!important; }
.m90-b{ margin-bottom: 90px!important; }
.m90-l{ margin-left: 90px!important; }

.m100{ margin: 100px!important; }
.m100-t{ margin-top: 100px!important; }
.m100-r{ margin-right: 100px!important; }
.m100-b{ margin-bottom: 100px!important; }
.m100-l{ margin-left: 100px!important; }
/*フォントサイズの設定*/
.big{ font-size: 1.2em!important; }
.big2{ font-size: 1.5em!important; }
.big3{ font-size: 1.8em!important; }
.small{ font-size: 0.8em!important; }

.f06em{ font-size: 0.6em!important; }
.f07em{ font-size: 0.7em!important; }
.f08em{ font-size: 0.8em!important; }
.f09em{ font-size: 0.9em!important; }
.f10em{ font-size: 1.0em!important; }
.f11em{ font-size: 1.1em!important; }
.f12em{ font-size: 1.2em!important; }
.f13em{ font-size: 1.3em!important; }
.f14em{ font-size: 1.4em!important; }
.f15em{ font-size: 1.5em!important; }
.f16em{ font-size: 1.6em!important; }
.f17em{ font-size: 1.7em!important; }
.f18em{ font-size: 1.8em!important; }
.f19em{ font-size: 1.9em!important; }
.f20em{ font-size: 2.0em!important; }
.f21em{ font-size: 2.1em!important; }
.f22em{ font-size: 2.2em!important; }
.f23em{ font-size: 2.3em!important; }
.f24em{ font-size: 2.4em!important; }
.f25em{ font-size: 2.5em!important; }
.f26em{ font-size: 2.6em!important; }
.f27em{ font-size: 2.7em!important; }
.f28em{ font-size: 2.8em!important; }
.f29em{ font-size: 2.9em!important; }
.f30em{ font-size: 3.0em!important; }

.f06rem{ font-size: 0.6rem!important; }
.f07rem{ font-size: 0.7rem!important; }
.f08rem{ font-size: 0.8rem!important; }
.f09rem{ font-size: 0.9rem!important; }
.f10rem{ font-size: 1.0rem!important; }
.f11rem{ font-size: 1.1rem!important; }
.f12rem{ font-size: 1.2rem!important; }
.f13rem{ font-size: 1.3rem!important; }
.f14rem{ font-size: 1.4rem!important; }
.f15rem{ font-size: 1.5rem!important; }
.f16rem{ font-size: 1.6rem!important; }
.f17rem{ font-size: 1.7rem!important; }
.f18rem{ font-size: 1.8rem!important; }
.f19rem{ font-size: 1.9rem!important; }
.f20rem{ font-size: 2.0rem!important; }
.f21rem{ font-size: 2.1rem!important; }
.f22rem{ font-size: 2.2rem!important; }
.f23rem{ font-size: 2.3rem!important; }
.f24rem{ font-size: 2.4rem!important; }
.f25rem{ font-size: 2.5rem!important; }
.f26rem{ font-size: 2.6rem!important; }
.f27rem{ font-size: 2.7rem!important; }
.f28rem{ font-size: 2.8rem!important; }
.f29rem{ font-size: 2.9rem!important; }
.f30rem{ font-size: 3.0rem!important; }

.f10px{ font-size: 10px!important; }
.f11px{ font-size: 11px!important; }
.f12px{ font-size: 12px!important; }
.f13px{ font-size: 13px!important; }
.f14px{ font-size: 14px!important; }
.f15px{ font-size: 15px!important; }
.f16px{ font-size: 16px!important; }
.f17px{ font-size: 17px!important; }
.f18px{ font-size: 18px!important; }
.f19px{ font-size: 19px!important; }
.f20px{ font-size: 20px!important; }
.f21px{ font-size: 21px!important; }
.f22px{ font-size: 22px!important; }
.f23px{ font-size: 23px!important; }
.f24px{ font-size: 24px!important; }
/*周りのブロックからの距離（padding）*/
.p0{ padding: 0!important; }
.p0-t{ padding-top: 0!important; }
.p0-r{ padding-right: 0!important; }
.p0-b{ padding-bottom: 0!important; }
.p0-l{ padding-left: 0!important; }

.p5{ padding: 5px!important; }
.p5-t{ padding-top: 5px!important; }
.p5-r{ padding-right: 5px!important; }
.p5-b{ padding-bottom: 5px!important; }
.p5-l{ padding-left: 5px!important; }

.p10{ padding: 10px!important; }
.p10-t{ padding-top: 10px!important; }
.p10-r{ padding-right: 10px!important; }
.p10-b{ padding-bottom: 10px!important; }
.p10-l{ padding-left: 10px!important; }

.p15{ padding: 15px!important; }
.p15-t{ padding-top: 15px!important; }
.p15-r{ padding-right: 15px!important; }
.p15-b{ padding-bottom: 15px!important; }
.p15-l{ padding-left: 15px!important; }

.p20{ padding: 20px!important; }
.p20-t{ padding-top: 20px!important; }
.p20-r{ padding-right: 20px!important; }
.p20-b{ padding-bottom: 20px!important; }
.p20-l{ padding-left: 20px!important; }

.p25{ padding: 25px!important; }
.p25-t{ padding-top: 25px!important; }
.p25-r{ padding-right: 25px!important; }
.p25-b{ padding-bottom: 25px!important; }
.p25-l{ padding-left: 25px!important; }

.p30{ padding: 30px!important; }
.p30-t{ padding-top: 30px!important; }
.p30-r{ padding-right: 30px!important; }
.p30-b{ padding-bottom: 30px!important; }
.p30-l{ padding-left: 30px!important; }

.p40{ padding: 40px!important; }
.p40-t{ padding-top: 40px!important; }
.p40-r{ padding-right: 40px!important; }
.p40-b{ padding-bottom: 40px!important; }
.p40-l{ padding-left: 40px!important; }

.p50{ padding: 50px!important; }
.p50-t{ padding-top: 50px!important; }
.p50-r{ padding-right: 50px!important; }
.p50-b{ padding-bottom: 50px!important; }
.p50-l{ padding-left: 50px!important; }

.p60{ padding: 60px!important; }
.p60-t{ padding-top: 60px!important; }
.p60-r{ padding-right: 60px!important; }
.p60-b{ padding-bottom: 60px!important; }
.p60-l{ padding-left: 60px!important; }

.p70{ padding: 70px!important; }
.p70-t{ padding-top: 70px!important; }
.p70-r{ padding-right: 70px!important; }
.p70-b{ padding-bottom: 70px!important; }
.p70-l{ padding-left: 70px!important; }

.p80{ padding: 80px!important; }
.p80-t{ padding-top: 80px!important; }
.p80-r{ padding-right: 80px!important; }
.p80-b{ padding-bottom: 80px!important; }
.p80-l{ padding-left: 80px!important; }

.p90{ padding: 90px!important; }
.p90-t{ padding-top: 90px!important; }
.p90-r{ padding-right: 90px!important; }
.p90-b{ padding-bottom: 90px!important; }
.p90-l{ padding-left: 90px!important; }

.p100{ padding: 100px!important; }
.p100-t{ padding-top: 100px!important; }
.p100-r{ padding-right: 100px!important; }
.p100-b{ padding-bottom: 100px!important; }
.p100-l{ padding-left: 100px!important; }



/**
 * 気候変動適応に資する認証制度ページ専用スタイル
 * private_sector/certification/index.html 用（一覧は静的HTML・JSなしでCSSのみで表示）
 *
 * 事例カード3カラム表示のスタイル（common/css/card-grid.css と同等の内容）も
 * このファイルに含めています（.u-card-img, .new-mark, .c-card__title_wrap,
 * .c-card__company_name, .c-card__time, .c-card__tags, .c-card__grid など）。
 */

/* 事例カード用：画像ラッパー（NEWバッジ用） */
.u-card-img {
	position: relative;
}
.new-mark {
	z-index: 1;
	position: absolute;
	top: 10px;
	left: 10px;
}

.jp-en {
    text-align: right;
	margin-top: 20px;
}
.jp-en a{
    border: 1px solid #036EB8;
    border-radius: 20px;
    display: inline-block;
    padding: 0 20px;
}
.jp-en a:hover{
    background-color: #036EB8;
    color: #fff;
    text-decoration: none;
}
/* --- 1. 共通変数（base.cssより抜粋） --- */
:root {
  --black: #2A2D32;
  --white: #fff;
  --border-color: #D9D9D9;
  --gray-100: #FAFAFA;
  --gray-200: #F0F4F4;
  --fw-bold: 700;
  --rounded-sm: 4px;
  --container-size: 20px; /* スマホ（ベース） */
  --side-width: 270px;
}

/* ========== スマホ対応（ベース） ========== */
/* --- base.css より認証制度 index 用（レイアウト・ユーティリティ） --- */
.l-container {
  /*margin-left: 0;*/
  padding-inline: var(--container-size);
  max-width: 1330px;
}
.l-container__wrap {
  max-width: 1226px;
  position: relative;
}
.u-container-full {
  margin-inline: calc(var(--container-size) * -1);
}
.u-ml-pc-0 {
  margin-left: 0 !important;
}
.u-rounded-sm {
  border-radius: var(--rounded-sm);
}
.u-overflow-hidden {
  overflow: hidden;
}
.hover-img-scale img {
  -webkit-transition: scale 0.7s cubic-bezier(0.4, 0, 0.2, 1);
  transition: scale 0.7s cubic-bezier(0.4, 0, 0.2, 1);
}
.hover-img-scale:hover img {
  scale: 1.08;
}

/* --- グリッド構造（スマホ：1カラム） --- */
.c-card__grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
  grid-column-gap: 24px;
  -webkit-column-gap: 24px;
  -moz-column-gap: 24px;
  column-gap: 24px;
  grid-row-gap: 24px;
  row-gap: 24px;
  margin-top: 24px;
}

/* --- 3. カード本体のスタイル --- */
.c-card {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

/* 画像エリアの設定（base.css の .c-card__img 相当。HTML は .c-card__figure を使用） */
.c-card__figure {
  display: -ms-grid;
  display: grid;
  place-items: center;
  margin-inline: auto;
}
.c-card[data-card="with-img"] .c-card__figure {
  border-radius: 4px;
  overflow: hidden;
  border: 1px solid var(--border-color);
}
.c-card[data-card="with-img"] .c-card__figure img {
  width: 100%;
  object-fit: contain;
  height: 215px;
}
.c-card[data-card="with-img"] .c-card__img {
  border-radius: 4px;
  overflow: hidden;
  border: 1px solid var(--border-color);
}
.c-card[data-card="with-img"] .c-card__img img {
  width: 100%;
  object-fit: contain;
  height: 215px;
}

/* テキストエリアの設定 */
.c-card__body {
  margin-top: 24px;
}
.c-card[data-card="with-img"] .c-card__body {
  margin-top: 0;
}

.c-card[data-card="with-img"] .c-card__title {
  font-size: 1.1rem;
  font-weight: var(--fw-bold);
  color: var(--black);
}

/* カテゴリタグなどの設定 */
.c-card[data-card="with-img"] .c-card__tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
  margin-bottom: 12px;
}

.c-card[data-card="with-img"] .c-card__tag {
  color: #fff;
  font-size: 1.2rem;
  padding: 2px 5px;
  background: #727272;
}
.u-border {
  border: 1px solid var(--border-color);
}

/* --- index.html用：カード全体（画像＋タイトル＋日付）を枠線で囲むパターン --- */
.p-certification--card-full-border .p-certification__card-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  height: 100%;
}
.p-certification--card-full-border .p-certification__card-inner .c-card__figure {
  border: none;
  border-radius: 0;
}
.p-certification--card-full-border .p-certification__card-inner .c-card__body {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  padding: 16px;
}
.p-certification--card-full-border .p-certification__card-inner .c-card__title_wrap {
  margin-top: 0;
}

/* --- index2.html用：画像のみ枠線で囲むパターン（従来通り・上記以外は既存スタイル適用） --- */
/* --- ▲2. グリッド構造（3カラム制御）ここまで▲ --- */


/* 事例一覧ページ（card-grid.css 相当：タイトル・企業名・日付・タグ・グリッド余白）スマホ */
.p-articles__section {
  padding-top: 0;
  margin-bottom: 80px;
  padding-inline: var(--container-size);
  margin-inline: calc(var(--container-size) * -1);
}
.p-articles .c-heading-subpage__title.-details {
  font-size: 2.8rem;
  letter-spacing: 0.05em;
}
.p-articles__inner {
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
}
.c-card__title_wrap {
	margin-top: 5px;
}
.c-card__company_name {
	color: #333;
}
.c-card__time {
	color: #666;
	margin-top: 5px;
  font-size: 0.8em;
}
.c-pagination{
	margin-top: 40px;
}

/* 認証制度詳細ページ：項目テーブル（スマホ） */
.cert-tbl {
  width: 85%;
  margin-top: 16px;
  margin-bottom: 24px;
  border-collapse: collapse;
}
.cert-tbl td,
.cert-tbl th {
  border: 1px solid #000;
}
.cert-tbl th {
  background: var(--gray-200);
  font-weight: bold;
  text-align: left;
  vertical-align: top;
}
.cert-tbl td,
.cert-tbl th {
  padding: 12px 16px;
}
.cert-tbl td {
  text-align: left;
}
.cert-tbl th {
  width: 32%;
  min-width: 120px;
}
/* 費用・有効期間テーブル：1列目（費用/有効期間）を狭く */
.cert-tbl--fee-valid th[rowspan="3"] {
  width: 4%;
  min-width: 88px;
}
.cert-tbl ul{
	padding-left: 0;
  margin-top: 0;
}
.cert-tbl ul li{
	list-style-type: none;
}
/*画像の枠線*/
.bdr_gray {
  border: 1px solid #ccc;
  padding: 10px 20px;
}
/***************************/
/****出典・関連情報ここから****/
/**************************/
.l-main.p-details .header-wrap, .l-main.p-details .note-stack, .l-main.p-details .c-blockquote, .l-main.p-details .p-articles__body {
  max-width: 1226px;
}
.c-blockquote {
  background: var(--gray-200);
  margin-top: 40px;
  margin-inline: unset;
  padding: 30px;
}
.c-blockquote.-term {
  background: var(--gray-100);
  padding: 32px 40px 48px;
}
.c-blockquote.-term > * + * {
  margin-top: 16px;
}
.c-blockquote.-term .c-blockquote__title {
  font-weight: var(--fw-bold);
  padding-bottom: 16px;
  border-bottom: 1px solid var(--border-color);
}
.c-blockquote.-term .c-blockquote__title-en {
  font-family: var(--ff-en);
}
.c-blockquote.-term .c-blockquote__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  list-style-type: none;
}
.c-blockquote__title {
  font-size: 1.8rem;
}
.c-blockquote__list {
  margin-top: 24px;
  margin-left: 8px;
}
.c-blockquote__list > * + * {
  margin-top: 4px;
}
.c-blockquote__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 16px;
}
.c-blockquote__item::before {
  content: '';
  width: 4px;
  height: 4px;
  background: var(--black);
  border-radius: 50%;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}
/****▲▲ 出典・関連情報ここまで ▲▲****/

/*掲載日*/
.posted {
  font-size: 14px;
  text-align: right;
  margin-top: 20px;
}
/*ページネーション*/
.nav-links {
  width: 100%;
  margin-top: 40px;  
  display: grid;
  grid-template-columns: 50% 50%;
  font-size: 12px;
}
.nav-links .nav-previous {
  text-align: left;
}
.nav-links .nav-next {
  text-align: right;
  border-left: 1px #ddd solid;
}
.nav-links a {
    color: #000;
    padding: 10px 20px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
}

/* 問い合わせ窓口（dl形式・2カラム横並び・高さ揃え） */
.cert-contact-dl-row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  gap: 24px;
  margin-top: 24px;
  margin-bottom: 32px;
}
.cert-contact-dl-col {
  -ms-flex: 1 1 400px;
  flex: 1 1 400px;
  min-width: 0;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  border: 1px solid #000;
  border-collapse: collapse;
}
.cert-contact-dl-row .cert-contact-dl-header {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 40% 1fr;
  grid-template-columns: 40% 1fr;
  gap: 0;
  background: var(--gray-200);
  font-weight: bold;
  padding: 12px 20px;
  border-bottom: 1px solid #000;
}
.cert-contact-dl-row .cert-contact-dl__group {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 40% 1fr;
  grid-template-columns: 40% 1fr;
  gap: 0;
  margin: 0;
  border-bottom: 1px solid #000;
  break-inside: avoid;
  page-break-inside: avoid;
}
.cert-contact-dl-row .cert-contact-dl__group:last-child {
  border-bottom: none;
}
.cert-contact-dl-row .cert-contact-dl__group dt {
  padding: 12px 20px;
  margin: 0;
  font-weight: normal;
  border-right: 1px solid #000;
  vertical-align: top;
}
.cert-contact-dl-row .cert-contact-dl__group dt::after {
  display: none;
}
.cert-contact-dl-row .cert-contact-dl__group dd {
  padding: 12px 20px;
  margin: 0;
  border: none;
}
.cert-contact-dl-row .cert-contact-dl-col .cert-contact-cell {
  padding-left: 1.2em;
}
.cert-contact-dl-row .cert-contact-dl-col .cert-contact-cell li {
  margin-top: 4px;
  line-height: 1.6;
}
.cert-contact-dl-row .cert-contact-dl-col .cert-contact-cell li:first-child {
  margin-top: 0;
}

/* 問い合わせ窓口（dl形式）：レスポンシブ・縦積み時に右カラムのヘッダー非表示 */
@media (max-width: 959px) {
  .cert-contact-dl-row {
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 0;
  }
  .cert-contact-dl-col {
    border-top: none;
  }
  .cert-contact-dl-col:first-child {
    border-top: 1px solid #000;
  }
  .cert-contact-dl-col--right .cert-contact-dl-header {
    display: none;
  }
  .cert-contact-dl-col--right .cert-contact-dl__group:first-child {
    border-top: 1px solid #000;
  }
  .cert-contact-dl-row .cert-contact-dl-header,
  .cert-contact-dl-row .cert-contact-dl__group dt,
  .cert-contact-dl-row .cert-contact-dl__group dd {
    padding: 12px 16px;
  }
}

/* 問い合わせ窓口テーブル：2つ横並びの親ラッパー */
.cert-contact-tbl-row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 24px;
  margin-top: 24px;
  margin-bottom: 32px;
}
.cert-contact-tbl-row .cert-contact-tbl-wrap {
  -ms-flex: 1 1 400px;
  flex: 1 1 400px;
  min-width: 0;
  overflow: visible; /* スクロールバーを出さず折り返し表示 */
}
.cert-contact-tbl-row .cert-tbl {
  margin-top: 0;
  margin-bottom: 0;
}
/* 2列レイアウト内のテーブル：幅を親に合わせて折り返し・スクロールなし */
.cert-contact-tbl-row .cert-contact-tbl {
  min-width: 0;
  table-layout: fixed;
}
.cert-contact-tbl-row .cert-contact-tbl th:first-child {
  min-width: 0; /* 狭い幅でも縮む */
}
.cert-contact-tbl-row .cert-contact-tbl td,
.cert-contact-tbl-row .cert-contact-tbl th {
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.cert-contact-tbl-row .cert-contact-cell li:nth-child(2) {
  white-space: normal; /* 住所を折り返す */
}

/* 上下に積まれた時：下の表の見出しを非表示にし、列幅・間隔を上の表と揃える */
@media (max-width: 959px) {
  .cert-contact-tbl-row {
    gap: 0; /* 上下の間隔をなくして1つなぎに見せる */
  }
  .cert-contact-tbl-row .cert-contact-tbl-wrap:last-child thead {
    display: none;
  }
  /* 境目を1本線に：下の表の先頭行の上罫線を非表示 */
  .cert-contact-tbl-row .cert-contact-tbl-wrap:last-child .cert-contact-tbl tbody tr:first-child td {
    border-top-width: 0;
    border-top-style: none;
  }
  .cert-contact-tbl-row .cert-contact-tbl {
    table-layout: fixed;
  }
  .cert-contact-tbl-row .cert-contact-tbl th:first-child,
  .cert-contact-tbl-row .cert-contact-tbl td:first-child {
    width: 40%;
  }
  .cert-contact-tbl-row .cert-contact-tbl th:last-child,
  .cert-contact-tbl-row .cert-contact-tbl td:last-child {
    width: 60%;
  }
}

/* 問い合わせ窓口テーブル：横スクロール用ラッパー（単体で使う場合） */
.cert-contact-tbl-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* 問い合わせ窓口一覧テーブル（2カラム固定・住所は折り返しなし） */
.cert-contact-tbl {
  width: 100%;
  min-width: 700px;
  table-layout: fixed;
}
/* 問い合わせテーブル（省スペース・2列表示用） */
.cert-contact-tbl--compact td,
.cert-contact-tbl--compact th {
  padding: 8px 12px;
}
.cert-contact-tbl--compact .cert-contact-cell li {
  margin-top: 2px;
}
.cert-contact-tbl th:first-child {
  width: 40%;
  min-width: 180px;
}
.cert-contact-tbl th:last-child {
  width: 60%;
}

/* 問い合わせ窓口テーブル内の住所（折り返さない） */
.cert-contact-tbl td {
  vertical-align: top;
}
.cert-contact-cell li:nth-child(2) {
  white-space: nowrap;
}

/* 問い合わせ窓口テーブル内の住所・電話（li 表示） */
.cert-contact-cell {
  margin: 0 0.5em 0 0;
  padding-left: 0;
  list-style: disc;
}
.cert-contact-cell li {
  margin-top: 4px;
  line-height: 1.6;
  list-style-type: none;
}
.cert-contact-cell li:first-child {
  margin-top: 0;
}

/* 問い合わせ（表を使わない定義リスト） */
.cert-contact{
  margin-top: 30px;
  padding: 20px 0 20px 0;
}
/* main-content内の問い合わせ：余白調整 */
.main-content .cert-contact {
  margin-top: 32px;
  margin-bottom: 0;
  padding-top: 24px;
  padding-bottom: 24px;
}
.main-content .cert-contact h4 {
  margin-top: 0;
  margin-bottom: 0;
}
.main-content .cert-contact-dl--multi {
  margin-top: 12px;
  margin-bottom: 0;
}
.main-content li {
	margin-bottom: 8px;
}
.cert-contact h4{
  margin-top: 0;
}
.cert-contact-dl {
  margin-top: 16px;
  margin-bottom: 24px;
  padding: 5px 0;
}
.cert-contact-dl dt {
  font-weight: var(--fw-bold);
  color: var(--black);
  margin-top: 16px;
  padding-bottom: 4px;
  position: relative;
}
.cert-contact-dl dt::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 95%;
  height: 1px;
  background: var(--border-color);
}
.cert-contact-dl dt:first-child {
  margin-top: 0;
}
.cert-contact-dl dd {
  margin-left: 0;
  margin-top: 8px;
  margin-bottom: 0;
}

/* 問い合わせ（2段組・省スペース） */
.cert-contact-dl__group {
  break-inside: avoid;
  page-break-inside: avoid;
}
.cert-contact-dl--multi .cert-contact-dl__group {
  margin-bottom: 4px;
}
.cert-contact-dl--multi .cert-contact-dl__group dt {
  margin-top: 16px;
  padding-bottom: 2px;
  min-height: 2.8em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}
.cert-contact-dl--multi .cert-contact-dl__group:first-child dt {
  margin-top: 0;
}
.cert-contact-dl--multi .cert-contact-dl__group dd {
  margin-top: 4px;
}
.cert-contact-dl--multi .cert-contact-cell li {
  margin-top: 2px;
}
@media (min-width: 960px) {
  .cert-contact-dl--multi {
    column-count: 2;
    column-gap: 2.5rem;
    column-fill: balance;
    margin-top: 12px;
    margin-bottom: 20px;
  }
}

/* 事例詳細ページ */
.js-private-content a{
	color: var(--black) !important;	
}
.js-private-content a h4{
	font-size: 1.6rem;
	margin-top: 0;
}
.js-private-content a p{
	font-size: 1.4rem;
}
.c-card-articles__body > * + * {
    margin-top: 0;
}
.ps-bunya-list{
	list-style: none;
	margin: 0!important;
	gap: 8px;
	display: flex;
	padding-top: 5px;
	flex-wrap: wrap;
}
.ps-bunya-list li{
  color: #fff;
  font-size: 1.2rem;
  padding: 2px 5px;
  background: #727272;
	display: inline-block;
	margin-top: 0;
	margin-bottom: 0;
}

/*cert-002 cert-004 cert-005*/
.cert-list ul{
  padding-left: 0px;
}
.cert-list li{
  list-style-type: none;
}
.cert-list li{
list-style-type: none;
line-height: 1.7;
margin-bottom: 10px;
}
.cert-ol-li-ul li{
 list-style-type: none;
 line-height: 1.7;
 margin-bottom: 0px;
 margin-top: 2px;
 transform: translateX(32px);
}
.cert-list-m0b li{
  margin-bottom: 0;
}

/* ========== タブレット対応（520px〜 / 960px〜） ========== */
@media (min-width: 520px) {
  :root {
    --container-size: 32px;
  }
}

@media (min-width: 960px) {
  .c-card__grid {
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: repeat(2, 1fr);
    row-gap: 40px;
    margin-top: 40px;
  }
  .p-articles__section {
    margin-inline: 0;
  }
  .c-pagination {
    margin-top: 80px;
  }
  .cert-tbl {
    margin-top: 24px;
    margin-bottom: 32px;
  }
  .cert-tbl td,
  .cert-tbl th {
    padding: 10px;
  }
  .cert-tbl th {
    width: 28%;
    min-width: 140px;
  }
}

/* ========== PC対応（1280px〜 / 1241px〜） ========== */
@media (min-width: 1280px) {
  :root {
    --container-size: 52px;
  }
  .l-container {
    margin-left: var(--side-width);
  }
}

@media (min-width: 1241px) {
  .c-card__grid {
    -ms-grid-columns: 1fr 1fr 1fr;
    grid-template-columns: repeat(3, 1fr);
  }
}

/* flow-detail：申請方法の詳細（コンパクト表示） */
.flow-detail {
  font-size: 0.95em;
}
.flow-detail__heading {
  margin: 0 0 0.5em;
  font-size: 1em;
}
.flow-detail ol {
  margin: 0 0 1em;
  padding-left: 1.5em;
}
.flow-detail ol:last-child {
  margin-bottom: 0;
}
.flow-detail li {
  margin-bottom: 0.4em;
}
.flow-detail li p {
  margin: 0;
}
.flow-detail li .note {
  margin-top: 0.3em;
  font-size: 0.9em;
}