@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Noto+Serif+JP:wght@400;500;700&display=swap');

body {
  font-family: "Noto Sans JP", sans-serif;
}

.text-mincho {
  font-family: "Noto Serif JP", serif;
}

h1,h2,h3 {
	font-weight: 800;
}

p {
	font-weight: 400;
}

mark {
  background: linear-gradient(transparent 55%, rgba(32, 185, 150, 0.4) 55%);
  font-weight: bold;
  color: inherit;
  font-style: normal;
}

/* CSS Document */
header h1.pageTit .fen_sb{
	font-size: 0.26rem;
	letter-spacing: 0.2em;
}

#container{padding-top: 10px;}

/*actList
=============================*/
.actList > li + li{margin-top: 50px;}
.actList li .noiseArea .ph{
  aspect-ratio: 390/211;
  width: calc((390/1280)*100%);
  max-width: calc(390px * (1440/1280));
  height: auto;
  margin-left: auto;
}
/* .actList li .noiseArea .noiseLines {width: max(calc(100% - (((390*0.4)/1280)*100%)),calc(100% - ((390px*0.4) * (1440/1280))));} */
.actList li .noiseArea .noiseLines {width: max(calc(100% - ((390/1280)*100%)),calc(100% - (390px * (1440/1280))));}

.areport.index #main .actList li .noiseArea .ph{
  aspect-ratio: 680/515;
  width: calc((680/1280)*100%);
  max-width: calc(680px * (1440/1280));
}
/* .areport.index #main .actList li .noiseArea .noiseLines {width: max(calc(100% - (((680*0.4)/1280)*100%)),calc(100% - ((680px*0.4) * (1440/1280))));} */
.areport.index #main .actList li .noiseArea .noiseLines {width: max(calc(100% - ((680/1280)*100%)),calc(100% - (680px * (1440/1280))));}


.actList li .detailArea {
  grid-template-columns: 50% calc(50% - 80px) 80px;
  /* grid-template-rows: repeat(3, 1fr); */
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  margin-top: 40px;
  padding: 0 15px;
}
/* .areport.index .actList .detailArea > *{border: 1px solid #000;} */
.actList li .detailArea .grid01 {grid-area: 1 / 1 / 2 / 2;}
.actList li .detailArea .grid02 {grid-area: 1 / 2 / 2 / 3; padding-left: 35px;}
.actList li .detailArea .grid03 {grid-area: 1 / 3 / 2 / 4;}
.actList li .detailArea .grid04 {grid-area: 2 / 1 / 3 / 2; margin-top: 20px;}
.actList li .detailArea .grid06 {grid-area: 2 / 2 / 3 / 4; margin-top: 20px; padding-left: 35px;}
.actList li .detailArea .grid06  > .inner{width: 100%; margin:auto 0;}

.areport.index #main .actList li .detailArea .grid04 {grid-area: 2 / 1 / 4 / 2; margin-top: 20px;}
.areport.index #main .actList li .detailArea .grid05 {grid-area: 2 / 2 / 3 / 4; margin-top: 20px; padding-left: 35px;}
.areport.index #main .actList li .detailArea .grid06 {grid-area: 3 / 2 / 4 / 4; margin-top: 20px; padding-left: 35px;}
.areport.index #main .actList li .detailArea .grid06  > .inner{width: 100%; margin: 0 0 auto 0;}


.actList .detailArea .data{
  font-size: 0.12rem;
  letter-spacing: 0.1em;
}
.actList .detailArea .tagList{
  font-size: 0.12rem;
  letter-spacing: 0.1em;
}
.actList .detailArea .tagList li{
  margin-right: 1em;
}
.actList .detailArea .likeBt{text-align: right;}
.actList .detailArea .likeBt a{
  font-size: 0.13rem;
  letter-spacing: 0.1em;
  text-decoration: underline;
}

.actList .detailArea h3{
  font-size: 0.25rem;
  letter-spacing: 0.15em;
  line-height: calc(34/21);
  padding-right: calc((100/625)*100%);
}
.areport.index #main .actList li .detailArea h3{
  font-size: 0.33rem;
  letter-spacing: 0.2em;
}
.areport.index #main .actList li .detailArea .txt{
  font-size: 0.14rem;
  letter-spacing: 0.1em;
  line-height: calc(27/14);
}
.actList li .detailArea .phColor{width: fit-content;}
.actList li .detailArea .phColor li{
  width: 10px;
  height: 10px;
  margin-right: 10px;
}
.actList li .detailArea .bt_more{
  width: fit-content;
  margin-left: auto;
}
.actList li .detailArea .bt_more a{
  display: block;
  font-size: 0.11rem;
  letter-spacing: 0.1em;
  padding: 1em 1.5em;
  border: 1px solid #000;
}



.pnav{
  padding: 0;
	font-size: 0.15rem;
	letter-spacing: 0.1em;
	margin-bottom: 40px;
}
.pnav .wpnav{width: 100%;}
.pnav .wpnav .wp-pagenavi{
	display: flex;
	width: 100%;
}
.pnav .wpnav .wp-pagenavi > *{
	display: block;
	margin-right: 0.5em;
	padding: 0px 0 4px;
}
.pnav .wpnav .wp-pagenavi .previouspostslink,
.pnav .wpnav .wp-pagenavi .nextpostslink{
	color: rgba(0,0,0,0.3);
	order: 10;
	margin-right: 0;
}
.pnav .wpnav .wp-pagenavi .previouspostslink{
	margin-left: auto;
	margin-right: 2em;
	position: relative;
}
.pnav .wpnav .wp-pagenavi .previouspostslink::before{
	content: '';
	width: 1px;
	height: calc(100% - 4px);
	position: absolute;
	top:0px;
	right: -1em;
	background: #000;
}
.pnav .wpnav .wp-pagenavi .pages,
.pnav .wpnav .wp-pagenavi .first,
.pnav .wpnav .wp-pagenavi .last{
	display: none;
}
.pnav .wpnav .wp-pagenavi li + li{
	margin-left: 0.5em;
}
.pnav .wpnav .wp-pagenavi a{
	color: rgba(0,0,0,0.3);
	background-image: linear-gradient(#000, #000);
  background-position: 0% 100%;
  background-repeat: no-repeat;
	transition: background 0.35s ease;
	background-size: 0% 1px;
}
.pnav .wpnav .wp-pagenavi a:hover{
	color: rgba(0,0,0,1);
	background-size: 100% 1px;
}

.pnav .wpnav .wp-pagenavi a.previouspostslink,
.pnav .wpnav .wp-pagenavi a.nextpostslink{
	background-size: 0% 2px;
	color: rgba(0,0,0,1);
}
.pnav .wpnav .wp-pagenavi a.previouspostslink:hover,
.pnav .wpnav .wp-pagenavi a.nextpostslink:hover{
	background-size: 100% 2px;
}


.pnav .wpnav li + li{
	margin-left: 0.5em;
}
.pnav .wpnav li a{
	color: rgba(0,0,0,0.3);
}
.pnav .wpnav li a:hover{
	color: rgba(0,0,0,1);
}
.pnav .pnav_np{margin-left: auto;}
.pnav .pnav_np li:first-child{
  padding-right: 1em;
	margin-right: 1em;
	border-right: 1px solid #000;
}
.pnav .pnav_np li span.noLink{
  opacity: 0.5;
}




/* .postContents
=============================*/
.postContents{
	font-size: 0.15rem;
	line-height: calc(37/15);
	letter-spacing: 0.2em;
}
.postContents img{
	max-width: 100% !important;
	height: auto !important;
}
.postContents > *:not(.phBox){
	width: max(calc((1000/1280)*100%), 1000px);
	margin: 50px 15px 0;
}
@media screen and (max-width:1030px) {
	.postContents > *:not(.phBox){width: calc(100% - 30px);}
}
.postContents > .phBox{
	width: 100vw;
	overflow: auto;
	padding: 0 15px;
	margin-top: 50px;
}
.postContents > .phBox > div{
	width: fit-content;
	padding-right: 15px;
}
.postContents > .phBox > div .ph{
	width: max(calc((490/1280)*100vw), 490px);
}
.postContents > .phBox > div .ph + .ph{
	margin-left: 16px;
}

.postContents figure{margin-top: 1.5em;}
.postContents > *:first-child{
	margin-top: 0;
}
.postContents h1{
	font-size: 0.40rem;
	margin-top: 3em;
}
.postContents h2{
	font-size: 0.33rem;
	margin-top: 3em;
}
.postContents h3{
	font-size: 0.22rem;
	margin-top: 4em;
}
.postContents h4{
	font-size: 0.16rem;
	border-bottom: 1px solid rgba(0,0,0,0.2);
	padding-bottom: 0.5em;
	margin-top: 4em;
}
.postContents h5{
	font-size: 0.16rem;
	margin-top: 4em;
}

/* txtBloc基本フォントウェイト */
.txtBloc{
	font-weight: 400;
}

/* txtBloc内の見出し・iframe・figcaption */
.txtBloc h1{
	font-size: 0.40rem;
	margin-top: 3em;
	font-weight: 800;
}
.txtBloc h2{
	font-size: 0.33rem;
	margin-top: 0;
	margin-bottom: 0.75em;
	font-weight: 800;
	line-height: 1.3em;
}
.txtBloc h3{
	font-size: 0.22rem;
	margin-top: 0;
	margin-bottom: 0.2em;
	font-weight: 800;
}
.txtBloc h4{
	font-size: 0.16rem;
	/* border-bottom: 1px solid rgba(0,0,0,0.2); */
	padding-bottom: 0.5em;
	margin-top: 4em;
	font-weight: 800;
}
.txtBloc h5{
	font-size: 0.16rem;
	margin-top: 4em;
	font-weight: 800;
}
.txtBloc > *:first-child{
	margin-top: 0;
}
.txtBloc figcaption{
	font-size: 0.12rem;
	margin-top: 0.5em;
	color: rgba(0,0,0,0.6);
	letter-spacing: 0;
	line-height: 1.3em;
}
/* 取材・文クレジット（docs2wp生成: <p class="p-writer">） */
.txtBloc .p-writer{
	text-align: right;
	font-size: 0.8em;
	opacity: 0.5;
}
.txtBloc iframe{
	aspect-ratio: 16/9;
	width: 100%!important;
	max-width: 700px;
	height: auto!important;
	margin-left: auto;
	margin-right: auto;
	display: block;
}

/* タイトル直後・テキストなし時の先頭画像のみ角丸（YouTube等iframeは除外） */
.txtBloc > figure:first-child img,
.txtBloc > img:first-child,
.txtBloc > .picBloc:first-child img {
	border-radius: 8px;
}

/* txtBloc内のリスト */
.txtBloc ul:not(.picList) > li{
	margin-left: 1.5em;
	list-style: disc;
}
.txtBloc ol{
	list-style: decimal;
}
.txtBloc ol > li{
	margin-left: 1.5em;
}

/* txtBloc内のaタグ */
.txtBloc a{
	display: inline;
	background-image: linear-gradient(90deg,#000 0%, #000 50%, #CCC 50%,#CCC 100%);
	background-size: 200% 1px;
	background-position: 100% 100%;
	background-repeat: no-repeat;
	transition: background-position 0.35s ease;
	padding: 2px 0;
}
.txtBloc a:hover{
	background-position: 0% 100%;
}

.postContents p a{
  display: inline;
  background-image: linear-gradient(90deg,#000 0%, #000 50%, #CCC 50%,#CCC 100%);
  background-size: 200% 1px;
	background-position: 100% 100%;
  background-repeat: no-repeat;
	transition: background-position 0.35s ease;
	padding: 2px 0;
}
.postContents p a:hover{
	background-position: 0% 100%;
}

.postContents iframe{
	aspect-ratio: 16/9;
	width: 100%!important;
	max-width: 700px;
	height: auto!important;
	margin-left: auto;
	margin-right: auto;
	display: block;
}

.postContents figure.wp-block-embed-youtube .wp-block-embed__wrapper iframe {
	aspect-ratio: 16/9;
	width: 100%;
	height: 100%;
}
/*引用*/
.postContents .wp-block-quote{
	text-align: center;
	background: var(--gray_e0);
	padding: 1em;
	isolation: isolate;
}


/*目次*/
.postContents #toc_container {
	border: 1px solid var(--LINE_a30)!important;
	padding: 30px 40px!important;
	margin-bottom: 0!important;
	width: auto!important;
	display: block!important;
	font-size: 0.2rem;

	/*追加*/
	isolation: isolate;
	margin-top: 50px;
	background: #FFF!important;
}
.postContents #toc_container .toc_title{
	text-align: left !important;
	font-family: "Shippori Mincho", serif !important;
	font-weight: 500!important;
	margin: 0;
	padding: 0;

	/*追加*/
}
.postContents #toc_container p.toc_title+ul.toc_list {
	margin-top: 0.5em;
}
.postContents #toc_container ul.toc_list > li:nth-child(n+2){margin-top: 1em;}
.postContents #toc_container ul.toc_list li a{
	opacity: 1;
	-webkit-transition: opacity 0.35s ease;
	transition: opacity 0.35s ease;
}
.postContents #toc_container ul.toc_list li a:hover{
	opacity: 0.5;
	text-decoration: none;
}
.postContents #toc_container ul.toc_list > li > a{
	display: inline-block;
	font-family: "Shippori Mincho", serif !important;
	font-weight: 500!important;
	position: relative;
	padding-left: 1.5em;
}
.postContents #toc_container ul.toc_list > li > a .toc_number{
	position: absolute;
	top:0;
	left:0;
}
.postContents #toc_container ul.toc_list > li > a .toc_number::after{
	content: '.';
}
.postContents #toc_container ul.toc_list > li > ul > li .toc_number{display: none;}
.postContents #toc_container ul.toc_list > li ul{margin-left: 0;}
.postContents #toc_container ul.toc_list > li > ul{margin-left: 1.5em;}
.postContents #toc_container ul.toc_list li ul li a{
	color: var(--BASE);
	display: inline-block;
	position: relative;
	padding-left: 1em;
}

.postContents #toc_container ul.toc_list li ul li a::before{
	content: '';
	width: 8px;
	height: 8px;
	display: block;
	-webkit-mask-image: url('../img/icon_arrow.svg');
	mask-image: url('../img/icon_arrow.svg');
	mask-size: 100% 100%;
	position: absolute;
	left:0;
	top:12px;
	background: var(--BL03);
}
.postContents #toc_container ul.toc_list > li > ul li a{
	font-size: 0.16rem;
}

.postContents > ol{list-style: decimal;}
.postContents > ul > li{
	margin-left: 1.5em;
	list-style: disc;
}
.postContents > ol > li{margin-left: 1.5em;}

.postContents a.wp-block-file__button,
.postContents a.wp-block-button__link{
	font-size: 0.15rem;
	background: var(--gray_e0);
	color: #000;
	padding: 0.5em 1em;
	filter: blur(0);
}
.postContents a.wp-block-file__button:hover,
.postContents a.wp-block-button__link:hover{
	filter: blur(6px);
}


.postContents .postContents .has-white-color {
  background: #FFF;
}
.postContents .has-white-background-color {
  background: #FFF;
}
.postContents .has-base-color {
  background: #57667B;
}
.postContents .has-base-background-color {
  background: #57667B;
}

.postContents .has-bl-01-color {
  background: #1673FF;
}
.postContents .has-bl-01-background-color {
  background: #1673FF;
}
.postContents .has-bl-02-color {
  background: #E7EEFF;
}
.postContents .has-bl-02-background-color {
  background: #E7EEFF;
}
.postContents .has-bl-03-color {
  background: #6084E4;
}
.postContents .has-bl-03-background-color {
  background: #6084E4;
}
.postContents .has-line-color {
  background: #C4D0E2;
}
.postContents .has-line-background-color {
  background: #C4D0E2;
}



.postContents .has-dfc01-gradient-background{
	background: linear-gradient(to right,  #cad9ff 0%,#9babff 51%,#cc7cfd 100%);
}
.postContents .has-dfc02-gradient-background{
	background: linear-gradient(to right,  #6086E6 0%,#A48DFF 67%,#C160FD 100%);
}
.postContents .has-dfc03-gradient-background{
	background: linear-gradient(45deg,  #9CA0FF 0%,#7CADF5 46%,#B2DAFF 100%);
}

/* info-table（WORKSページ等の情報テーブル） */
.info-table{
	border-collapse: collapse;
	width: 100%;
	font-size: 0.9em;
	font-weight: 400;
	letter-spacing: 0.2em;
	line-height: calc(37/15);
}
.info-table th,
.info-table td{
	text-align: left;
	padding: 0 0.75em;
	border: none;
	vertical-align: top;
}
.info-table th{
	white-space: nowrap;
}
.info-table [rowspan]{
	padding-top: 0.15em;
	padding-bottom: 0.15em;
}

/* bg-box（テーブルの背景ラッパー・再利用可能クラス） */
.bg-box{
	background: #F2F2F2;
	padding: 1.5em 1.5em;
	margin-top: 1em !important;
	border-radius: 8px;
	letter-spacing: 0.05em;
}
.bg-box h3{
	margin: 1em 0 0.75em;
	font-size: 1.3em;
}
.bg-box p{
	margin: 1em 0;
}
.bg-box .picBloc{
	margin: 1em 0;
}

/*postListBox
=============================*/
.postListBox{
	margin: 60px 15px 0;
}
.postListBox + .postListBox {margin-top: 100px;}
.postListBox h3{
	font-size: 0.22rem;
	letter-spacing: 0.1em;
	margin-bottom: 25px;
}
.postListBox + .postListBox h3{
	border-top: 1px solid rgba(0,0,0,0.2);
	padding-top: 0.75em;
}
.postListBox .postBox .postList{
	column-gap: 12px;
}
.postListBox .postBox .postList li{flex: 1; max-width: 33.3333%;}
.postListBox .postBox .postList li a{
	display: block;
}
.postListBox .postBox .postList li a .ph{
	aspect-ratio: 407/226;
	width: 100%;
}
.postListBox .postBox .postList li a h4{
	font-size: 0.14rem;
	letter-spacing: 0.2em;
	line-height: calc(22/14);
	margin-top: 0.5em;
}


/*=============================
  areport
=============================*/

/* areport 記事全体：幅の制限と中央寄せ
============================== */
.areport.post #main .titArea,
.areport.post #contents {
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}

/*areport index
=============================*/
.areport.index #main{margin-bottom: 70px;}

.areport.index .tagArea{
	margin: 0 15px 70px;
	padding: 25px 0;
	border: 1px solid #000;
}

.areport.index .tagArea h3{
	width: max(calc((360/1250)*100%), 360px);
	text-align: center;
	font-size: 0.22rem;
	letter-spacing: 0.1em;
}
.areport.index .tagArea .tagList{
	width: max(calc((890/1250)*100%), calc(100% - 360px));
	min-height: 135px;
	padding: 0 calc((165/1250)*100%);
	border-left: 1px solid #000;
	font-size: 0.14rem;
	letter-spacing: 0.1em;
	align-content: center;
	gap: 1em 1.5em;
}

.areport.index .pnav{margin-top: 100px;}
.areport.index section h2 .jp{
	border-left: 1px solid #000;
}


/*areport post
=============================*/
.areport.post #main .noiseArea{
	aspect-ratio: 1280/235;
	width: 100%;
	/* max-height: 235px; */
	max-height: 90px;
}
.areport.post #main .titArea{
	margin-top: 70px;
	margin-bottom: 20px;
	flex-direction: column;
	row-gap: 0.5rem;
}
.areport.post #main .titArea .ph{
	/* order: 10; */
	/* aspect-ratio: 640/475; */
	/* width: min(50%,720px); */
	width: 100%;
	border-radius: 8px;
}
.areport.post #main .titArea .txtArea{
	/* padding: 0 30px 0 15px; */
	/* width: max(50%,calc(100% - 720px)); */
	width: 100%;
	grid-template-columns: calc(100% - 80px) 80px;
	grid-template-rows: auto 1fr auto; 
	grid-column-gap: 0px;
	grid-row-gap: calc((50/720)*100%);
}
.areport.post #main .titArea .txtArea .grid01 {grid-area: 1 / 1 / 2 / 2;}
.areport.post #main .titArea .txtArea .grid02 {grid-area: 1 / 2 / 2 / 3;}
.areport.post #main .titArea .txtArea .grid03 {grid-area: 1 / 1 / 2 / 3;}
.areport.post #main .titArea .txtArea .grid04 {grid-area: 3 / 1 / 4 / 2;}
.areport.post #main .titArea .txtArea .grid05 {grid-area: 3 / 2 / 4 / 3;}

.areport.post #main .titArea .txtArea > *{
	height: fit-content;
}

.areport.post #main .titArea .txtArea .data{
  font-size: 0.12rem;
  letter-spacing: 0.1em;
}
.areport.post #main .titArea .txtArea .phColor{
	width: fit-content;
	margin-left: auto;
}
.areport.post #main .titArea .txtArea .phColor li{
  width: 10px;
  height: 10px;
}
.areport.post #main .titArea .txtArea .phColor li:nth-child(n+2){
  margin-top: 10px;
}
.areport.post #main .titArea h1,
.news.post #main .titArea h1,
.sol.post #main .titArea h1,
.pjt.post #main .titArea h1{
	width: 100%;
	font-size: 0.40rem;
	letter-spacing: 0.1em;
	line-height: 1.2em;
}

.areport.post #main .titArea .txtArea h2{
	width: 100%;
  font-size: 0.33rem;
  letter-spacing: 0.1em;
  line-height: 1.2em;
}
.areport.post #main .titArea .txtArea .tagList{
  font-size: 0.13rem;
  letter-spacing: 0.1em;
	column-gap: 1em;
	row-gap: 0.5em;
}
.date-flex-area{
	display: flex;
	gap: 30px;
	align-items: center;
	flex-wrap: wrap;
	margin-top: 10px;
	width: 100%;
}
.areport.post #main .titArea .txtArea .date-flex-area{
	grid-area: 2 / 1 / 3 / 3;
	justify-content: flex-end;
}
.areport.post #main .titArea .txtArea .likeBt{
	width: 80px;
	text-align: right;
}
.areport.post #main .titArea .txtArea .likeBt a{
  font-size: 0.13rem;
  letter-spacing: 0.1em;
  text-decoration: underline;
}

.areport.post #main .txt01{
	margin: 95px 15px 0 15px;
  font-size: 0.16rem;
  letter-spacing: 0.2em;
	line-height: calc(31/16);
	padding: 40px 35px;
	border: 1px solid #000;
}



.areport.post section{
	/* margin-top: 100px; */
	margin-bottom: 60px;
}
/* .areport.post section h2{margin: 0 15px;} */
.areport.post section h2 .num{
	/* width: 55px;
	font-size: 0.23rem;
	letter-spacing: 0.1em;
	border-right: 1px solid rgba(112,112,112,1);
	line-height: calc(35/23);
	padding: 0.1em 0; */
	display: none;
}
.areport.post section h2 .jp{
	/* width: calc(100% - 55px); */
	/* padding-left: 1em; */
	font-size: 0.27rem;
	letter-spacing: 0.2em;
	line-height: calc(47/27);
	margin-top: -0.25em;
}
.areport.post section .noiseArea{
	/* aspect-ratio: 1280/23;
	width: 100%;
	max-height: calc(23px * (1440/1280));
	margin-top: 60px; */
	display: none;
}
.areport.post section > .inner{
	/* margin: 70px 0 0; */
	font-size: 0.15rem;
	letter-spacing: 0.2em;
	line-height: calc(37/15);
}
.areport.post section > .inner .txtBloc{
	/* width: max(calc((1000/1280)*100%), 1000px); */
	/* margin: 0 15px; */
	margin: 0;
}
@media screen and (max-width:1030px) {
	/* .areport.post section > .inner .txtBloc{width: calc(100% - 30px);} */
}
.areport.post section > .inner .txtBloc > *{
	margin-top: 0;
	margin-bottom: 1.8em;
	line-height: 1.8em;
	border-radius: 10px;
}
.areport.post section > .inner .txtBloc > h2{
	margin-top: 1.5em;
	margin-bottom: 0.75em;
	line-height: 1.3em;
}
.areport.post section > .inner .txtBloc > h3{
	margin-top: 1.5em;
	margin-bottom: 0.5em;
}

.areport.post section > .inner .txtBloc a{
  display: inline;
  background-image: linear-gradient(90deg,#000 0%, #000 50%, #CCC 50%,#CCC 100%);
	background-position: 100% 100%;
  background-repeat: no-repeat;
	transition: background-position 0.35s ease;
	padding: 2px 0;
	background-size: 200% 1px;
}
.areport.post section > .inner .txtBloc a:hover{background-position: 0% 100%;}


.areport.post section > .inner .picBloc{
	/* width: max(calc((1000/1280)*100%), 1000px); */
	/* margin: 75px 15px 0; */
	/* margin-bottom: 40px; */
}

.areport.post section > .inner .picBloc .picList{
	column-gap: 10px;
	overflow: hidden;
}

.areport.post section > .inner .picBloc .picList li {flex: 1;}

.areport.post section > .inner .picBloc .picList li .pic{
	/* aspect-ratio: 528/299; */
	width: 100%;
	height: auto;
}
.areport.post section > .inner .picBloc .picList li .cap{
	font-size: 0.11rem;
	letter-spacing: 0.1em;
	margin-top: 0.5em;
	line-height: 1.5;
}

.areport.post section > .inner .movie{
	/* width: max(calc((1000/1280)*100%), 1000px);
	margin: 75px 15px 0; */
}
.areport.post section > .inner .movie iframe{
	aspect-ratio: 16/9;
	width: 100%;
	height: auto;
}



.areport.post #contents > .likeBt{
	margin-top: 30px;
	padding: 0 15px;
}
.areport.post #contents > .likeBt .icon{
	border: 1px solid #000;
	font-size: 0.17rem;
	letter-spacing: 0.1em;
	padding: 0.35em 0.75em 0.2em 1em;
	margin-right: 1em;
}
/* .areport.post #contents > .likeBt a{
  font-size: 0.13rem;
  letter-spacing: 0.1em;
  text-decoration: underline;
	padding-top: 0.1em;
} */


.areport.post .pnav{margin-top: 85px;}




.areport.post .rreport{
	margin-top: 50px;
}
.areport.post .rreport h2{
	margin: 0 15px;
	border-top: 1px solid rgba(112,112,112,0.2);
	padding-top: 1em;
	font-size: 0.27rem;
	letter-spacing: 0.1em;
}
.areport.post .actList{
	margin-top: 45px;
}

/* 登場人物・吹き出し（全ページ共通）(PC用)
============================== */
.areport.post .p-character-intro,
.news.post .p-character-intro,
.about .p-character-intro,
.sol.post .p-character-intro,
.pjt.post .p-character-intro{
    background: #F2F2F2;
    padding: 20px 25px;
    margin-top: 70px;
}
.areport.post .p-character-intro__title,
.news.post .p-character-intro__title,
.about .p-character-intro__title,
.sol.post .p-character-intro__title,
.pjt.post .p-character-intro__title{
    font-size: 0.18rem;
    letter-spacing: 0.2em;
    font-weight: bold;
    margin: 0 0 30px 0;
    padding-bottom: 1em;
    border-bottom: 1px solid rgba(0,0,0,0.2);
}
.areport.post .p-character-intro__list,
.news.post .p-character-intro__list,
.about .p-character-intro__list,
.sol.post .p-character-intro__list,
.pjt.post .p-character-intro__list{
    display: flex;
    flex-direction: column;
    gap: 25px;
}
.areport.post .p-character-intro__item,
.news.post .p-character-intro__item,
.about .p-character-intro__item,
.sol.post .p-character-intro__item,
.pjt.post .p-character-intro__item{
    display: grid;
    grid-template-columns: 70px 1fr;
    grid-template-rows: auto auto;
    column-gap: 30px;
    row-gap: 0;
    align-items: center;
}
.areport.post .p-character-intro__icon,
.news.post .p-character-intro__icon,
.about .p-character-intro__icon,
.sol.post .p-character-intro__icon,
.pjt.post .p-character-intro__icon{
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    width: 70px;
    aspect-ratio: 1/1;
    margin: 0;
    font-size: 0.24rem;
}
.areport.post .p-character-intro__desc,
.news.post .p-character-intro__desc,
.about .p-character-intro__desc,
.sol.post .p-character-intro__desc,
.pjt.post .p-character-intro__desc{
    grid-column: 2 / 3;
    grid-row: 1 / 2;
}
.areport.post .p-character-intro__desc p,
.news.post .p-character-intro__desc p,
.about .p-character-intro__desc p,
.sol.post .p-character-intro__desc p,
.pjt.post .p-character-intro__desc p{
    font-size: 0.15rem;
    letter-spacing: 0.2em;
    line-height: 1.8em;
}
.areport.post .p-character-intro__desc p:last-child,
.news.post .p-character-intro__desc p:last-child,
.about .p-character-intro__desc p:last-child,
.sol.post .p-character-intro__desc p:last-child,
.pjt.post .p-character-intro__desc p:last-child{
    margin-bottom: 0;
}
.areport.post .p-character-intro__name,
.news.post .p-character-intro__name,
.about .p-character-intro__name,
.sol.post .p-character-intro__name,
.pjt.post .p-character-intro__name{
    grid-column: 1 / 2;
    grid-row: 2 / 3;
    text-align: center;
    font-size: 0.15rem;
    letter-spacing: 0.1em;
    font-weight: bold;
    line-height: calc(37/15);
    margin: 0;
}

.areport.post .p-chat__icon,
.news.post .p-chat__icon,
.about .p-chat__icon,
.sol.post .p-chat__icon,
.pjt.post .p-chat__icon{
    width: 70px;
    aspect-ratio: 1/1;
    font-size: 0.24rem;
}

/* 吹き出し会話 */
.areport.post .p-chat,
.news.post .p-chat,
.about .p-chat,
.sol.post .p-chat,
.pjt.post .p-chat{
    margin-top: 70px;
}

.areport.post .p-chat__question,
.news.post .p-chat__question,
.about .p-chat__question,
.sol.post .p-chat__question,
.pjt.post .p-chat__question{
    font-size: 0.18rem;
    letter-spacing: 0.1em;
    font-weight: bold;
    margin-bottom: 40px;
    border-left: 3px solid rgba(0,0,0,0.2);
    padding-left: 1em;
}

.areport.post .p-chat__item,
.news.post .p-chat__item,
.about .p-chat__item,
.sol.post .p-chat__item,
.pjt.post .p-chat__item{
    display: flex;
    align-items: flex-start;
    margin-bottom: 40px; 
}

.areport.post .p-chat__item:last-child,
.news.post .p-chat__item:last-child,
.about .p-chat__item:last-child,
.sol.post .p-chat__item:last-child,
.pjt.post .p-chat__item:last-child{
    margin-bottom: 0;
}

.areport.post .p-chat__figure,
.news.post .p-chat__figure,
.about .p-chat__figure,
.sol.post .p-chat__figure,
.pjt.post .p-chat__figure{
    flex-shrink: 0;
    margin-right: 25px;
}

.areport.post .p-chat__body,
.news.post .p-chat__body,
.about .p-chat__body,
.sol.post .p-chat__body,
.pjt.post .p-chat__body{
    position: relative;
    max-width: calc(100% - 95px);
    flex-grow: 1;
}

.areport.post .p-chat__message,
.news.post .p-chat__message,
.about .p-chat__message,
.sol.post .p-chat__message,
.pjt.post .p-chat__message{
    background-color: #F2F2F2;
    border-radius: 16px;
    padding: 30px 30px 5px 30px;
    position: relative;
}

.areport.post .p-chat__message::before,
.news.post .p-chat__message::before,
.about .p-chat__message::before,
.sol.post .p-chat__message::before,
.pjt.post .p-chat__message::before{
    content: "";
    position: absolute;
    top: 25px;
    left: -12px;
    border-style: solid;
    border-width: 10px 14px 10px 0;
    border-color: transparent #F2F2F2 transparent transparent;
}

.areport.post .p-chat__message p,
.news.post .p-chat__message p,
.about .p-chat__message p,
.sol.post .p-chat__message p,
.pjt.post .p-chat__message p{
    font-size: 0.15rem;
    letter-spacing: 0.2em;
    line-height: calc(37/15);
    margin-bottom: 1.5em !important;
}

/* ==============================
  アイコン共通設定（画像・イニシャル両対応）
============================== */
.areport.post .p-character-intro__icon,
.news.post .p-character-intro__icon,
.about .p-character-intro__icon,
.sol.post .p-character-intro__icon,
.pjt.post .p-character-intro__icon,
.areport.post .p-chat__icon,
.news.post .p-chat__icon,
.about .p-chat__icon,
.sol.post .p-chat__icon,
.pjt.post .p-chat__icon{
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    border-radius: 50%;
    overflow: hidden;
    background-color: var(--gray_e0, #e0e0e0);
    color: #FFF;
    font-weight: bold;
	clip-path: circle(48% at 50% 50%);
}

/* data-initialの文字を下敷きとして表示 */
.areport.post .p-character-intro__icon::before,
.news.post .p-character-intro__icon::before,
.about .p-character-intro__icon::before,
.sol.post .p-character-intro__icon::before,
.pjt.post .p-character-intro__icon::before,
.areport.post .p-chat__icon::before,
.news.post .p-chat__icon::before,
.about .p-chat__icon::before,
.sol.post .p-chat__icon::before,
.pjt.post .p-chat__icon::before{
    content: attr(data-initial);
    line-height: 1;
	position: absolute;
	top: 47%;
	left: 52%;
	transform: translateY(-50%) translateX(-50%);
}

/* 画像スタイル（文字の上に絶対配置で被せる） */
.areport.post .p-character-intro__img,
.news.post .p-character-intro__img,
.about .p-character-intro__img,
.sol.post .p-character-intro__img,
.pjt.post .p-character-intro__img,
.areport.post .p-chat__img,
.news.post .p-chat__img,
.about .p-chat__img,
.sol.post .p-chat__img,
.pjt.post .p-chat__img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 2;
}

/* srcが空（""）のときはimgタグを隠して文字を見せる */
.areport.post .p-character-intro__img[src=""],
.news.post .p-character-intro__img[src=""],
.about .p-character-intro__img[src=""],
.sol.post .p-character-intro__img[src=""],
.pjt.post .p-character-intro__img[src=""],
.areport.post .p-chat__img[src=""],
.news.post .p-chat__img[src=""],
.about .p-chat__img[src=""],
.sol.post .p-chat__img[src=""],
.pjt.post .p-chat__img[src=""]{
    display: none;
}

/* ==============================
  それぞれの固有サイズ設定 (PC用)
============================== */
/* 登場人物紹介のアイコンサイズ */
.areport.post .p-character-intro__icon,
.news.post .p-character-intro__icon,
.about .p-character-intro__icon,
.sol.post .p-character-intro__icon,
.pjt.post .p-character-intro__icon{
    width: 70px;
    aspect-ratio: 1/1;
	font-size: 0.24rem; /* 70pxの枠に合わせた文字サイズ */
}

/* 吹き出しのアイコンサイズ */
.areport.post .p-chat__icon,
.news.post .p-chat__icon,
.about .p-chat__icon,
.sol.post .p-chat__icon,
.pjt.post .p-chat__icon{
    width: 70px;
    aspect-ratio: 1/1;
    font-size: 0.3rem;
}

/* ==============================
  アイコンの背景色バリエーション
============================== */
/* サイト共通の「noiseBg」パレットから白文字が映える色を抽出 */

/* 1. ブルー系 */
.areport.post .p-icon-bg-blue,
.news.post .p-icon-bg-blue,
.about .p-icon-bg-blue,
.sol.post .p-icon-bg-blue,
.pjt.post .p-icon-bg-blue{ background-color: #1561B7; }

/* 2. レッド・テラコッタ系 */
.areport.post .p-icon-bg-red,
.news.post .p-icon-bg-red,
.about .p-icon-bg-red,
.sol.post .p-icon-bg-red,
.pjt.post .p-icon-bg-red{ background-color: #BF3F2C; }

/* 3. ダークグリーン系 */
.areport.post .p-icon-bg-green,
.news.post .p-icon-bg-green,
.about .p-icon-bg-green,
.sol.post .p-icon-bg-green,
.pjt.post .p-icon-bg-green{ background-color: #2D5F4B; }

/* 4. パープル系 */
.areport.post .p-icon-bg-purple,
.news.post .p-icon-bg-purple,
.about .p-icon-bg-purple,
.sol.post .p-icon-bg-purple,
.pjt.post .p-icon-bg-purple{ background-color: #5A35FF; }

/* 5. ゴールド・マスタード系 */
.areport.post .p-icon-bg-gold,
.news.post .p-icon-bg-gold,
.about .p-icon-bg-gold,
.sol.post .p-icon-bg-gold,
.pjt.post .p-icon-bg-gold{ background-color: #C5994B; }

/* 6. ピンク・ライラック系 */
.areport.post .p-icon-bg-pink,
.news.post .p-icon-bg-pink,
.about .p-icon-bg-pink,
.sol.post .p-icon-bg-pink,
.pjt.post .p-icon-bg-pink{ background-color: #E192FF; }

/* 7. スレート（ネイビー・青緑）系 */
.areport.post .p-icon-bg-slate,
.news.post .p-icon-bg-slate,
.about .p-icon-bg-slate,
.sol.post .p-icon-bg-slate,
.pjt.post .p-icon-bg-slate{ background-color: #2e4a69; }

/*areport tags
=============================*/
.areport.tags #contents{padding-top: 50px;}
.areport.tags h2 {
	font-size: 0.35rem;
	letter-spacing: 0.1em;
	margin: 0 15px 45px;
	padding-bottom: 45px;
	border-bottom: 1px solid rgba(0,0,0,0.2);
}
.areport.tags .pnav{margin-top: 85px;}


/*=============================
 news
=============================*/

/* news index
=============================*/
.news.index #contents > .inner{
  padding: 0 15px;
}
.news.index .newsList li{
  padding-bottom: 45px;
  border-bottom: 1px solid #000;
}
.news.index .newsList > li + li{
  margin-top: 45px;
}
.news.index .newsList li a .data{
  width: 100%;
  font-size: 0.12rem;
  letter-spacing: 0.1em;
	margin-bottom: 2.5em;
}
.news.index .newsList li a h3{
  width: calc(100% - 150px);
  font-size: 0.20rem;
  letter-spacing: 0.15em;
  line-height: calc(28/16);
  margin-right: auto;
}
.news.index .newsList li a .bt_more{
  width: 110px;
  display: block;
  font-size: 0.11rem;
  letter-spacing: 0.1em;
  padding: 1em;
  border: 1px solid #000;
  text-align: center;
}
.news.index .pnav{
  margin-top: 40px;
}
.news.index section h2 .jp{
	border-left: 1px solid #000;
}

/* news post
=============================*/
.news.post .titArea{
	margin: 0 15px 50px;
}
.news.post .titArea .data{
  font-size: 0.13rem;
  letter-spacing: 0.1em;
}
.news.post .titArea h2{
  font-size: 0.29rem;
  letter-spacing: 0.2em;
	line-height: calc(47/29);
	margin-top: 0.5em;
}

.news.post .pnav{
  margin-top: 40px;
}

/* news post 記事全体：幅の制限と中央寄せ
============================== */
.news.post #main .titArea,
.news.post #contents {
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}

/* news post section
============================== */
.news.post .postContents .txtBloc > *{
	margin-top: 1.8em;
	line-height: 1.8em;
	border-radius: 16px;
}

/* news post 記事タイトルの h1 対応
============================== */
.news.post #main .titArea .txtArea .date-flex-area{
	grid-area: 2 / 1 / 3 / 3;
	justify-content: flex-end;
}

/*=============================
 about
=============================*/
.about #main{margin-bottom: 90px;}
.about #main .noiseArea .ph{
  aspect-ratio: 723/482;
  width: calc((723/1280)*100%);
  max-width: calc(723px * (1440/1280));
  height: auto;
  margin-left: auto;
}
/* .about #main .noiseArea .noiseLines {width: max(calc(100% - (((723*0.4)/1280)*100%)),calc(100% - ((723px*0.4) * (1440/1280))));} */
.about #main .noiseArea .noiseLines {width: max(calc(100% - ((723/1280)*100%)),calc(100% - (723px * (1440/1280))));}




.about section{
	padding: 0 15px;
}
.about section + section{
	margin-top: 100px;
}

.about section:not(#bloc01) > .inner > *{order:3;}
.about section:not(#bloc01) > .inner > h2{order:1;}
.about section:not(#bloc01) > .inner > .bt_view{order:2;}

.about section:not(#bloc01) h2 {
	width: calc(100% - 200px);
	margin-right: auto;
}
.about section:not(#bloc01) h2 .fen_sb{
	font-size: 0.3rem;
	letter-spacing: 0.1em;
	margin-right: 1em;
}
.about section:not(#bloc01) h2 .jp{
	display: block;
	font-size: 0.18rem;
	letter-spacing: 0.1em;
	border-left: 1px solid #000;
	padding: 0.35em 0 0.5em 1.5em;
}
.about section#innov .postListBox{margin-right: 0;margin-left: 0;}
.about section#incb .postListBox{margin-top: 40px;margin-right: 0;margin-left: 0;}




.about #bloc01 .logo{
	aspect-ratio: 470/86;
	width: 470px;
}
.about #bloc01 .txt01{
	font-size: 0.2rem;
	letter-spacing: 0.2em;
	line-height: calc(39/20);
	margin-top: 50px;
}
.about #bloc01 .txt01 .fm{
	font-size: calc((16/20) * 100%);
}

.about #bloc01 .bgArea{
  background: #F2F2F2;
	padding: 70px 30px 30px;
	margin-top: 50px;
}
.about #bloc01 .zuArea{
	width: 100%;
  max-width: 990px;
	margin-left: auto;
	margin-right: auto;
}
.about #bloc01 .zuArea .zu01{
	position: relative;
	min-height: 335px;
}
.about #bloc01 .zuArea .zu01::before,
.about #bloc01 .zuArea .zu01::after{
	content: '';
	display: block;
	width: calc((321/990)*100%);
	height: calc(100% - 30px);
	background: url(../img/about/about_bloc01_arrowBg.svg) no-repeat center center/100% 100%;
	position: absolute;
}
.about #bloc01 .zuArea .zu01::before{
	top:15px;
	left:0;
}
.about #bloc01 .zuArea .zu01::after{
	top:15px;
	right: 0;
	transform: rotate(180deg);
}
.about #bloc01 .zuArea .zu01 .zuTxt{
	font-size: 0.15rem;
	letter-spacing: 0.2em;
	line-height: calc(22/15);
	text-align: center;
}
.about #bloc01 .zuArea .zu01 .zuTxt01{margin-bottom: auto;}
.about #bloc01 .zuArea .zu01 ul{
	margin: 25px 0;
	background: url(../img/about/about_bloc01_pic01.svg) no-repeat center center/contain;
	column-gap: 90px;
}
.about #bloc01 .zuArea .zu01 .zuTxt02{margin-top: auto;}
.about #bloc01 .zuArea .zu01 ul li{width: calc(50% - 45px);}
.about #bloc01 .zuArea .zu01 ul li:first-child{margin-right: auto;padding-left: 35px;}
.about #bloc01 .zuArea .zu01 ul li:last-child {padding-right: 35px;}
.about #bloc01 .zuArea .zu01 ul li:first-child .fen_b{order: 2;}
.about #bloc01 .zuArea .zu01 ul li .fen_b{
	font-size: 0.2rem;
	letter-spacing: 0.1em;
	text-align: center;
	width: 50%;
}
.about #bloc01 .zuArea .zu01 ul li .jp{
	font-size: 0.14rem;
	letter-spacing: 0.2em;
	line-height: calc(22/14);
	text-align: center;
	width: 50%;
}
.about #bloc01 .zuArea .arrow {
	height: 20px;
	border: 1px solid #000;
	border-top: none;
	position: relative;
	margin-top: 15px;
}
.about #bloc01 .zuArea .arrow img{
	width: 11px;
	height: auto;
	position: relative;
	top:100%;
	left:calc(50% - 5px);
}
.about #bloc01 .zuArea .zuTxt03{
	margin-top: 75px;
}
.about #bloc01 .zuArea .zuTxt03 .fen_b{
	font-size: 0.28rem;
	letter-spacing: 0.1em;
	margin-right: 1em;
}
.about #bloc01 .zuArea .zuTxt03 .jp{
	font-size: 0.19rem;
	letter-spacing: 0.1em;
	text-decoration: underline;
}


.about #mk3 {margin-top: 120px;}
.about #mk3 h2{margin-bottom: 65px;}
.about #mk3 > .inner > .logo{order:4;}
.about #mk3 > .inner > .txtArea{order:3;}
.about #mk3 .txtArea{
	width: calc(100% - ((321/1250)*100%));
	margin-right: auto;
	padding-right: 5%;
}
.about #mk3 .txtArea h3{
	font-size: 0.25rem;
	letter-spacing: 0.1em;
	text-decoration: underline;
}
.about #mk3 .txtArea .txt{
	font-size: 0.17rem;
	letter-spacing: 0.1em;
	line-height: calc(33/17);
	margin-top: 1em;
}
.about #mk3 .logo{
	aspect-ratio: 321/77;
	width: calc((321/1250)*100%);
}


.about #mvv .mvvList{
	margin-top: 80px;
}
.about #mvv .mvvList li + li{
	border-top: 1px solid rgba(0,0,0,0.2);
	margin-top: 25px;
	padding-top: 25px;
}
.about #mvv .mvvList li > * + *{border-left: 1px solid #000;}
.about #mvv .mvvList li h3{width: max(calc((180/1250)*100%), 180px);}
.about #mvv .mvvList li h4{
	width: max(calc((564/1250)*100%), calc(100% - 180px - ((564/1250)*100%)));
	font-size: 0.18rem;
	letter-spacing: 0.2em;
	line-height: calc(36/17);
	padding: 0 15px;
}

.about #mvv .mvvList li h3 .fen_sb{
	font-size: 0.24rem;
	letter-spacing: 0.1em;
}
.about #mvv .mvvList li h3 .jp{
	font-size: 0.13rem;
	letter-spacing: 0.1em;
	margin-top: 0.5em;
}

.about #mvv .mvvList li h4 span{
	width: 100%;
	max-width: 400px;
	margin-left: auto;
	margin-right: auto;
}
.about #mvv .mvvList li .txt{
	width: max(calc((496/1250)*100%), calc(100% - 180px - ((496/1250)*100%)));
	font-size: 0.14rem;
	letter-spacing: 0.2em;
	line-height: calc(27/14);
	padding-left: calc((40/1250)*100%);
}

/* about 記事全体：幅の制限と中央寄せ
============================== */
.about #main .titArea,
.about #contents {
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}

/* about section
============================== */
.about section > .inner .txtBloc > *{
	margin-top: 1.8em;
	line-height: 1.8em;
	border-radius: 16px;
}

/*=============================
 sol
=============================*/
/*sol index
=============================*/
.sol.index #contents{padding-top: 50px;}
.sol.index section + section{margin-top: 160px;}

.sol.index section h2 {margin: 0 15px;}
.sol.index section h2 .fen_sb{
	font-size: 0.35rem;
	letter-spacing: 0.1em;
	margin-right: 1em;
}
.sol.index section h2 .jp{
	display: block;
	font-size: 0.17rem;
	letter-spacing: 0.1em;
	border-left: 1px solid #000;
	padding: 0.35em 0 0.5em 1.5em;
}

.sol.index section .postList{
	margin-top: 45px;
}
.sol.index section .postList > li + li{
	margin-top: 55px;
}
.sol.index section .postList li .txtArea{
	margin: 0 15px;
	padding-top: 50px;
	border-top: 1px solid rgba(0,0,0,0.2);
}
/* .sol.index section .postList li .txtArea > *{border: 1px solid #000;} */
.sol.index section .postList li .txtArea > h3 {width: max(calc((360/1250)*100%), 360px); margin-right: auto;}
.sol.index section .postList li .txtArea > div{width: min(calc((265/1250)*100%), calc(100% - 360px - ((265/1250)*100%)));}

.sol.index section .postList li .txtArea > h3 span{display: block;}
.sol.index section .postList li .txtArea > h3 .fen_b{
	font-size: 0.24rem;
	letter-spacing: 0.1em;
	line-height: 1.5;
}
.sol.index section .postList li .txtArea > h3 .jp{
	font-size: 0.18rem;
	letter-spacing: 0.1em;
	line-height: 1.5;
	margin-top: 0.5em;
}
.sol.index section .postList li .txtArea > h4{
	width: min(calc((440/1250)*100%), calc(100% - 360px - ((440/1250)*100%)));
	margin-right: auto;
	font-size: 0.12rem;
	letter-spacing: 0.1em;
	line-height: calc(24/12);
}
.sol.index section .postList li .txtArea dl{
	width: fit-content;
	margin-left: auto;
	grid-template-columns: max-content 1fr;
	font-size: 0.1rem;
	letter-spacing: 0.1em;
	line-height: calc(17/10);
	margin-bottom: 35px;
}
.sol.index section .postList li .txtArea .bt_more{
	margin-left: auto;
}
.sol.index section .postList li .noiseArea{margin-top: 45px;}
.sol.index section .postList li .noiseArea .ph{
  aspect-ratio: 504/281;
  width: calc((504/1280)*100%);
  max-width: calc(504px * (1440/1280));
  height: auto;
  margin-left: auto;
}
/* .sol.index section .postList li .noiseArea .noiseLines {width: max(calc(100% - (((504*0.65)/1280)*100%)),calc(100% - ((504px*0.65) * (1440/1280))));} */
.sol.index section .postList li .noiseArea .noiseLines {width: max(calc(100% - ((504/1280)*100%)),calc(100% - (504px * (1440/1280))));}




/*sol post
=============================*/
.sol.post #main .noiseArea{
	aspect-ratio: 1280/90;
	width: 100%; 
	max-height: 90px;
}
.sol.post #main .titArea{
  grid-template-columns: 1fr auto min(calc((678/1280)*100%), calc(678px * (1440/1280)));
  grid-column-gap: 30px;
	margin-top: 75px;
}

/* .sol.post #main .titArea > *{height: fit-content; border: 1px solid #000;} */
.sol.post #main .titArea .grid01 {grid-area: 1 / 1 / 2 / 2; padding-left: 15px;}
.sol.post #main .titArea .grid02 {
	grid-area: 1 / 3 / 3 / 4;
  aspect-ratio: 678/475;
  max-width: calc(678px * (1440/1280));
  max-height: calc(475px * (1440/1280));
  align-self: start; /* 行高にストレッチされないよう固定 */
}
.sol.post #main .titArea .grid03 {grid-area: 1 / 2 / 2 / 3;}
.sol.post #main .titArea .grid04 {grid-area: 2 / 1 / 3 / 3;}
.sol.post #main .titArea h2 span{display: inline-block;}
.sol.post #main .titArea h2 .fen_b{
	font-size: 0.36rem;
	letter-spacing: 0.1em;
	line-height: calc(45/36);
}
.sol.post #main .titArea h2 .jp{
	font-size: 0.21rem;
	line-height: 1.5;
	letter-spacing: 0.1em;
	margin-top: 0.5em;
}
.sol.post #main .titArea .phColor{
	width: fit-content;
	margin-left: auto;
}
.sol.post #main .titArea .phColor li{
  width: 10px;
  height: 10px;
}
.sol.post #main .titArea .phColor li:nth-child(n+2){margin-top: 10px;}

.sol.post #main .titArea .txt01{
	font-size: 0.15rem;
  letter-spacing: 0.1em;
	line-height: calc(30/15);
	margin-top: auto;
}



.sol.post .noiseArea01{
	aspect-ratio: 1280/23;
	width: 100%;
	max-height: calc(23px * (1440/1280));
	margin-top: 100px;
}
.sol.post .noiseArea02{
	aspect-ratio: 1280/46;
	width: 100%;
	max-height: calc(46px * (1440/1280));
	margin-top: 100px;
}


.sol.post .numList{
	margin:70px 15px 0;
}
.sol.post .numList > li{
	border-top: 1px solid rgba(0,0,0,0.2);
	padding-top: 40px;
}
.sol.post .numList > li + li{
	margin-top: 70px;
}
.sol.post .numList > li h4 .num{
	font-size: 0.19rem;
  letter-spacing: 0.1em;
	border-right: 1px solid #707070;
	padding: 0.4em 20px 0.35em 0;
	margin-right: 20px;
}
.sol.post .numList > li h4 .jp{
	font-size: 0.24rem;
  letter-spacing: 0.2em;
	line-height: calc(39/24);
	margin-top: -0.25em;
}
.sol.post .numList > li .txt01{
	font-size: 0.16rem;
  letter-spacing: 0.2em;
	line-height: calc(37/16);
	margin-top: 1em;
}
.sol.post .numList > li .list{
	margin-top: 45px;
}
.sol.post .numList > li .list li{
	width: 50%;
	position: relative;
}
.sol.post .numList > li .list li + li{
	border-left: 1px solid rgba(0,0,0,0.2);
}
.sol.post .numList > li .list li .inner{
	width: calc((350/416)*100%);
	max-width: calc(350px * (1440/1280));
}
/* 基本はセンター寄せ（= 2個のときは両方センター） */
.sol.post .numList > li .list > li .inner{
  margin-left: auto;
  margin-right: auto;
}


/* 子が2つとき*/
/* .sol.post .numList > li .list:has(> li:last-child:nth-child(2)) > li + li{border-left: 1px solid rgba(0,0,0,0.2);} */

/* 子が3つのとき：先頭は左寄せ、末尾は右寄せ（中はセンターのまま） */
/* .sol.post .numList > li .list:has(> li:last-child:nth-child(3)) > li:nth-child(2)::before{
	content: '';
	width: calc(100% + calc((33/416)*100%));
	height: 100%;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	border-left: 1px solid rgba(0,0,0,0.2);
	border-right: 1px solid rgba(0,0,0,0.2);
	z-index: -1;
}
@media screen and (min-width:1440px) {
	.sol.post .numList > li .list:has(> li:last-child:nth-child(3)) > li:nth-child(2)::before{
		width: calc(100% + ((100% - (350px * (1440/1280))))/2);
	}
}
.sol.post .numList > li .list:has(> li:last-child:nth-child(3)) > li:first-child > .inner{margin-left: 0;}
.sol.post .numList > li .list:has(> li:last-child:nth-child(3)) > li:last-child > .inner{margin-right: 0;} */


/* 子が4以上のとき*/
.sol.post .numList > li .listouter:has(.list > li:nth-child(4)) {
	overflow: auto;
	width: calc(100% + 30px);
	margin-left: -15px;
	padding-bottom: 30px;
}
.sol.post .numList > li .list:has(> li:nth-child(4)){width: fit-content;}
.sol.post .numList > li .list:has(> li:nth-child(4)) > li{width: calc((416/1250)*100vw);}
.sol.post .numList > li .list:has(> li:nth-child(4)) > li + li{border-left: 1px solid rgba(0,0,0,0.2);}




.sol.post .numList > li .list > li .inner .pic{
  aspect-ratio: 315/251;
	width: 100%;
}
.sol.post .numList > li .list > li .inner h5{
  font-size: 0.18rem;
	letter-spacing: 0.1em;
	line-height: calc(36/18);
	margin-top: 1em;
}
.sol.post .numList > li .list > li .inner .txt02{
  font-size: 0.12rem;
	letter-spacing: 0.1em;
	line-height: calc(20/12);
	margin-top: 1.5em;
}


.sol.post .movie{
	width: min(100%, 1000px);
	margin: 75px auto 0;
	padding: 0 15px;
}
.sol.post .movie iframe{
	aspect-ratio: 16/9;
	width: 100%;
	height: auto;
}



.sol.post .jirei{
	margin: 75px 15px 0;
}
.sol.post .jirei h3{
	font-size: 0.24rem;
	letter-spacing: 0.2em;
	border-bottom: 1px solid rgba(0,0,0,0.2);
	padding-bottom: 1.5em;
}
.sol.post .jirei .list li{
	padding: 50px 0;
	border-bottom: 1px solid rgba(0,0,0,0.2);
}
.sol.post .jirei:not(:has(+ .copr)):not(:has(+ .info)) .list li:last-child{border-bottom: none;}

.sol.post .jirei .list li .ph{
	aspect-ratio: 500/334;
	width: calc((500/1250)*100%);
	max-width: calc(500px * (1440/1280));
	margin-left: auto;
	order: 10;
}
.sol.post .jirei .list li .txtArea{
	width: calc((456/1250)*100%);
}
.sol.post .jirei .list li .txtArea h4{
	font-size: 0.22rem;
	letter-spacing: 0.05em;
	line-height: calc(32/22);
}
.sol.post .jirei .list li .txtArea .txt{
	font-size: 0.14rem;
	letter-spacing: 0.1em;
	line-height: calc(30/14);
	margin-top: 1.5em;
}
.sol.post .jirei .list li .txtArea .bt_more{
	margin-top: 25px;
}



.sol.post .copr{
	margin: 0px 15px;
	padding: 50px 0;
	border-bottom: 1px solid rgba(0,0,0,0.2);
}
.sol.post .copr:not(:has(+ .info)) {border-bottom: none;}
.sol.post .copr h3{
	font-size: 0.22rem;
	letter-spacing: 0.1em;
	line-height: calc(40/22);
	width: calc((456/1250)*100%);
}
.sol.post .copr .txt{
	font-size: 0.14rem;
	letter-spacing: 0.1em;
	line-height: calc(30/14);
	width: calc((500/1250)*100%);
	max-width: calc(500px * (1440/1280));
	margin-left: auto;
}


.sol.post .info{
	margin: 0 15px;
	padding-top: 50px;
	font-size: 0.16rem;
	letter-spacing: 0.1em;
	line-height: calc(30/16);
}
.sol.post .info h3{
	margin-bottom: 1.25em;
}
.sol.post .info a{
  display: inline;
  background-image: linear-gradient(90deg,#000 0%, #000 50%, #CCC 50%,#CCC 100%);
	background-position: 100% 100%;
  background-repeat: no-repeat;
	transition: background-position 0.35s ease;
	padding: 2px 0;
	background-size: 200% 1px;
}
.sol.post .info a:hover{background-position: 0% 100%;}

/* sol post 記事全体：幅の制限と中央寄せ
============================== */
.sol.post #main .titArea,
.sol.post #contents {
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}

/* sol post section
============================== */
.sol.post .numList > li > h4 .num{
	display: none;
}
.sol.post .noiseArea01,
.sol.post .noiseArea02{
	display: none;
}
.sol.post .numList li .inner .txtBloc > *{
	margin-top: 1.8em;
	line-height: 1.8em;
	border-radius: 16px;
}

/*=============================
 pjt
=============================*/
/*pjt index
=============================*/
.pjt.index .pjtList > li + li{margin-top: 90px;}
.pjt.index .pjtList li .noiseArea .ph{
  aspect-ratio: 694/463;
  width: calc((694/1280)*100%);
  max-width: calc(694px * (1440/1280));
  height: auto;
  margin-left: auto;
}
.pjt.index .pjtList li .noiseArea .noiseLines {width: max(calc(100% - ((694/1280)*100%)),calc(100% - (694px * (1440/1280))));}

.pjt.index .pjtList li .detailArea {
	margin-top: 75px;
	padding: 0 15px;
}
.pjt.index .pjtList li .detailArea .txtArea{
	width: calc(100% - 135px);
}
.pjt.index .pjtList li .detailArea .txtArea h3{
	font-size: 0.26rem;
	letter-spacing: 0.1em;
	line-height: calc(34/26);
}
.pjt.index .pjtList li .detailArea .txtArea .txt{
	font-size: 0.16rem;
	letter-spacing: 0.2em;
	line-height: calc(27/16);
	margin-top: 1em;
}



.pjt.index .pjtList li .detailArea .btArea{
	width: 135px;
	margin-left: auto;
}
.pjt.index .pjtList li .detailArea .btArea .bt_more{
  width: fit-content;
  margin-left: auto;
}
.pjt.index .pjtList li .detailArea .btArea .bt_more a{
  display: block;
  font-size: 0.11rem;
  letter-spacing: 0.1em;
  padding: 1em 1.5em;
}

.pjt.index .pjtList li .detailArea .btArea .phColor{
	width: fit-content;
	margin-left: auto;
	margin-top: 45px;
}
.pjt.index .pjtList li .detailArea .btArea .phColor li{
  width: 10px;
  height: 10px;
  margin-left: 10px;
}

.pjt.index .pnav{margin-top: 90px;}
.pjt.index section h2 .jp{
	border-left: 1px solid #000;
}

/*pjt post
=============================*/
.pjt.post #main .noiseArea{
	aspect-ratio: 1280/90;
	width: 100%;
	max-height: 90px;
}
.pjt.post #main .titArea .ph{
	aspect-ratio: 1280/492;
	width: 100%;
}
.pjt.post #main .titArea .txtArea{
	margin: 15px 0 0;
	position: relative;
}

.pjt.post #main .titArea .txtArea .phColor{
	position: absolute;
	top:20px;
	right: 0;
	width: fit-content;
}
.pjt.post #main .titArea .txtArea .phColor li{
  width: 10px;
  height: 10px;
}
.pjt.post #main .titArea .txtArea .phColor li:nth-child(n+2){
  margin-left: 10px;
}
.pjt.post #main .titArea .txtArea h2{
  font-size: 0.36rem;
  letter-spacing: 0.1em;
  line-height: calc(64/33);
	padding-right: 100px;
}
.pjt.post #main .titArea .txt{
	font-size: 0.18rem;
  letter-spacing: 0.1em;
	line-height: calc(33/18);
	margin-top: 1em;
}



.pjt.post section{
	/* margin-top: 100px; */
	margin-bottom: 60px;
}
/* .pjt.post section h2{margin: 0 15px;} */
.pjt.post section h2 .num{
	/* width: 55px;
	font-size: 0.23rem;
	letter-spacing: 0.1em;
	border-right: 1px solid rgba(112,112,112,1);
	line-height: calc(35/23);
	padding: 0.1em 0; */
	display: none;
}
.pjt.post section h2 .jp{
	/* width: calc(100% - 55px); */
	/* padding-left: 1em; */
	font-size: 0.27rem;
	letter-spacing: 0.2em;
	line-height: calc(47/27);
	margin-top: -0.25em;
}
.pjt.post section .noiseArea{
	/* aspect-ratio: 1280/23;
	width: 100%;
	max-height: calc(23px * (1440/1280));
	margin-top: 60px; */
	display: none;
}
.pjt.post section > .inner{
	/* width: max(calc((1000/1280)*100%), 1000px); */
	/* margin: 70px 15px 0; */
	font-size: 0.15rem;
	letter-spacing: 0.2em;
	line-height: calc(37/15);
}
@media screen and (max-width:1030px) {
	/* .pjt.post section > .inner{width: calc(100% - 30px);} */
}
.pjt.post section > .inner .phC{
	margin-top: 75px;
	column-gap: 20px;
	row-gap: 20px;
}
.pjt.post section > .inner > p{
	margin-top: 3em;
}
.pjt.post section > .inner .txtBloc > *{
	margin-top: 1.8em;
	line-height: 1.8em;
	border-radius: 16px;
}

.pjt.post .info{
	margin: 55px 15px 0;
	padding: 55px 0;
	border-top: 1px solid rgba(0,0,0,0.2);
	border-bottom: 1px solid rgba(0,0,0,0.2);
	font-size: 0.13rem;
	letter-spacing: 0.1em;
	line-height: calc(25/13);
}

.pjt.post .pnav{margin-top: 85px;}

/* pjt post 記事全体：幅の制限と中央寄せ
============================== */
.pjt.post #main .titArea,
.pjt.post #contents {
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}

/*=============================
lab
=============================*/
.lab #contents{padding-top: 75px;}
.lab section{
	margin: 0 15px;
}
.lab section + section{
	margin: 80px 15px 0;
	padding-top: 50px;
	border-top: 1px solid rgba(0,0,0,0.2);
}

.lab section.numBloc .txt01{
	font-size: 0.24rem;
	letter-spacing: 0.2em;
	line-height: calc(39/24);
	margin-bottom: 40px;
}
.lab section.numBloc .numBox .logoArea{
	width: calc((570/1250)*100%);
}
.lab section.numBloc .numBox .logoArea h2 .num{
	font-size: 0.19rem;
	letter-spacing: 0.1em;
	margin-right: 1.5em;
	padding-top: 0.1em;
}
.lab section.numBloc .numBox .logoArea h2 .jp{
	font-size: 0.34rem;
	letter-spacing: 0.1em;
	border-left: 1px solid #000;
	padding-left: 1em;
	padding-bottom: 0.15em;
}
.lab section.numBloc .numBox .logoArea h2 .txt{
	width: 100%;
	font-size: 0.17rem;
	letter-spacing: 0.1em;
	margin-top: 1em;
}
.lab section.numBloc .numBox .logoArea .logo{
	width: calc((200/570)*100%);
	height: 100%;
	margin-left: auto;
	margin-right: auto;
}


.lab section.numBloc .numBox .txtPhArea{
	width: calc((680/1250)*100%);
	padding-left: 60px;
	border-left: 1px solid rgba(0,0,0,0.2);
}
.lab section.numBloc .numBox .txtPhArea h3{
	font-size: 0.17rem;
	letter-spacing: 0.1em;
	line-height: calc(28/17);
}
.lab section.numBloc .numBox .txtPhArea .txt{
	font-size: 0.14rem;
	letter-spacing: 0.2em;
	line-height: calc(23/13);
	margin-top: 2em;
}
.lab section.numBloc .numBox .txtPhArea .ph{
	aspect-ratio: 609/407;
	width: 100%;
	margin-top: 25px;
}


.lab section .featBox{
	margin-top: 50px;
	padding-top: 35px;
	border-top: 1px solid rgba(0,0,0,0.2);
}
.lab section .featBox h3{
	font-size: 0.24rem;
	letter-spacing: 0.2em;
	margin-bottom: 40px;
}
.lab section .featBox .featList li{
	width: 50%;
}
/* 子が3つ以上のとき */
.lab section .featBox .featList:has(> li:nth-child(3)) > li:first-child,
.lab section .featBox .featList:has(> li:nth-child(3)) > li:last-child {width: calc((400/1250)*100%);}
.lab section .featBox .featList:has(> li:nth-child(3)) > li:nth-child(2){width: calc((450/1250)*100%); padding: 0 calc((50/1250)*100%);}
.lab section .featBox .featList:has(> li:nth-child(3)) > li:first-child{padding-right: calc((50/1250)*100%);}
.lab section .featBox .featList:has(> li:nth-child(3)) > li:last-child {padding-left: calc((50/1250)*100%);}
.lab section .featBox .featList:has(> li:nth-child(3)) > li + li{border-left: 1px solid rgba(0,0,0,0.2);}
.lab section .featBox .featList li .inner{width: 100%;}

.lab section .featBox .featList li .pic{
	aspect-ratio: 349/233;
	width: 100%;
}
.lab section .featBox .featList li .txt{
	font-size: 0.14rem;
	letter-spacing: 0.1em;
	line-height: calc(23/14);
	margin-top: 1.5em;
}



.lab #mk3 .logo{
	aspect-ratio: 527/127;
	order: 10;
	width: calc((527/1250)*100%);
	max-width: calc(527px * (1440/1280));
	margin-left: auto;
}
.lab #mk3 .txtArea{
	width: calc((506/1250)*100%);
}
.lab #mk3 .txtArea h2{
	font-size: 0.31rem;
	letter-spacing: 0.1em;
	line-height: 1.5;
}
.lab #mk3 .txtArea .txt{
	font-size: 0.18rem;
	letter-spacing: 0.2em;
	line-height: calc(31/16);
	margin-top: 1.5em;
}

.lab #mk3 .ph {
	aspect-ratio: 1250/550;
	width: 100%;
	max-height: calc(550px * (1440/1280));
	margin-top: 40px;
}




.lab #access h2{
	font-size: 0.24rem;
	letter-spacing: 0.2em;
	width: 100%;
	margin-bottom: 60px;
}
.lab #access .txt{
	font-size: 0.18rem;
	letter-spacing: 0.1em;
	line-height: calc(29/18);
	width: fit-content;
	margin-right: auto;
	margin-bottom: 1.5em;
}
.lab #access .pic{
	aspect-ratio: 578/346;
	width: calc((578/1250)*100%);
}
@media screen and (max-width:950px) {
	.lab #access .pic{
		width: 100%;
	}
}




/** mune START **/
.areport #main{margin-top: 120px;}

/*  .about #contents max-width:700px 対策 */
#container.about.index.cmiArchiveCardsPage #contents{
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-top: 0 !important;
}

#container.about.index.cmiArchiveCardsPage .cmiHomeCards--archive{
	width: 100% !important;
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

#container.about.index.cmiArchiveCardsPage .cmiHomeCards__inner{
	width: min(1280px, calc(100% - 64px)) !important;
	max-width: none !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-top: 56px !important;
}

#container.about.index.cmiArchiveCardsPage .cmiArchiveCardsSection{
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* ABOUT固定ページ用の section 指定を一覧では解除 */
#container.about.index.cmiArchiveCardsPage section{
	padding-left: 0 !important;
	padding-right: 0 !important;
}

#container.about.index.cmiArchiveCardsPage section + section{
	margin-top: 0 !important;
}

#container.about.index.cmiArchiveCardsPage section:not(#bloc01) h2{
	width: auto !important;
	margin-right: 0 !important;
}

#container.about.index.cmiArchiveCardsPage .cmiHomeCards__grid--archive,
#container.about.index.cmiArchiveCardsPage .cmiHomeCards__grid--about{
	width: 100% !important;
	max-width: none !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

@media screen and (max-width: 1100px){
	#container.about.index.cmiArchiveCardsPage .cmiHomeCards__grid--archive,
	#container.about.index.cmiArchiveCardsPage .cmiHomeCards__grid--about{
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media screen and (max-width: 767px){
	#container.about.index.cmiArchiveCardsPage .cmiHomeCards__inner{
		width: calc(100% - 32px) !important;
	}

	#container.about.index.cmiArchiveCardsPage .cmiHomeCards__grid--archive,
	#container.about.index.cmiArchiveCardsPage .cmiHomeCards__grid--about{
		grid-template-columns: 1fr !important;
	}
}

/* =============================
   ACTION REPORT single tags
   searchページのタグと同じ白背景タグに統一
   既存レイアウトは維持
============================= */

#container.areport.post #main .titArea .txtArea ul.tagList.cmiSingleTagList{
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 4px !important;

	width: 100% !important;
	margin: 16px 0 0 !important;
	padding: 0 !important;
	list-style: none !important;

	font-size: 12px !important;
	letter-spacing: 0 !important;
	line-height: 1 !important;
}

#container.areport.post #main .titArea .txtArea ul.tagList.cmiSingleTagList > li{
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;

	width: auto !important;
	min-width: 0 !important;
	min-height: 24px !important;

	margin: 0 !important;
	padding: 2px 10px !important;

	border: 1px solid #9e9e9e !important;
	border-radius: 6px !important;
	background: #ffffff !important;
	color: #666666 !important;

	font-family: "Noto Sans JP", "Noto Sans", sans-serif !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	line-height: 1.15 !important;
	letter-spacing: 0 !important;

	white-space: nowrap !important;
	box-sizing: border-box !important;
}

#container.areport.post #main .titArea .txtArea ul.tagList.cmiSingleTagList > li > a{
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;

	margin: 0 !important;
	padding: 0 !important;

	background: none !important;
	background-image: none !important;
	border: 0 !important;
	color: inherit !important;
	text-decoration: none !important;

	font-family: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	line-height: inherit !important;
	letter-spacing: inherit !important;
}

#container.areport.post #main .titArea .txtArea ul.tagList.cmiSingleTagList > li > a::before,
#container.areport.post #main .titArea .txtArea ul.tagList.cmiSingleTagList > li > a::after{
	content: none !important;
	display: none !important;
}
/** mune END **/

/* =============================
   custom-link-card
   archiveカードに合わせた白背景・グレー枠スタイル
   外側div、内側aタグ構造
============================= */
div.custom-link-card {
	background: #ffffff;
	border: 1px solid #dddddd;
	border-radius: 10px;
	margin: 1.5em 0;
	overflow: hidden;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}
div.custom-link-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
}
div.custom-link-card > a {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 1.25em;
	padding: 0.75em 1em !important;
	text-decoration: none !important;
	color: inherit !important;
	background: none !important;
	background-image: none !important;
	background-size: auto !important;
	background-position: 0 0 !important;
}
div.custom-link-card > a:hover {
	background-position: 0 0 !important;
	opacity: 1 !important;
}
.custom-link-card .card-content {
	flex: 1;
	min-width: 0;
}
.custom-link-card .card-title {
	font-size: 0.95em;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.05em;
	margin: 0 0 0.4em;
}
.custom-link-card .card-domain {
	font-size: 0.75em;
	color: #888;
	word-break: break-all;
	line-height: 1.4;
	letter-spacing: 0;
}
.custom-link-card .card-thumbnail {
	flex-shrink: 0;
	width: 140px;
	height: auto;
	overflow: hidden;
}
.custom-link-card .card-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
	border-radius: 6px;
}

/* ステータスバッジ（クラスのみで3パターン切替） */
div.custom-link-card.is-related,
div.custom-link-card.is-coming-soon,
div.custom-link-card.is-external {
	position: relative;
	padding-top: 26px;
}
div.custom-link-card.is-related::before,
div.custom-link-card.is-coming-soon::before,
div.custom-link-card.is-external::before {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	font-size: 0.65em;
	font-weight: 700;
	letter-spacing: 0.1em;
	padding: 3px 12px;
	line-height: 1.6;
	color: #000000;
	background: #F2F2F2;
}
div.custom-link-card.is-related::before {
	content: "関連記事";
}
div.custom-link-card.is-coming-soon::before {
	content: "近日公開";
}
div.custom-link-card.is-external::before {
	content: "外部サイト";
}
/* 近日公開：グレー表示＋クリック不可 */
div.custom-link-card.is-coming-soon {
	opacity: 0.55;
	filter: grayscale(40%);
}
div.custom-link-card.is-coming-soon:hover {
	transform: none;
	box-shadow: none;
}
div.custom-link-card.is-coming-soon > a {
	pointer-events: none;
	cursor: default;
}

/* =============================
   p-next-action（ネクストアクション）
   全記事カテゴリ共通
   外部リンクカード（custom-link-card）と同じ見た目：
   __box は白背景＋枠線、__title だけグレー帯、__note は外側（div内）
============================= */
.areport.post .p-next-action,
.news.post .p-next-action,
.about .p-next-action,
.sol.post .p-next-action,
.pjt.post .p-next-action {
	margin: 7em 0 4em !important;
}
/* 白背景ボックス（外部リンクカードと同じ枠・角丸） */
.areport.post .p-next-action__box,
.news.post .p-next-action__box,
.about .p-next-action__box,
.sol.post .p-next-action__box,
.pjt.post .p-next-action__box {
	background: #fff;
	border: 1px solid #dddddd;
	border-radius: 10px;
	overflow: hidden;
	letter-spacing: 0.05em;
}
/* タイトル（外部リンクの「外部サイト」バッジと同じ文字スタイル＋グレー帯） */
.areport.post .p-next-action__title,
.news.post .p-next-action__title,
.about .p-next-action__title,
.sol.post .p-next-action__title,
.pjt.post .p-next-action__title {
	background: #F2F2F2;
	font-size: 0.65em;
	font-weight: 700;
	letter-spacing: 0.1em;
	margin: 0;
	padding: 0 1.5em;
	border: none;
}
/* リスト（本文よりさらに小さめ） */
.areport.post .p-next-action__list,
.news.post .p-next-action__list,
.about .p-next-action__list,
.sol.post .p-next-action__list,
.pjt.post .p-next-action__list {
	margin: 1em 1.5em;
	padding: 0 0 1em 1.4em;
	list-style: disc;
	font-size: 0.8em;
	border-bottom: 1px solid #dddddd;
}
.areport.post .p-next-action__list li,
.news.post .p-next-action__list li,
.about .p-next-action__list li,
.sol.post .p-next-action__list li,
.pjt.post .p-next-action__list li {
	padding: 0.25em 0;
	line-height: 1.6;
}
/* リンク行（本文よりさらに小さめ） */
.areport.post .p-next-action__link,
.news.post .p-next-action__link,
.about .p-next-action__link,
.sol.post .p-next-action__link,
.pjt.post .p-next-action__link {
	margin: 0 1.5em 1.25em;
	font-size: 0.8em;
}
.areport.post .p-next-action__link a,
.news.post .p-next-action__link a,
.about .p-next-action__link a,
.sol.post .p-next-action__link a,
.pjt.post .p-next-action__link a {
	font-weight: 700;
	color: #000;
	text-decoration: none;
}
.areport.post .p-next-action__link a:hover,
.news.post .p-next-action__link a:hover,
.about .p-next-action__link a:hover,
.sol.post .p-next-action__link a:hover,
.pjt.post .p-next-action__link a:hover {
	opacity: 0.7;
}
/* グレーボックス外の補足テキスト（本文よりさらに小さめ） */
.areport.post .p-next-action__note,
.news.post .p-next-action__note,
.about .p-next-action__note,
.sol.post .p-next-action__note,
.pjt.post .p-next-action__note {
	margin: 1em 0 0;
	letter-spacing: 0.2em;
	font-size: 0.8em;
}
