
/*===============================
	共通
================================*/
.site-header {
  box-shadow: none;
}
.breadcrumb {
  border-top: none;
  border-bottom: none;
}
.article-section > ol > li {
  margin-top: 20px;
  margin-bottom: 20px;
  padding-left: 5px;
  font-size: 18px;
}
/*===============================
	一覧（現場クロスナレッジトップ）
================================*/
.archive-lead {
  margin-top:35px;
}
.archive-lead p {
  font-size:18px;
  margin-bottom: 50px;
}
.site-body {
  padding-bottom: 0!important;
}
/* ==============================
   ページ内リンク
============================== */

.page-anchor {
  max-width: 680px;
  margin: 0 auto 60px;
}

/* メニューリスト */
.page-anchor__list {
  display: flex;
  justify-content: space-between;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
}

/* 各項目 */
.page-anchor__list li {
  white-space: nowrap;
}

/* リンク */
.page-anchor__list a {
  display: inline-flex;
  align-items: center;
  font-weight: 700;
  font-size: 18px;
  color: #254361;
  text-decoration: none;
  transition: color .15s ease;
}
@media (hover: hover) and (pointer: fine) {
  .page-anchor__list a:hover {
    color: #FF8217;
  }
}
/* 区切り */
.menu-separator {
  margin-left: 10px;
}
@media (max-width: 768px) {
  .archive-lead {
  margin-top:25px;
  }
  .archive-lead p {
  font-size:18px;
}
   .page-anchor {
    padding: 0 15px;
    box-sizing: border-box;
  }
  .page-anchor__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px 10px;
  }
  .page-anchor__list li {
    width: auto;
  }
  .page-anchor__list a {
    font-size: 18px;
  }
  .menu-separator {
  margin-left: 5px;
}
}
/* 1件分の余白（任意） */
.archive-item{
  margin: 0 0 28px;
}

/* 一覧バナー本体（リンク） */
.archive-hero{
  --innerMax: 1140px;
  --textMax: 648px;
  --gutter: 16px;
  --h: 240px;

  width: 100%;
  display: grid;
  text-decoration: none;
  color: inherit;
  background: #EFF6FF;

  grid-template-columns:
    [full-start] minmax(var(--gutter), 1fr)
    [inner-start] minmax(0, var(--textMax))
    [text-end] minmax(0, calc(var(--innerMax) - var(--textMax)))
    [inner-end] minmax(var(--gutter), 1fr)
    [full-end];

  align-items: stretch;
  transition: opacity .15s ease;
}
@media (hover: hover) and (pointer: fine) {
  .archive-hero:hover {
    opacity: .7;
  }
}

/* スマホのみ active */
@media (hover: none) {
  .archive-hero:active {
    opacity: .85;
  }
}
.archive-hero:focus-visible{
  outline: 2px solid #254361;
  outline-offset: 4px;
}
/* テキスト側 */
.archive-hero__content{
  grid-column: inner-start / text-end;
  min-width: 0; /* はみ出し防止 */
  padding: 28px 24px 0 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: var(--h);
}
/* アイコン */
.archive-hero__icon{
  width: auto;
  height: 28px;
  display: block;
  margin-bottom: 18px;
}
/* タイトル */
.archive-hero__title{
  margin: 0;
  min-width: 0; /* はみ出し防止 */
  font-size: clamp(18px, 2.2vw, 24px);
  line-height: 1.25;
  font-weight: 600;
  color: #000;
  overflow-wrap: anywhere;
  word-break: break-word;
}
/* サブ */
.archive-hero__title span{
  display: block;
  margin-top: 12px;
  font-size: clamp(16px, 2vw, 22px);
  line-height: 1.6;
  font-weight: 400;
  overflow-wrap: anywhere;
  word-break: break-word;
}
/* 画像側（右端まで） */
.archive-hero__image{
  grid-column: text-end / full-end;
  height: var(--h);
  position: relative;
  overflow: hidden;
  min-width: 0;
  height: 250px;
  /* 横並び時：左側を斜めにカット（記事ページの雰囲気を踏襲） */
  clip-path: polygon(10% 0, 100% 0, 100% 100%, 0 100%);
}
.archive-hero__image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
/* 768px以下で縦積み＋境界を左下→右上に斜めカット */
@media (max-width: 768px){
  .archive-hero{
    grid-template-columns: 1fr;
  }
  .archive-hero__content,
  .archive-hero__image{
    grid-column: 1 / -1;
  }
  .archive-hero__content{
    padding: 28px 16px 0;
    min-height: auto;
    gap: 0;
  }
  .archive-hero__icon{
    margin-bottom: 14px;
  }
  .archive-hero__image{
    --cutY: 80px;     /* 境界の斜め量（調整） */
    height: 260px;
    clip-path: polygon(
      0 var(--cutY),
      100% 0,
      100% 100%,
      0 100%
    );
  }
}
/* ==========================
   archive-hero：プロジェクト名
========================== */

/* アイコン＋プロジェクト名 */
.archive-hero__project{
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 15px;
}

/* プロジェクト名テキスト */
.archive-hero__project-title{
  margin: 0;
  font-size: clamp(14px, 1.6vw, 18px);
  font-weight: 700;
  line-height: 1.4;
  color: #000;
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* 既存アイコン調整（横並び前提） */
.archive-hero__icon{
  margin-bottom: 0; /* ←既存18pxを打ち消す */
  flex-shrink: 0;
}

/* SP：縦並び */
@media (max-width: 768px){
  .archive-hero__project{
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }
}
.archive-hero{
  position: relative; /* 矢印配置の基準 */
}

/* 矢印アイコン */
.archive-hero__arrow{
  position: absolute;
  right: 15px;
  bottom: 15px;
  width: 60px; 
  height: auto;
  z-index: 3;
  pointer-events: none; 
}

/* SP：少し内側に */
@media (max-width: 768px){
  .archive-hero__arrow{
    right: 12px;
    bottom: 12px;
    width: 56px;
  }
}



/*===============================
	記事ページ
================================*/
.cross-knowledge-title {
  width: 100%;
  background-color: #254361;
}
.cross-knowledge-title-inner {
  max-width: 1140px;
  height: 109px;
	display: flex;
  margin: 0 auto;
  align-items: center;
  justify-content: center; 
  position: relative; 
}
@media (max-width: 767px){
  .cross-knowledge-title-inner {
  height: 70px;
  }
}
.cross-knowledge-title-inner::after {
 content: "";
  position: absolute;
  top: 0;
  right: 0;
  width:116px;
  height: 100%;
  background: url("/sogoseisaku/region/kyojinka/cross-knowledge/assets/img/cross-knowledge-title-bg.png") no-repeat right center;
  background-size: contain;
  pointer-events: none;
  z-index: 0;
}
.cross-knowledge-title-inner > *{
  position: relative;
  z-index: 1;
}
.cross-knowledge-title-inner img {
  max-width: 100%;
  height: auto;
  display: block;
}
.hero-article{
  --innerMax: 1140px;
  --textMax: 648px;
  --gutter: 16px;
  width: 100%;
  display: grid;
  margin-bottom: 65px;
  grid-template-columns:
    [full-start] minmax(var(--gutter), 1fr)
    [inner-start] minmax(0, var(--textMax))
    [text-end] minmax(0, calc(var(--innerMax) - var(--textMax)))
    [inner-end] minmax(var(--gutter), 1fr)
    [full-end];

  align-items: stretch;
  background: #EFF6FF;
}
.hero-content{
  grid-column: inner-start / text-end;
  padding: 80px 24px 24px 0; 
  display: flex;
  flex-direction: column;
  gap: 12px;
  height: 380px;
  position: relative;
}
.hero-content > img{
  width: 74px;
  height: auto;
  display: block;
  margin-bottom: 40px;
}
.article-image{
  grid-column: text-end / full-end;
  height: 380px;
  position: relative;
  overflow: hidden;
  clip-path: polygon(10% 0, 100% 0, 100% 100%, 0 100%);
}
.article-image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  position: relative;
}
span.credit{
  position: absolute;
  bottom: 10px;
  right: 10px;
  font-size:18px;
  color: #fff;
}
.article-title{
  margin: 0;
  font-size: clamp(22px, 3.2vw, 36px);
  line-height: 1.25;
}
.article-title span{
  display: block;
  margin-top: 12px;
  font-size: clamp(14px, 2.5vw, 28px);
  line-height: 1.6;
  font-weight: 400;
}
@media (max-width: 767px){
  .hero-article{
    grid-template-columns: 1fr;
    margin-bottom: 40px;
  }
  .hero-content,
  .article-image{
    grid-column: 1 / -1;
  }
  .hero-content{
    padding: 34px 16px 0;
    height: auto;
    gap: 0;
  }
  .article-title{
    font-size: 24px;
  }
  .article-title span{
    font-size: 18px;
  }
  .hero-content > img{
    margin-bottom: 18px;
  }
  .article-image{
    height: 325px;
    --cutY: 100px;
    clip-path: polygon(
      0 var(--cutY),
      100% 0,
      100% 100%,
      0 100%
    );
  }
  .article-image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }
}
.article-lead{
  font-weight:700;
  font-size: 16px;
  margin-bottom: 110px;
}
@media (max-width: 767px){
  .article-lead{
    margin-bottom: 35px;
  }
}
.article-section{
  font-size: 16px;
  margin-bottom: 110px;
}
@media (max-width: 767px){
  .article-section{
    margin-bottom: 60px;
  }
}
.article-section p{
  margin-bottom:40px;
}
@media (max-width: 767px){
 .article-section p{
  margin-bottom:35px;
  } 
}
.h2-deco{
  max-width: 1110px;
  margin: 0 auto;
}
.h2-deco .h2-deco__title::before,
.h2-deco .h2-deco__title::after{
  content: none !important;
  display: none !important;
  border: 0 !important;
}
.h2-deco .h2-deco__title{
  margin: 0;
  padding: 0;
  border: 0;
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  font-size: 22px;
}
@media (max-width: 767px){
  .h2-deco .h2-deco__title{
    font-size: 19px;
  }
}
.h2-deco .h2-deco__line{
  --h: 8px; 
  --cut: 4px;
  --accentPct: 22.5225%; 
  --main: #254361; 
  --accent: #FF8217; 
  display: block;
  width: 100%;
  height: var(--h);
  margin-top: 12px;
  margin-bottom: 30px;
  position: relative;
}
.h2-deco .h2-deco__line::before{
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  height: 100%;
  width: calc(100% - var(--accentPct) + var(--cut)); 
  background: var(--main);
  clip-path: polygon(
  var(--cut) 0, 100% 0,
  calc(100% - var(--cut)) 100%, 0 100%
  );
}
.h2-deco .h2-deco__line::after{
  content: "";
  position: absolute;
  inset: 0 0 0 auto;
  height: 100%;
  width: var(--accentPct);
  background: var(--accent);
  clip-path: polygon(
    var(--cut) 0, 100% 0,
    calc(100% - var(--cut)) 100%, 0 100%
  );
}
.h2-underline{
  max-width: 1110px;
  margin: 0 auto 30px;
}
.h2-underline .h2-underline__title::before,
.h2-underline .h2-underline__title::after{
  content: none !important;
  display: none !important;
  border: 0 !important;
}
.h2-underline .h2-underline__title{
  --lineH: 8px;
  --lineC: #EFF6FF;
  margin: 0;
  padding: 0 0 18px;
  border: 0;
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  font-size: 22px;
  line-height: 1.35;
  background: linear-gradient(var(--lineC), var(--lineC)) left bottom / 100% var(--lineH) no-repeat;
}
@media (max-width: 767px){
  .h2-underline .h2-underline__title{
    font-size: 19px;
  }
}
.ck-media{
  --mediaMax: 800px;
  --gap: 16px;
  width: min(100%, var(--mediaMax));
  margin: 0 auto 48px;
}
/* ==============================
   画像調整_20260219
============================== */
.ck-media-wide {
  --mediaMaxWide: 1000px;
  width: min(100%, var(--mediaMaxWide));
}

.ck-media__item{
  display: grid;
  grid-template-rows: 1fr auto;
  height: 100%;
}
.ck-media__image{
  display: flex;
  align-items: flex-end;
  height: 100%;
}
.ck-media__image img{
  width: 100%;
  height: auto;
  display: block;
}
.ck-media__item figcaption{
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.6;
  text-align: center;
  min-height: calc(1.6em * 2); /* ★ 2行分を確保 */
  display: flex;
  align-items: flex-start;     /* ★ 上揃え */
  justify-content: center;     /* 横センタリング */
}
.ck-media__item figcaption.ck-media__caption--stack{
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  text-align: center;
}
.ck-media__grid{
  display: grid;
  gap: var(--gap);
  align-items: stretch;
}
.ck-media--2 .ck-media__grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ck-media--3 .ck-media__grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ck-media--4 .ck-media__grid{ grid-template-columns: repeat(4, minmax(0, 1fr)); }

.ck-media--w400{ --mediaMax: 400px; }
.ck-media--w600{ --mediaMax: 600px; }
.ck-media--w800{ --mediaMax: 800px; }

.article-pagination{
  display: flex;
  justify-content: center;
  margin: 80px auto 0;
}
@media (max-width: 767px){
  .ck-media--3 .ck-media__grid,
  .ck-media--4 .ck-media__grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.article-pagination__btn{
  --border: #1f3b57;
  --bg: #fff;
  --bw: 2px;
  --cut: 14px;
  position: relative;
  display: inline-grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  align-items: center;
  column-gap: 18px;
  max-width: 1110px; 
  padding: 12px 28px;
  min-height: 65px;
  height: auto;
  color: var(--border);
  text-decoration: none;
  font-weight: 700;
  line-height: 1.4;
  text-align: left;
  transition: opacity .15s ease;
}
.article-pagination__btn:hover{
  opacity: .6;
  color: #1f3b57!important;
}
.article-pagination__btn::before{
  content: "";
  position: absolute;
  inset: 0;
  background: var(--border);
  clip-path: polygon(
    var(--cut) 0, 100% 0,
    100% calc(100% - var(--cut)),
    calc(100% - var(--cut)) 100%,
    0 100%,
    0 var(--cut)
  );
}
.article-pagination__btn::after{
  content: "";
  position: absolute;
  inset: var(--bw);
  background: var(--bg);
  clip-path: polygon(
    calc(var(--cut) - var(--bw)) 0, 100% 0,
    100% calc(100% - (var(--cut) - var(--bw))),
    calc(100% - (var(--cut) - var(--bw))) 100%,
    0 100%,
    0 calc(var(--cut) - var(--bw))
  );
}
.article-pagination__btn > *{
  position: relative;
  z-index: 1;
}
.article-pagination__prev{
  white-space: nowrap;
}
.article-pagination__next{
  white-space: normal;
  overflow-wrap: anywhere;
}
.pager{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  width: 100%;
  margin: 40px 0;
}
.pager__btn,
.pager__num{
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  text-decoration: none;
  background: #eaf3fb;
  color: #1f3b57;
}
.pager__num.is-current{
  background: #1f3b57;
  color: #fff;
}
.pager__btn.is-disabled{
  cursor: default;
}
.pager a:hover{
  opacity: .7;
  color:#1f3b57;
}
.pager a:focus-visible{
  outline: 2px solid #1f3b57;
  outline-offset: 2px;
}
.related-head{
  --c: #254361; 
  --barH: 18px; 
  --cut: 11px; 
  --slashW: 5px;
  --slashGap: 10px;
  --slashSkew: -32deg;
  --gapBar: 6px;
  --gapText: 18px;
  width: 100%;
  display: grid;
  grid-template-columns: 1fr auto auto auto 1fr;
  align-items: center;
  column-gap: 0;
  padding: 16px 0;
}
.related-head__bar{
  height: var(--barH);
  background: #EFF6FF;
  min-width: 40px;
}
.related-head__bar--left{
  clip-path: polygon(
    0 0,
    100% 0,
    calc(100% - var(--cut)) 100%,
    0 100%
  );
}
.related-head__bar--right{
  clip-path: polygon(
    var(--cut) 0,
    100% 0,
    100% 100%,
    0 100%
  );
}
.related-head__text{
  margin: 0;
  color: #254361;
  font-weight: 700;
  font-size: 24px;
  line-height: 1;
  white-space: nowrap;
}
.related-head__slashes{
  position: relative;
  height: var(--barH);
  width: calc(var(--slashW) * 2 + var(--slashGap));
}
.related-head__slashes::before,
.related-head__slashes::after{
  content: "";
  position: absolute;
  top: 0;
  height: 100%;
  width: var(--slashW);
  background: #EFF6FF;
  transform: skewX(var(--slashSkew));
  transform-origin: left top;
}
.related-head__slashes::before{ left: 0; }
.related-head__slashes::after{ left: calc(var(--slashW) + var(--slashGap)); }
.related-head__slashes--right{
  --slashSkew: -32deg;
}
.related-head__slashes--left{
  margin-left: 12px;
  margin-right: var(--gapText);
}
.related-head__slashes--right{
  margin-left: var(--gapText); 
  margin-right: 2px;
}
.related-cards{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 30px;
  margin-top: 24px;
}
.related-card{
  display: block;
  text-decoration: none;
  color: inherit;
  background: #fff;
  transition: opacity .15s ease;
}
.related-card:hover{
  opacity: .7; 
  color: #1f3b57!important; 
}
.related-card__thumb{
  --cut: 20px; 
  --bw: 2px;
  --bd: #254361;
  position: relative;
  aspect-ratio: 16 / 10;
}
.related-card__thumb::before{
  content: "";
  position: absolute;
  inset: 0;
  background: var(--bd);
  clip-path: polygon(
    0 0,
    100% 0,
    100% calc(100% - var(--cut)),
    calc(100% - var(--cut)) 100%,
    0 100%
  );
}
.related-card__thumb-inner{
  position: absolute;
  inset: var(--bw);
  overflow: hidden;
  background: #fff;

  clip-path: polygon(
    0 0,
    100% 0,
    100% calc(100% - (var(--cut) - var(--bw))),
    calc(100% - (var(--cut) - var(--bw))) 100%,
    0 100%
  );
}
.related-card__thumb-inner img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.related-card__badge{
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  font-weight: 800;
  font-size: 16px;
  color: #fff;
  background: rgba(0,0,0,.25);
}
.related-card__body{
  padding: 14px 0 16px;
}
.related-card__title{
  margin: 0 0 10px;
  font-weight: 700;
  line-height: 1.4;
  font-size: 17px;
  color: #1f3b57;
}
.related-card__title:hover{
  color: #1f3b57!important; 
}
.related-card__desc{
  margin: 0;
  font-size: 16px;
  line-height: 1.6;
}
.related-card__thumb-inner::before{
  content: "";
  position: absolute;
  left: 10px;
  top: 10px;
  width: 22px;
  height: 22px;
  -webkit-mask: var(--icon) no-repeat center / contain;
  mask: var(--icon) no-repeat center / contain;
}
.related-card--airport{ --icon: url("/sogoseisaku/region/kyojinka/cross-knowledge/assets/img/airport.png"); }
.related-card--coast{   --icon: url("/sogoseisaku/region/kyojinka/cross-knowledge/assets/img/coast.png"); }
.related-card--city{   --icon: url("/sogoseisaku/region/kyojinka/cross-knowledge/assets/img/city.png"); }
.related-card--erosion-control{   --icon: url("/sogoseisaku/region/kyojinka/cross-knowledge/assets/img/erosion-control.png"); }
.related-card--river{   --icon: url("/sogoseisaku/region/kyojinka/cross-knowledge/assets/img/river.png"); }
.related-card--port{   --icon: url("/sogoseisaku/region/kyojinka/cross-knowledge/assets/img/port.png"); }
.related-card--load{   --icon: url("/sogoseisaku/region/kyojinka/cross-knowledge/assets/img/load.png"); }
.related-card--sewer{   --icon: url("/sogoseisaku/region/kyojinka/cross-knowledge/assets/img/sewer.png"); }
.related-card--water-supply{   --icon: url("/sogoseisaku/region/kyojinka/cross-knowledge/assets/img/water-supply.png"); }
.related-card--rail{    --icon: url("/sogoseisaku/region/kyojinka/cross-knowledge/assets/img/rail.png"); }
.related-card__tag{
  position: absolute;
  left: 0;
  top: 0;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: 110px;
  height: 28px;
  padding: 0 18px 0 10px;
  background: #1f3b57;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  --cut: 28px;
  clip-path: polygon(
    0 0,
    100% 0,
    100% calc(100% - var(--cut)),
    calc(100% - var(--cut)) 100%,
    0 100%
  );
}
.related-card__tag::before{
  content: "";
  width: 20px;
  height: 20px;
  background: #fff;
  -webkit-mask: var(--icon) no-repeat center / contain;
  mask: var(--icon) no-repeat center / contain;
}
.related-card__tag-text{
  font-size: 14px;
}
@media (max-width: 767px){
  .related-cards{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.article-section-conclusion{
  background: #EFF6FF;
  padding: 48px 48px;
  margin-bottom: 60px;
  }
.article-section-conclusion__inner{
  max-width: 1110px;
  margin: 0 auto;
  background: #fff;
  padding: 28px 40px;
}
.article-section-conclusion__inner p{
  font-size: 18px;
  margin-bottom: 20px;
}
@media (max-width: 768px){
  .article-section-conclusion{
    padding: 15px 15px;
  }
  .article-section-conclusion__inner{
    padding: 18px 16px;
  }
  .article-section-conclusion__inner p{
    margin-bottom: 35px;
  }
}
.article-inner-list{
  margin-bottom: 40px;
}
.article-inner-list li{
  margin-bottom: 20px;
}
@media (max-width: 767px){
 .article-inner-list{
  margin-bottom:35px;
  } 
}

/*==================================
	デザイン調整：確定後に既存CSSにマージ
===================================*/
/*
body:not(.header_scrolled) .global-nav--layout--float-right {
  width: 900px;
}
*/
.cross-knowledge-title-inner img{
  width: 316px;
}
.hero-article{
  margin-bottom: 60px;
}
.hero-content{
  padding-top: 60px;
}
.hero-content > img{
  margin-bottom: 20px;
}
.sub-title{
  margin-top: 0!important;
  font-size: clamp(12px, 2.2vw, 26px)!important;
}
.article-lead{
  font-size: 18px;
  margin-bottom: 80px;
}
.article-lead p,
.article-section p {
  font-size: 18px;
  margin-bottom: 20px;
}
.article-section {
  margin-bottom: 80px;
}
/* アイコン＋事業名 */
.hero-project{
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
}
/* アイコン */
.hero-project img{
  width: auto;
  height: 30px;  
  flex-shrink: 0;
}
/* 事業名テキスト */
.hero-project__title{
  font-size: clamp(14px, 2vw, 18px);
  line-height: 1.4;
  font-weight: 700;
  overflow-wrap: anywhere;
  word-break: break-word;
}
@media (max-width: 767px){
 .hero-project__title{
  font-size:18px;
  } 
}
/*==================================
  汎用：スマホ時に1カラムにする
===================================*/
@media (max-width: 767px){
  .ck-media--sp1 .ck-media__grid{
    grid-template-columns: 1fr !important;
  }
}
/*==================================
  汎用：画像下のマージン調整
===================================*/
.is-mb0{
  margin-bottom: 0px!important;
}
/*==================================
  汎用：SP時に画像幅を50%にする
===================================*/
@media (max-width: 767px){
  .ck-media--sp50{
    width: 50%;
  }

  .ck-media--sp50{
    margin-left: auto;
    margin-right: auto;
  }
}
/*==================================
  汎用：複数画像にまとめてキャプション
===================================*/
.ck-media__group-caption{
  margin-top: 12px;
  font-size: 14px;
  line-height: 1.6;
  text-align: center;
}
/* ==================================
   最終行を中央寄せ
================================== */
.ck-media--3.ck-media--center-last .ck-media__item{
  justify-self: stretch;
}
/* ==================================
   3カラム：最終行を中央寄せ
================================== */
/* 最終行が1枚（7,10,13…枚） */
.ck-media--3.ck-media--center-last
.ck-media__item:nth-last-child(1):nth-child(3n + 1){
  grid-column: 2 / span 1;
}
/* 最終行が2枚（8,11,14…枚） */
.ck-media--3.ck-media--center-last
.ck-media__item:nth-last-child(2):nth-child(3n + 1){
  grid-column: 2 / span 1;
}
.ck-media--3.ck-media--center-last
.ck-media__item:nth-last-child(1):nth-child(3n + 2){
  grid-column: 3 / span 1;
}
@media (max-width: 767px){
  .ck-media--3.ck-media--center-last .ck-media__item{
    grid-column: auto !important;
  }
}
/* ==================================
   汎用：テキストのボールド
================================== */
.txt-b {
  font-weight: 700;
}
/* ==================================
   汎用：テキストのボールド
================================== */
.ck-media__item.is-cap-4line figcaption {
  min-height: calc(1.5em * 4);
}
/* ==================================
   汎用：キャプション4行対応
================================== */

/* figureを縦Flexにする（画像下揃え用） */
.ck-media__item {
  display: flex;
  flex-direction: column;
}

/* 画像は下揃え */
.ck-media__image {
  margin-top: auto;
}

/* キャプション共通（デフォルトは2行） */
.ck-media__item figcaption {
  line-height: 1.5;
  min-height: calc(1.5em * 2);
}

/* ==============================
   PC：3カラム
   1行目（1〜3番目）だけ4行
============================== */
@media (min-width: 769px) {
  .ck-media.is-cap-4line
  .ck-media__item:nth-child(-n + 3) figcaption {
    min-height: calc(1.5em * 4);
  }
}

/* ==============================
   SP：2カラム
   1行目（1〜2番目）だけ4行
============================== */
@media (max-width: 768px) {
  .ck-media.is-cap-4line
  .ck-media__item:nth-child(-n + 2) figcaption {
    min-height: calc(1.5em * 4);
  }
}

/* ==============================
   グロナビ下のマージン調整
============================== */
@media (min-width: 992px) {
    .device-pc .global-nav-list>li>a {
        padding: 6px 1.4em;
    }
}

