@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.17rem;
	letter-spacing: 0.1em;
}

#container{padding-top: 30px;}
#container.areport.post,
#container.news.post,
#container.sol.post,
#container.pjt.post{padding-top: 10px;}

/*actList
=============================*/
.actList > li + li{margin-top: 50px;}
.actList li .noiseArea .ph{
  aspect-ratio: 256/205;
  width: calc((256/390)*100%);
  margin-left: auto;
}
/* .actList li .noiseArea .noiseLines {width: calc(100% - (((256*0.5)/390)*100%));} */
.actList li .noiseArea .noiseLines {width: calc(100% - ((256/390)*100%));}


.actList li .detailArea {
  margin-top: 25px;
  padding: 0 10px;
}
/* .areport.index .actList .detailArea > *{border: 1px solid #000;} */
.actList li .detailArea > *{width: 100%;}
.actList li .detailArea .grid01 {order: 1;}
.actList li .detailArea .grid02 {order: 5;}
.actList li .detailArea .grid03 {order: 2;}
.actList li .detailArea .grid04 {order: 3;}
.actList li .detailArea .grid05 {order: 4;}
.actList li .detailArea .grid06 {order: 6; margin-top: 25px;}

.actList .detailArea .data{
  width: fit-content;
  font-size: 0.1rem;
  letter-spacing: 0.1em;
  margin-right: auto;
}
.actList .detailArea .tagList{
  display: flex;
  flex-wrap: wrap;
  font-size: 0.13rem;
  letter-spacing: 0.1em;
  margin-top: 1.25em;
  column-gap: 1em;
  row-gap: 0.5em;
}
.actList .detailArea .likeBt{width: fit-content;}
.actList .detailArea .likeBt a{
  font-size: 0.10rem;
  letter-spacing: 0.1em;
  text-decoration: underline;
  color: inherit;
}

.actList .detailArea h3{
  font-size: 0.18rem;
  letter-spacing: 0.2em;
  line-height: calc(31/18);
  margin-top: 0.5em;
}
.areport.index #main .actList li .detailArea h3{
  font-size: 0.20rem;
  letter-spacing: 0.2em;
}
.areport.index #main .actList li .detailArea .txt{
  font-size: 0.12rem;
  letter-spacing: 0.1em;
  line-height: calc(21/12);
  margin-top: 1em;
}
.actList li .detailArea .phColor{
  width: fit-content;
}
.actList li .detailArea .phColor li{
  width: 10px;
  height: 10px;
  margin-right: 10px;
}
.actList li .detailArea .bt_more{
  margin-left: auto;
}



.pnav{
  padding: 0 10px;
	font-size: 0.15rem;
	letter-spacing: 0.1em;
	margin-bottom: 20px;
}
.pnav .wpnav{width: 100%;}
.pnav .wpnav .wp-pagenavi{
	display: flex;
	width: 100%;
}
.pnav .wpnav .wp-pagenavi > *{
	margin-right: 0.5em;
	padding: 2px 0;
}
.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: 100%;
	position: absolute;
	top:0;
	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:active{
	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.14rem;
	line-height: calc(32/14);
	letter-spacing: 0.1em;
	padding: 0 10px;
}
.postContents img{
	max-width: 100% !important;
	height: auto !important;
}
.postContents > *{
	margin-top: 35px;
}
.postContents > .phBox > div .ph{
	width: 100%;
}

.postContents > .phBox > div .ph + .ph{
	margin-top: 15px;
}

.postContents figure{margin-top: 1.5em;}
.postContents > *:first-child{
	margin-top: 0;
}
.postContents h1{
	font-size: 0.28rem;
	margin-top: 3em;
}
.postContents h2{
	font-size: 0.25rem;
	margin-top: 3em;
}
.postContents h3{
	font-size: 0.19rem;
	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.28rem;
	margin-top: 3em;
	font-weight: 800;
}
.txtBloc h2{
	font-size: 0.25rem;
	margin-top: 0;
	margin-bottom: 0.75em;
	font-weight: 800;
	line-height: 1.3em;
}
.txtBloc h3{
	font-size: 0.19rem;
	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,
.txtBloc a:active{
	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:active{
	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:active{
	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:active,
.postContents a.wp-block-button__link:active{
	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.1em;
	line-height: calc(32/14);
}
.info-table th,
.info-table td{
	text-align: left;
	padding: 0 0.75em;
	border: none;
	vertical-align: top;
}
.info-table th{
	width: 25%;
}
.info-table [rowspan]{
	padding-top: 0.1em;
	padding-bottom: 0.1em;
}

/* bg-box（テーブルの背景ラッパー・再利用可能クラス） */
.bg-box{
	background: #F2F2F2;
	padding: 1.25em 1.25em;
	margin-top: 3em !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: 35px 0 0;
}
.postListBox h3{
	font-size: 0.16rem;
	letter-spacing: 0.1em;
	margin-bottom: 25px;
}
.postListBox + .postListBox h3{
	border-top: 1px solid rgba(0,0,0,0.2);
	padding-top:25px;
}
.postListBox .postBox{
	overflow: auto;
	padding-left: 10px;
}
.postListBox .postBox .postList{
	width: fit-content;
	column-gap: 10px;
	padding-right: 10px;
}
.postListBox .postBox .postList li{width: calc(340px * (350/390));}
.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 index
=============================*/
.areport.index #main{margin-bottom: 70px;}

.areport.index .tagArea{
	margin: 0 10px 100px;
	padding: 20px 20px;
	border: 1px solid #000;
}

.areport.index .tagArea h3{
	font-size: 0.18rem;
	letter-spacing: 0.1em;
	padding-bottom: 0.75em;
	border-bottom: 1px solid #000;
	margin-bottom: 1em;
}
.areport.index .tagArea .tagList{
	font-size: 0.14rem;
	letter-spacing: 0.1em;
	gap: 0.5em 1em;
}

.areport.index .pnav{margin-top: 100px;}
.areport.index section h2 .jp{
	border-left: none;
}


/*areport post
=============================*/
.areport.post #main .noiseArea{
	aspect-ratio: 390/162;
	width: 100%;
	max-height: 60px;
}

/* .areport.post #main .titArea{margin-top: 75px;} */

.areport.post #main .titArea .ph{
	aspect-ratio: 390/205;
	width: 100%;
	border-radius: 8px;
}
.areport.post #main .titArea .txtArea{
	margin: 25px 10px 0;
	position: relative;
	column-gap: 20px;
}

.areport.post #main .titArea .txtArea .data{
  font-size: 0.1rem;
  letter-spacing: 0.1em;
}
.areport.post #main .titArea .txtArea .phColor{
	width: fit-content;
	position: absolute;
	top:0;
	right: 0;
}
.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{
	font-size: 0.28rem;
	letter-spacing: 0.1em;
	line-height: 1.2em;
}
.areport.post #main .titArea .txtArea h2{
  font-size: 0.25rem;
  letter-spacing: 0.1em;
  /* line-height: calc(35/20); */
  line-height: 1.2em;
	padding-right: 1.5em;
	margin-top: 0.5em;
}
.date-flex-area{
	display: flex;
	gap: 20px;
	align-items: flex-start;
	justify-content: flex-end;
	flex-wrap: wrap;
	margin-top: 20px;
	width: 100%;
}
.areport.post #main .titArea .txtArea .tagList{
	flex: 1;
  font-size: 0.12rem;
  letter-spacing: 0.1em;
	column-gap: 1em;
	row-gap: 0.5em;
	margin-top: 25px;
}
.areport.post #main .titArea .txtArea .likeBt{
	width: 100%;
	text-align: right;
}
.areport.post #main .titArea .txtArea .likeBt a{
  font-size: 0.13rem;
  letter-spacing: 0.1em;
  text-decoration: underline;
  color: inherit;
}

.areport.post #main .txt01{
	margin: 30px 10px 0 10px;
  font-size: 0.13rem;
  letter-spacing: 0.1em;
	line-height: calc(24/13);
	padding: 20px;
	border: 1px solid #000;
}



.areport.post section{
	/* margin-top: 55px; */
	margin-bottom: 35px;
}
/* .areport.post section h2{margin: 0;} */
.areport.post section h2 .num{
	/* width: 35px;
	font-size: 0.2rem;
	letter-spacing: 0.1em;
	border-right: 1px solid rgba(112,112,112,1);
	line-height: calc(35/20); */
	display: none;
}
.areport.post section h2 .jp{
	/* width: calc(100% - 35px);
	padding-left: 1em; */
	font-size: 0.18rem;
	letter-spacing: 0.15em;
	line-height: calc(36/18);
	margin-top: -0.2em;
}
.areport.post section .noiseArea{
	/* aspect-ratio: 390/27;
	width: 100%;
	margin-top: 35px; */
	display: none;
}
.areport.post section > .inner{
	margin: 0 10px 0;
	font-size: 0.14rem;
	letter-spacing: 0.1em;
	line-height: calc(32/14);
}
.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 .picList li {
	overflow: hidden;
}

.areport.post section > .inner .picBloc .picList li + li{
	margin-top: 20px;
}

.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{margin-top: 50px;}
.areport.post section > .inner .movie iframe{
	aspect-ratio: 16/9;
	width: 100%;
	height: auto;
}

.areport.post #contents > .likeBt{
	margin-top: 50px;
	padding: 0 15px;
}
.areport.post #contents > .likeBt .icon{
	border: 1px solid #000;
	font-size: 0.17rem;
	letter-spacing: 0.1em;
	padding: 0.25em 0.5em 0.1em 0.5em;
	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: 80px;}




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

/* 登場人物・吹き出し（全ページ共通）(SP用)
============================== */
.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: 25px 20px;
    margin-top: 40px;
}
.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.16rem;
    letter-spacing: 0.1em;
    font-weight: bold;
    margin: 0 0 20px 0;
    padding-bottom: 1em;
    border-bottom: 1px solid rgba(0,0,0,0.2);
    text-align: center;
}
.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: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
}
.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{
    order: 1;
}
.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{
    order: 2;
    font-size: 0.14rem;
    letter-spacing: 0.1em;
    font-weight: bold;
    margin: 0 0 15px 0;
}
.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{
    order: 3;
    width: 100%;
}
.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.14rem;
    letter-spacing: 0.1em;
    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-chat,
.news.post .p-chat,
.about .p-chat,
.sol.post .p-chat,
.pjt.post .p-chat{
    margin-top: 40px;
}

.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.16rem;
    letter-spacing: 0.1em;
    font-weight: bold;
    margin-bottom: 25px;
    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: 25px; 
}

.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: 15px;
}

.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% - 65px);
    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: 20px 20px 5px 20px;
    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: 15px;
    left: -10px;
    border-style: solid;
    border-width: 8px 12px 8px 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.14rem;
    letter-spacing: 0.1em;
    line-height: calc(32/14);
    margin-bottom: 1.25em !important;
}

/* ==============================
  それぞれの固有サイズ設定 (SP用)
============================== */
/* 登場人物紹介のアイコンサイズ */
.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{
    aspect-ratio: 1/1;
    font-size: 0.28rem;
}

/* 吹き出しのアイコンサイズ */
.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: 50px;
    aspect-ratio: 1/1;
    font-size: 0.18rem;
}

/* ==============================
  アイコン共通
============================== */
.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 !important;
    justify-content: center !important;
    align-items: center !important;
    position: relative !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    background-color: var(--gray_e0, #e0e0e0);
    color: #FFF !important;
    font-weight: bold !important;
    box-sizing: border-box !important;
	clip-path: circle(48% at 50% 50%);
}

.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) !important;
    line-height: 1 !important;
	position: absolute;
	top: 47%;
	left: 52%;
	transform: translateY(-50%) translateX(-50%);
}

/* 3. 画像の絶対配置と空画像隠し */
.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 !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    z-index: 2 !important;
    margin: 0 !important;
    transform: none !important;
}
.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 !important;
}

/* 4. アイコンの背景色バリエーション */
.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 !important; }
.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 !important; }
.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 !important; }
.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 !important; }
.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 !important; }
.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 !important; }
.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 !important; }

/* 5. アイコンのサイズを50pxに完全固定 */
/* p-character-intro / p-chat 共通（全ページ）
============================== */
.areport.post .p-character-intro__icon,
.areport.post .p-chat__icon,
.news.post .p-character-intro__icon,
.news.post .p-chat__icon,
.about .p-character-intro__icon,
.about .p-chat__icon,
.sol.post .p-character-intro__icon,
.sol.post .p-chat__icon,
.pjt.post .p-character-intro__icon,
.pjt.post .p-chat__icon {
    width: 50px !important;
    height: 50px !important;
    min-width: 50px !important;
    min-height: 50px !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 {
    margin: 0 auto 10px !important;
}
.areport.post .p-chat__icon,
.news.post .p-chat__icon,
.about .p-chat__icon,
.sol.post .p-chat__icon,
.pjt.post .p-chat__icon {
    margin: 0 !important;
}

/* 6. WordPress自動挿入の不要なタグ（余白）を強制キル */
.areport.post .p-character-intro__item p:empty,
.areport.post .p-chat__figure p,
.news.post .p-character-intro__item p:empty,
.news.post .p-chat__figure p,
.about .p-character-intro__item p:empty,
.about .p-chat__figure p,
.sol.post .p-character-intro__item p:empty,
.sol.post .p-chat__figure p,
.pjt.post .p-character-intro__item p:empty,
.pjt.post .p-chat__figure p {
    margin: 0 !important;
    padding: 0 !important;
    display: none !important;
}
.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 { margin: 0 !important; }
.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 { margin-top: 0 !important; }

/*areport tags
=============================*/
.areport.tags #contents{padding-top: 40px;}
.areport.tags h2 {
	font-size: 0.25rem;
	letter-spacing: 0.1em;
	margin: 0 10px 30px;
	padding-bottom: 25px;
	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 10px;
}
.news.index .newsList li{
  padding-bottom: 20px;
  border-bottom: 1px solid #000;
}
.news.index .newsList > li + li{
  margin-top: 20px;
}
.news.index .newsList li a .data{
  width: 100%;
  font-size: 0.1rem;
  letter-spacing: 0.1em;
	margin-bottom: 1.5em;
}
.news.index .newsList li a h3{
  width: 100%;
  font-size: 0.16rem;
  letter-spacing: 0.15em;
  line-height: calc(28/16);
}
.news.index .newsList li a .bt_more{
  font-size: 0.11rem;
  letter-spacing: 0.1em;
  padding: 1em;
  border: 1px solid #000;
  text-align: center;
	margin-left: auto;
	margin-top: 20px;
}
.news.index .pnav{
  margin-top: 50px;
}
.news.index section h2 .jp{
	border-left: none;
}

/* news post
=============================*/
.news.post .titArea{
	margin: 0 10px 30px;
}
.news.post .titArea .data{
  font-size: 0.1rem;
  letter-spacing: 0.1em;
}
.news.post .titArea h2{
  font-size: 0.18rem;
  letter-spacing: 0.2em;
	line-height: calc(31/18);
	margin-top: 0.75em;
}

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

/* 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;
}

/*=============================
 about
=============================*/
.about #main{margin-bottom: 75px;}
.about #main .noiseArea .ph{
  aspect-ratio: 280/235;
  width: calc((280/390)*100%);
  margin-left: auto;
}
/* .about #main .noiseArea .noiseLines {width: calc(100% - (((280*0.5)/390)*100%));} */
.about #main .noiseArea .noiseLines {width: calc(100% - ((280/390)*100%));}



.about section{
	padding: 0 10px;
}
.about section + section{
	margin-top: 100px;
}
.about section:not(#bloc01) > .inner > .bt_view{
	margin-top: 60px;
	margin-left: auto;
}

.about section:not(#bloc01) h2 span{display: block;}
.about section:not(#bloc01) h2 .fen_sb{
	font-size: 0.25rem;
	letter-spacing: 0.1em;
}
.about section:not(#bloc01) h2 .jp{
	display: block;
	font-size: 0.14rem;
	letter-spacing: 0.1em;
	border-left: none;
	padding: 0;
	margin-top: 1em;
}
.about section#incb .postListBox{
	margin-top: 40px;
}
.about section#innov .postBox,
.about section#incb .postBox{
	width: calc(100% + 20px);
	margin-left: -10px;
}




.about #bloc01 .logo{
	aspect-ratio: 310/57;
	width: 310px;
	margin-left: auto;
}
.about #bloc01 .txt01{
	font-size: 0.15rem;
	letter-spacing: 0.1em;
	line-height: calc(30/15);
	margin-top: 75px;
}
.about #bloc01 .txt01 a{
	font-size: calc((18/15) * 100%);
}

.about #bloc01 .bgArea{
  background: #F2F2F2;
	padding: 35px 10px 50px;
	margin-top: 50px;
}
.about #bloc01 .zuArea .zu01{
	position: relative;
}
.about #bloc01 .zuArea .zu01::before,
.about #bloc01 .zuArea .zu01::after{
	content: '';
	display: block;
	width: calc((90/350)*100%);
	height: calc(100% - 130px);
	background: url(../img/about/sp_about_bloc01_arrowBg.svg) no-repeat center center/100% 100%;
	position: absolute;
}
.about #bloc01 .zuArea .zu01::before{
	top:65px;
	left:0;
}
.about #bloc01 .zuArea .zu01::after{
	top:65px;
	right: 0;
	transform: rotate(180deg);
}
.about #bloc01 .zuArea .zu01 .zuTxt{
	font-size: 0.14rem;
	letter-spacing: 0.2em;
	line-height: calc(22/14);
	text-align: center;
}
.about #bloc01 .zuArea .zu01 .zuTxt01{margin-bottom: 25px;}
.about #bloc01 .zuArea .zu01 ul{
	width: fit-content;
	margin: 0 auto;
	padding: 40px 0;
	background: url(../img/about/about_bloc01_pic01.svg) no-repeat center center/66px auto;
}
.about #bloc01 .zuArea .zu01 .zuTxt02{margin-top: 25px;}

.about #bloc01 .zuArea .zu01 ul li:first-child{margin-bottom: 115px;}
.about #bloc01 .zuArea .zu01 ul li .fen_b{
	font-size: 0.2rem;
	letter-spacing: 0.1em;
	text-align: center;
}
.about #bloc01 .zuArea .zu01 ul li .jp{
	font-size: 0.14rem;
	letter-spacing: 0.2em;
	line-height: calc(22/14);
	text-align: center;
	margin-top: 0.5em;
}
.about #bloc01 .zuArea .arrow {
	height: 20px;
	border: 1px solid #000;
	border-top: none;
	position: relative;
	margin-top: 30px;
}
.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 span{
	display: block;
	text-align: center;
}
.about #bloc01 .zuArea .zuTxt03 .fen_b{
	font-size: 0.28rem;
	letter-spacing: 0.1em;
}
.about #bloc01 .zuArea .zuTxt03 .jp{
	font-size: 0.19rem;
	letter-spacing: 0.1em;
	text-decoration: underline;
}


.about #mk3 {margin-top: 80px;}
.about #mk3 h2{margin-bottom: 50px;}
/* .about #mk3 > .inner > .logo{order:4;}
.about #mk3 > .inner > .txtArea{order:3;} */
.about #mk3 .txtArea h3{
	font-size: 0.21rem;
	letter-spacing: 0.1em;
	text-decoration: underline;
	margin-top: 1.5em;
}
.about #mk3 .txtArea .txt{
	font-size: 0.15rem;
	letter-spacing: 0.1em;
	line-height: calc(30/15);
	margin-top: 2em;
}
.about #mk3 .logo{
	aspect-ratio: 356/86;
	width: calc((356/370)*100%);
	margin-left: auto;
	margin-right: auto;
}


.about #mvv .mvvList{
	margin-top: 45px;
}
.about #mvv .mvvList li + li{
	border-top: 1px solid rgba(0,0,0,0.2);
	margin-top: 45px;
	padding-top: 45px;
}
.about #mvv .mvvList li h3,
.about #mvv .mvvList li h4{text-align: center;}

.about #mvv .mvvList li h3{column-gap: 1em;}
.about #mvv .mvvList li h3 .fen_sb{
	font-size: 0.20rem;
	letter-spacing: 0.1em;
}
.about #mvv .mvvList li h3 .jp{
	font-size: 0.13rem;
	letter-spacing: 0.1em;
	padding-bottom: 0.25em;
}
.about #mvv .mvvList li h4{
	font-size: 0.17rem;
	letter-spacing: 0.1em;
	line-height: calc(32/17);
	margin-top: 1em;
}

.about #mvv .mvvList li .txt{
	font-size: 0.13rem;
	letter-spacing: 0.1em;
	line-height: calc(27/14);
	padding: 0 20px;
	margin-top: 2em;
}

/* 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: 40px;}
.sol.index section + section{margin-top: 50px;}

.sol.index section h2 {margin: 0 10px;}
.sol.index section h2 span{display: block;}
.sol.index section h2 .fen_sb{
	font-size: 0.25rem;
	letter-spacing: 0.1em;
}
.sol.index section h2 .jp{
	display: block;
	font-size: 0.14rem;
	letter-spacing: 0.1em;
	line-height: calc(24/14);
	border-left: none;
	padding: 0;
	margin-top: 0.5em;
}
#container.cmiArchiveCardsPage .cmiArchiveCardsSection > h2.pc_flex.f_ac .jp{
	padding: 0;
}


.sol.index section .postList{
	margin-top: 45px;
	padding: 0 10px;
}
.sol.index section .postList > li{
	padding-top: 35px;
	border-top: 1px solid rgba(0,0,0,0.2);
}
.sol.index section .postList > li + li{
	margin-top: 55px;
}

.sol.index section .postList li .noiseArea{
	width: calc(100% + 20px);
	margin-left: -10px;
	order: 1;
}
.sol.index section .postList li .noiseArea .ph{
  aspect-ratio: 255/205;
  width: calc((255/390)*100%);
  margin-left: auto;
}
/* .sol.index section .postList li .noiseArea .noiseLines {width: calc(100% - (((255*0.65)/390)*100%));} */
.sol.index section .postList li .noiseArea .noiseLines {width: calc(100% - ((255/390)*100%));}

.sol.index section .postList li .txtArea{
	order: 2;
	margin-top: 20px;
}
/* .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 > h4 {width: min(calc((440/1250)*100%), calc(100% - 360px - ((440/1250)*100%)));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.18rem;
	letter-spacing: 0.1em;
	line-height: 1.5;
}
.sol.index section .postList li .txtArea > h3 .jp{
	font-size: 0.14rem;
	letter-spacing: 0.1em;
	line-height: 1.5;
	margin-top: 0.5em;
}
.sol.index section .postList li .txtArea > h4{
	font-size: 0.13rem;
	letter-spacing: 0.1em;
	line-height: calc(25/13);
	margin-top: 1.5em;
}
.sol.index section .postList li .txtArea dl{
	width: fit-content;
	grid-template-columns: max-content 1fr;
	font-size: 0.1rem;
	letter-spacing: 0.1em;
	line-height: calc(17/10);
	margin-top: 2em;
}
.sol.index section .postList li .txtArea .bt_more{
	margin-top: 35px;
	margin-left: auto;
}





/*sol post
=============================*/
.sol.post #main .noiseArea{
	aspect-ratio: 390/65;
	width: 100%; 
}
.sol.post #main .titArea{
	margin-top: 40px;
}
/*row-start / column-start / row-end / column-end*/
/* .sol.post #main .titArea > *{ border: 1px solid #000;} */
.sol.post #main .titArea .grid01 {grid-area: 1 / 1 / 2 / 3; padding-left: 10px;}
.sol.post #main .titArea .grid02 {
	grid-area: 2 / 1 / 3 / 3;
  aspect-ratio: 393/205;
  width: 100%;
	margin-top: 25px;
}
.sol.post #main .titArea .grid03 {grid-area: 3 / 2 / 4 / 3; padding: 0px 10px 0 0px;}
.sol.post #main .titArea .grid04 {grid-area: 3 / 1 / 4 / 2; padding: 0;}

.sol.post #main .titArea h2 span{display: inline-block;}
.sol.post #main .titArea h2 .fen_b{
	font-size: 0.28rem;
	letter-spacing: 0.1em;
	line-height: calc(45/36);
}
.sol.post #main .titArea h2 .jp{
	font-size: 0.16rem;
	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.13rem;
  letter-spacing: 0.1em;
	line-height: calc(30/15);
}



.sol.post .noiseArea01{
	aspect-ratio: 390/20;
	width: 100%;
	margin-top: 100px;
}
.sol.post .noiseArea02{
	aspect-ratio: 390/30;
	width: 100%;
	margin-top: 100px;
}


.sol.post .numList{
	margin: 50px 10px 0;
}
.sol.post .numList > li{
	border-top: 1px solid rgba(0,0,0,0.2);
	padding-top: 45px;
}
.sol.post .numList > li + li{
	margin-top: 45px;
}
.sol.post .numList > li h4 .num{
	width: 35px;
	font-size: 0.2rem;
	letter-spacing: 0.1em;
	border-right: 1px solid rgba(112,112,112,1);
	line-height: calc(35/20);
}
.sol.post .numList > li h4 .jp{
	width: calc(100% - 35px);
	padding-left: 1em;
	font-size: 0.18rem;
	letter-spacing: 0.15em;
	line-height: calc(36/18);
	margin-top: -0.2em;
}



.sol.post .numList > li .txt01{
	font-size: 0.14rem;
  letter-spacing: 0.15em;
	line-height: calc(24/14);
	margin-top: 1em;
}
.sol.post .numList > li .list{
	margin-top: 45px;
	padding: 0 25px;
}
.sol.post .numList > li .list li + li{
	border-top: 1px solid rgba(0,0,0,0.2);
	padding-top: 40px;
	margin-top: 40px;
}
.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.16rem;
	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: 1em;
}


.sol.post .movie{
	margin: 75px 10px 0;
}
.sol.post .movie iframe{
	aspect-ratio: 16/9;
	width: 100%;
	height: auto;
}


.sol.post .jirei{
	margin: 60px 10px 0;
}
.sol.post .jirei h3{
	font-size: 0.21rem;
	letter-spacing: 0.1em;
	border-bottom: 1px solid rgba(0,0,0,0.2);
	padding-bottom: 1.5em;
}
.sol.post .jirei .list li{
	padding: 30px 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: 371/205;
	width: 100%;
}
.sol.post .jirei .list li .txtArea{
	margin-top: 20px;
	
}
.sol.post .jirei .list li .txtArea h4{
	font-size: 0.16rem;
	letter-spacing: 0.05em;
	line-height: calc(32/22);
}
.sol.post .jirei .list li .txtArea .txt{
	font-size: 0.12rem;
	letter-spacing: 0.1em;
	line-height: calc(25/12);
	margin-top: 1em;
	padding-right: 40px;
}
.sol.post .jirei .list li .txtArea .bt_more{
	margin-top: 35px;
	margin-left: auto;
}

.sol.post .copr{
	margin: 0px 10px;
	padding: 30px 0;
	border-bottom: 1px solid rgba(0,0,0,0.2);
}
.sol.post .copr h3{
	font-size: 0.19rem;
	letter-spacing: 0.1em;
	line-height: calc(40/22);
}
.sol.post .copr .txt{
	font-size: 0.12rem;
	letter-spacing: 0.1em;
	line-height: calc(25/12);
	margin-top: 2em;
}

.sol.post .info{
	margin: 0px 10px;
	padding-top: 30px;
	font-size: 0.13rem;
	letter-spacing: 0.1em;
	line-height: calc(29/13);
}
.sol.post .info h3{
	margin-bottom: 0.5em;
}
.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 .postListBox h3{
	margin-left: 10px;
	margin-right: 10px;
}

/* 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: 70px;}
.pjt.index .pjtList li .noiseArea .ph{
  aspect-ratio: 256/205;
  width: calc((256/390)*100%);
  margin-left: auto;
}
.pjt.index .pjtList li .noiseArea .noiseLines {width: calc(100% - ((256/390)*100%));}

.pjt.index .pjtList li .detailArea {
	margin-top: 35px;
	padding: 0 10px;
}
.pjt.index .pjtList li .detailArea .txtArea h3{
	font-size: 0.22rem;
	letter-spacing: 0.1em;
	line-height: calc(34/22);
}
.pjt.index .pjtList li .detailArea .txtArea .txt{
	font-size: 0.14rem;
	letter-spacing: 0.1em;
	line-height: calc(25/14);
	margin-top: 1em;
}



.pjt.index .pjtList li .detailArea .btArea{
	margin-top: 35px;
}
.pjt.index .pjtList li .detailArea .btArea .bt_more{
	order: 2;
}
.pjt.index .pjtList li .detailArea .btArea .phColor{
	order: 1;
	width: fit-content;
	margin-right: auto;
	margin-top: 45px;
}
.pjt.index .pjtList li .detailArea .btArea .phColor li{
  width: 10px;
  height: 10px;
  margin-right: 10px;
}

.pjt.index .pnav{margin-top: 60px;}
.pjt.index section h2 .jp{
	border-left: none;
}

/*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;
	padding: 0 10px;
	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-top: 10px;
}
.pjt.post #main .titArea .txtArea h2{
  font-size: 0.36rem;
  letter-spacing: 0.1em;
  line-height: calc(64/33);
	padding-right: 50px;
}
.pjt.post #main .titArea .txt{
	font-size: 0.18rem;
  letter-spacing: 0.1em;
	line-height: calc(33/18);
	margin-top: 1em;
	padding-right: 50px;
}



.pjt.post section{
	/* margin-top: 100px; */
	margin-bottom: 35px;
}
.pjt.post section h2{margin: 0;}
.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: 0 10px 0;
	font-size: 0.14rem;
	letter-spacing: 0.1em;
	line-height: calc(32/14);
}
@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: 40px;}
.lab section{
	margin: 0 10px;
}
.lab section + section{
	margin: 50px 10px 0;
	padding-top: 35px;
	border-top: 1px solid rgba(0,0,0,0.2);
}

.lab section.numBloc .txt01{
	font-size: 0.18rem;
	letter-spacing: 0.15em;
	line-height: calc(36/18);
	margin-bottom: 50px;
}
.lab section.numBloc .numBox .logoArea h2 .num{
	width: 35px;
	font-size: 0.19rem;
	letter-spacing: 0.1em;
	padding-top: 0.1em;
}
.lab section.numBloc .numBox .logoArea h2 .jp{
	display: block;
	width: calc(100% - 35px);
	font-size: 0.29rem;
	letter-spacing: 0.1em;
	border-left: 1px solid #000;
	padding-left: 0.5em;
	padding-bottom: 0.2em;
}
.lab section.numBloc .numBox .logoArea h2 .txt{
	width: 100%;
	font-size: 0.17rem;
	letter-spacing: 0.1em;
	margin-top: 0.75em;
}
.lab section.numBloc .numBox .logoArea .logo{
	width: calc((160/370)*100%);
	height: 100%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 35px;
}
.lab section.numBloc .numBox .txtPhArea{
	border-top: 1px solid rgba(0,0,0,0.2);
	margin:50px 30px 0;
	padding-top: 45px;
}
.lab section.numBloc .numBox .txtPhArea h3{
	font-size: 0.16rem;
	letter-spacing: 0.1em;
	line-height: calc(28/17);
}
.lab section.numBloc .numBox .txtPhArea .txt{
	font-size: 0.13rem;
	letter-spacing: 0.1em;
	line-height: calc(23/13);
	margin-top: 1.5em;
}
.lab section.numBloc .numBox .txtPhArea .ph{
	aspect-ratio: 315/210;
	width: 100%;
	margin-top: 30px;
}


.lab section .featBox{
	margin: 50px 30px 0;
	padding-top: 35px;
	border-top: 1px solid rgba(0,0,0,0.2);
}
.lab #mk3 .featBox {margin: 50px 0px 0;}

.lab section .featBox h3{
	font-size: 0.27rem;
	letter-spacing: 0.15em;
	margin-bottom: 40px;
}
.lab section .featBox > .inner{
	width: calc(100% + 20px + 60px);
	margin-left: -40px;
	overflow: auto;
	padding-left: 40px;
	margin-top: 40px;
}
.lab #mk3 .featBox > .inner {
	width: calc(100% + 20px);
	margin-left: -10px;
	padding-left: 30px;
}

.lab section .featBox .featList{
	width: fit-content;
	column-gap: 70px;
	padding-right: 40px;
}
.lab #mk3 .featBox .featList{
	padding-right: 30px;
}


.lab section .featBox .featList li{
	width: 258px;
	position: relative;
}
.lab section .featBox .featList li + li::before{
	content: '';
	width: 1px;
	height: 100%;
	display: block;
	background: rgba(0,0,0,0.2);
	position: absolute;
	top:0;
	left:-35px;
}

.lab section .featBox .featList li .pic{
	aspect-ratio: 315/210;
	width: 100%;
}
.lab section .featBox .featList li .txt{
	font-size: 0.12rem;
	letter-spacing: 0.1em;
	line-height: calc(25/12);
	margin-top: 1.5em;
}



.lab #mk3 .logo{
	aspect-ratio: 294/71;
	width: calc((294/390)*100%);
	margin-left: auto;
}
.lab #mk3 .txtArea{
	width: 100%;
	margin-top: 70px;
}
.lab #mk3 .txtArea h2{
	font-size: 0.2rem;
	letter-spacing: 0.1em;
	line-height: 1.5;
}
.lab #mk3 .txtArea .txt{
	font-size: 0.14rem;
	letter-spacing: 0.1em;
	line-height: calc(27/14);
	margin-top: 1em;
}

.lab #mk3 .ph {
	aspect-ratio: 363/250;
	width: 100%;
	margin-top: 40px;
}




.lab #access h2{
	font-size: 0.18rem;
	letter-spacing: 0.2em;
	width: 100%;
	margin-bottom: 35px;
}
.lab #access .txt{
	font-size: 0.13rem;
	letter-spacing: 0.1em;
	line-height: calc(25/13);
	width: fit-content;
	margin-right: auto;
}
.lab #access .pic{
	aspect-ratio: 361/216;
	width: 100%;
	margin-top: 40px;
}

/* =============================
   custom-link-card / SP
============================= */
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 > a {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 1em;
	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.88em;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.05em;
	margin: 0 0 0.4em;
}
.custom-link-card .card-domain {
	font-size: 0.72em;
	color: #888;
	word-break: break-all;
	line-height: 1.4;
	letter-spacing: 0;
}
.custom-link-card .card-thumbnail {
	flex-shrink: 0;
	width: 100px;
	height: auto;
	overflow: hidden;
}
.custom-link-card .card-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
	border-radius: 6px;
}

/* ステータスバッジ（クラスのみで3パターン切替） / SP */
div.custom-link-card.is-related,
div.custom-link-card.is-coming-soon,
div.custom-link-card.is-external {
	position: relative;
	padding-top: 24px;
}
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.62em;
	font-weight: 700;
	letter-spacing: 0.1em;
	padding: 3px 10px;
	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: "外部サイト";
}
/* 近日公開：グレー表示＋クリック不可 / SP */
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（ネクストアクション）/ SP
   全記事カテゴリ共通
   外部リンクカード（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;
}
/* 白背景ボックス（外部リンクカードと同じ枠・角丸）/ SP */
.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;
}
/* タイトル（外部リンクの「外部サイト」バッジと同じ文字スタイル＋グレー帯）/ SP */
.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.62em;
	font-weight: 700;
	letter-spacing: 0.1em;
	margin: 0;
	padding: 0 1.25em;
	border: none;
}
/* リスト（本文よりさらに小さめ）/ SP */
.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.25em;
	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;
}
/* リンク行（本文よりさらに小さめ）/ SP */
.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.25em 1.1em;
	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;
}
/* グレーボックス外の補足テキスト（本文よりさらに小さめ）/ SP */
.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;
}