@charset "UTF-8";
/* CSS Document */
header h1.pageTit{
  position: absolute;
  top:10px;
  right: 45px;
}
header h1.pageTit span{
  text-align-last: justify
}

header h1.pageTit .fen_m{
	font-size: 0.07rem;
	letter-spacing: 0.2em;
}
/*=============================
  main
あとでphp化
php化したときにやること
・色を生地別に変化
・infLineAni以外もphp化
・各delayも0.1s刻みにランダムで設定「main_row1_delay」は削除
参考）
animation:
lineAni_start var(--main_row1_speed) var(--main_easeing) hoge秒 1 both,
lineAni_loop var(--main_row1_speed) var(--main_easeing) calc(var(--main_row1_speed) + hoge秒) infinite none;
それとクロスフェードさせたい場合、linear-gradientにはtransition効かないから、spanのレイヤーわけが必要
=============================*/

#main{
  width: 100%;
  height: calc(100svh - 46px);
  position: relative;
  overflow: hidden;
  /*margin-bottom: 125px;*/
}
#main .noiseLines li p{
  position: absolute;
  top:0;
  left:0;
  display: none;
}
#main .noiseLines li p.start{
  display: block;
}

/*=============================
  message-area-logo
=============================*/

.message-area-logo {
  position: absolute;
  top: 15%;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 100;
  width: 95%;
  padding: 0 15px;
  box-sizing: border-box;
  mix-blend-mode: difference;
}

.message-area-logo img.blend-logo {
    width: 100%;
    height: 95% !important;
    object-fit: contain;
    object-position: center bottom;
}

/* #main .noiseLines li p:nth-of-type(1){z-index: 4}
#main .noiseLines li p:nth-of-type(2){z-index: 3}
#main .noiseLines li p:nth-of-type(3){z-index: 2}
#main .noiseLines li p:nth-of-type(4){z-index: 1} */


#container{
}
/*=============================
  section
=============================*/
section > .inner{margin-top: 45px;}
section > .inner > *{
  position: relative; 
  z-index: 1;
}
section h2{
  position: sticky;
  top:15px;
  left:0;
  z-index: 100;
  font-size: 0.18rem;
  letter-spacing: 0.1em;
  text-align: right;
  padding-right: 45px;
}

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

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



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

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


#areport .bt_view{
  width: calc(100% - 20px);
  margin: 70px 10px 0;
}
#areport .bt_view a{
  font-size: 0.15rem;
}


/* news
=============================*/
#news > .inner{
  padding: 0 10px;
}
#news .newsList li{
  padding-bottom: 25px;
  border-bottom: 1px solid #000;
}
#news .newsList > li + li{
  margin-top: 25px;
}
#news .newsList li a .data{
  font-size: 0.1rem;
  letter-spacing: 0.1em;
}
#news .newsList li a h3{
  font-size: 0.16rem;
  letter-spacing: 0.15em;
  line-height: calc(28/16);
  margin-top: 1em;
}
#news .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 .bt_view{
  width: 100%;
  margin-top: 70px;
}
#news .bt_view a{
  font-size: 0.15rem;
}

/* about
=============================*/
#about .noiseArea01 {
	aspect-ratio: 390/140;
	width: 100%;
  /*margin-top: 60px;*/
}
#about .noiseArea02 {
	aspect-ratio: 390/195;
	width: 100%;
  margin-top: 35px;
}
#about > .inner{
  padding: 0 10px;
}
#about > .inner .logo{
  aspect-ratio: 271/49;
  width: 270px;
}
#about > .inner .txtArea{
  margin-top: 45px;
}
#about > .inner .txtArea .txt{
  font-size: 0.15rem;
  letter-spacing: 0.1em;
  line-height: calc(30/15);
}
#about .bt_view{
  margin-top: 15px;
  margin-left: auto;
}


/* sol_pjt
=============================*/
.sol_pjt .noiseArea{margin-top: 65px;}
.sol_pjt .noiseArea .ph{
  aspect-ratio: 273/180;
  width: calc((273/390)*100%);
  height: auto;
  margin-left: auto;
}
/* #sol .noiseArea .noiseLines {width: calc(100% - (((273*0.5)/390)*100%));}
#pjt .noiseArea .noiseLines {width: calc(100% - (273/390)*100%);} */
.sol_pjt .noiseArea .noiseLines {width: calc(100% - (273/390)*100%);}

.sol_pjt .detailArea {
  padding: 0 10px;
  margin-top: 25px;
}
.sol_pjt .detailArea h3{
  font-size: 0.15rem;
  letter-spacing: 0.1em;
  line-height: calc(30/15);
}
.sol_pjt .detailArea .phColor{
  width: fit-content;
  margin-right: auto;
}
.sol_pjt .detailArea .phColor li{
  width: 10px;
  height: 10px;
  margin-right: 10px;
}
.sol_pjt .detailArea .bt_view{
  margin-left: auto;
  margin-top: 35px;
}

/* lab
=============================*/
#lab > .inner{
  padding: 0 10px;
  margin-top: 70px;
}
#lab .txtArea .logo{
  aspect-ratio: 356/85;
  width: 100%;
}
#lab .txtArea h3{
  font-size: 0.15rem;
  letter-spacing: 0.1em;
  line-height: calc(30/15);
  margin-top: 45px;
}

#lab .labListArea {
  margin-top: 30px;
}
#lab .labListArea .labList{
}
#lab .labListArea .labList li + li{
  margin-top: 35px;
}
#lab .labListArea .labList li .name_jp{
  font-size: 0.12rem;
  letter-spacing: 0.1em;
  line-height:1.5;
}
#lab .labListArea .labList li h4{
  font-size: 0.25rem;
  letter-spacing: 0.1em;
  line-height: calc(50/25);
}
#lab .labListArea .labList li .txt{
  font-size: 0.12rem;
  letter-spacing: 0.1em;
  line-height: calc(25/12);
}
#lab .labListArea .labList li .ph{
  aspect-ratio: 487/325;
  width: 100%;
  margin-top: 15px;
}
#lab .bt_view{
  margin-left: auto;
  margin-top: 35px;
}


/* mune */
.mainCatch{
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	transform: translateY(-50%);
	z-index: 20;
	pointer-events: none;
}

.mainCatch__inner{
	width: calc(100% - 24px);
	padding: 0 12px;
	margin: 0 auto;
}

.mainCatch__sub{
	display: inline-block;
	margin: 0 0 10px;
	padding: 0;
	background: none;
	color: #fff;
	font-size: 0.14rem;
	letter-spacing: 0.08em;
	line-height: 1.4;
	text-shadow:
		0 0 6px rgba(0,0,0,0.25),
		0 2px 12px rgba(0,0,0,0.35);
}

.mainCatch__title{
	margin: 0;
	color: #fff;
	font-size: 0.24rem;
	letter-spacing: 0.03em;
	line-height: 1.15;
	text-shadow:
		0 0 6px rgba(0,0,0,0.25),
		0 2px 12px rgba(0,0,0,0.35);
	word-break: break-word;
}

.mainCatch__link{
	margin: 16px 0 0;
	pointer-events: auto;
}

.mainCatch__link a{
	display: inline-block;
	color: #fff;
	font-size: 0.14rem;
	letter-spacing: 0.08em;
	line-height: 1.4;
	text-decoration: underline;
	text-underline-offset: 0.15em;
	text-shadow: 0 2px 10px rgba(0,0,0,0.35);
}

#about .cmiAboutRow {
	display: block;
	padding: 40px 0 56px;
}

#about .cmiAboutCol--logo,
#about .cmiAboutCol--text {
	width: calc(100% - 20px);
	max-width: none;
	margin: 0 auto;
}

#about .cmiAboutCol--text {
	margin-top: 28px;
}

#about .cmiAboutLead {
	margin: 0 0 12px;
	font-size: 0.18rem;
	text-align: center;
}

#about .cmiAboutText {
	font-size: 0.15rem;
	line-height: 1.85;
}

#about .cmiAboutTextArea .bt_view {
	margin-top: 20px;
}

#lab .cmiLabRow {
	display: block;
	margin: 0 auto 32px;
}

#lab .cmiLabCol--logo,
#lab .cmiLabCol--text {
	width: calc(100% - 20px);
	max-width: none;
	margin: 0 auto;
}

#lab .cmiLabCol--text {
	margin-top: 28px;
}

#lab .cmiLabLead {
	margin: 0 0 12px;
	font-size: 0.18rem;
	text-align: center;
}

#lab .cmiLabLogo img {
	max-width: 280px;
}

#lab .cmiLabTextArea h3 {
	font-size: 0.15rem;
	line-height: 1.85;
	text-align: left;
}

.mainCatch__sub_black {
	color: #000;
	text-shadow:
		0 0 3px rgba(255,255,255,0.95),
		0 0 8px rgba(255,255,255,0.9),
		0 0 14px rgba(255,255,255,0.85);
}

.mainCatch__title_black {
	color: #000;
	text-shadow:
		0 0 3px rgba(255,255,255,0.95),
		0 0 8px rgba(255,255,255,0.9),
		0 0 14px rgba(255,255,255,0.85);
}

.mainCatch__link_black a {
	color: #000;
	text-shadow:
		0 0 3px rgba(255,255,255,0.95),
		0 0 8px rgba(255,255,255,0.9),
		0 0 14px rgba(255,255,255,0.85);
}

/* =============================
   CMI HOME CARDS (TOP only / SP)
   top.css 側のスマホ用はここへ統合
============================= */
.cmiHomeCards__grid--pickup .cmiHomeCards__body,
.cmiHomeCards__grid--article .cmiHomeCards__body{
	min-height: 0;
}

.cmiHomeCards__grid--pickup .cmiHomeCards__tagRows,
.cmiHomeCards__grid--article .cmiHomeCards__tagRows{
	margin-top: auto;
	min-height: 0;
}

/* TOPのヘッダーコピーはスマホでは表示しない。FV内のmainCatchを使う */
header h1.pageTit.pageTit--front{
	display: none !important;
}

/* =============================
   CMI HOME CARDS ABOUT / SP
   PC用ABOUTブロックのスマホ崩れ補正
============================= */

.cmiHomeCards--about{
	background: #f3f3f3 !important;
}

.cmiHomeCards--about .cmiHomeCards__inner{
	width: 100% !important;
	margin: 0 auto !important;
	padding-top: 0 !important;
}

.cmiHomeCards--about .cmiHomeCards__section--about{
	margin: 0 !important;
}

.cmiHomeCards--about .cmiHomeCards__head{
	display: block !important;
	width: 100vw !important;
	margin: 0 !important;
	padding: 10px 10px !important;
	background: #fff !important;
	text-align: center !important;
	box-sizing: border-box !important;
}

.cmiHomeCards--about .cmiHomeCards__title{
	display: inline-block !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #111 !important;
	font-size: 0.24rem !important;
	font-weight: 700 !important;
	line-height: 1.1 !important;
	letter-spacing: 0.04em !important;
	text-align: center !important;
}

.cmiHomeCards--about .cmiHomeCards__aboutPanel{
	width: 100% !important;
	margin: 0 !important;
	padding: 22px 10px 36px !important;
	background: #f3f3f3 !important;
	box-sizing: border-box !important;
}

.cmiHomeCards--about .cmiHomeCards__aboutLead{
	width: 100% !important;
	margin: 0 0 24px !important;
	padding: 0 !important;
	color: #111 !important;
	font-size: 0.13rem !important;
	font-weight: 700 !important;
	line-height: 1.65 !important;
	letter-spacing: 0.02em !important;
	text-align: left !important;
	box-sizing: border-box !important;
}

.cmiHomeCards--about .cmiHomeCards__aboutLead p{
	margin: 0 !important;
	padding: 0 !important;
	text-align: left !important;
}

.cmiHomeCards--about .cmiHomeCards__aboutLead p + p{
	margin-top: 0.8em !important;
}

.cmiHomeCards--about .cmiHomeCards__aboutLead strong{
	font-weight: 700 !important;
	line-height: inherit !important;
}

.cmiHomeCards--about .cmiHomeCards__aboutLead br.pc{
	display: none !important;
}

.cmiHomeCards--about .cmiHomeCards__grid--about{
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 16px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.cmiHomeCards--about .cmiHomeCards__grid--about > .cmiHomeCards__item{
	width: auto !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.cmiHomeCards--about .cmiHomeCards__grid--about .cmiHomeCards__card{
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	border-radius: 8px !important;
	overflow: hidden !important;
	background: #fff !important;
}

.cmiHomeCards--about .cmiHomeCards__grid--about .cmiHomeCards__mainLink{
	display: flex !important;
	flex-direction: column !important;
	height: auto !important;
	color: #111 !important;
	text-decoration: none !important;
}

.cmiHomeCards--about .cmiHomeCards__grid--about .cmiHomeCards__imageWrap{
	width: 100% !important;
	aspect-ratio: 16 / 10 !important;
	margin: 0 !important;
	padding: 0 !important;
	background: #e8e8e8 !important;
	overflow: hidden !important;
}

.cmiHomeCards--about .cmiHomeCards__grid--about .cmiHomeCards__image{
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

.cmiHomeCards--about .cmiHomeCards__grid--about .cmiHomeCards__body{
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
	min-height: 0 !important;
	padding: 14px 14px 16px !important;
	background: #fff !important;
}

.cmiHomeCards--about .cmiHomeCards__grid--about .cmiHomeCards__meta{
	margin: 0 !important;
	font-size: 0.11rem !important;
	line-height: 1.4 !important;
	letter-spacing: 0.04em !important;
}

.cmiHomeCards--about .cmiHomeCards__grid--about .cmiHomeCards__cardTitle{
	margin: 0 !important;
	font-size: 0.18rem !important;
	font-weight: 700 !important;
	line-height: 1.45 !important;
	letter-spacing: 0.04em !important;
}

.cmiHomeCards--about .cmiHomeCards__grid--about .cmiHomeCards__excerpt{
	margin: 0 !important;
	font-size: 0.12rem !important;
	line-height: 1.65 !important;
	letter-spacing: 0.03em !important;
}

/* =============================
   TOP section title sticky / SP
   白背景のタイトル帯を追従・文字は右寄せ
============================= */

@media screen and (max-width: 767px){

	.cmiHomeCards .cmiHomeCards__head{
		position: sticky !important;
		top: 0 !important;
		left: 0 !important;
		z-index: 120 !important;
		display: block !important;
		width: 100vw !important;
		margin: 0 calc(50% - 50vw) 18px !important;
		padding: 10px 45px 10px 10px !important;
		background: #fff !important;
		text-align: right !important;
		box-sizing: border-box !important;
		pointer-events: none !important;
	}

	.cmiHomeCards .cmiHomeCards__title{
		display: inline-block !important;
		position: static !important;
		margin: 0 !important;
		padding: 0 !important;
		color: #000 !important;
		font-family: 'Inter','Noto Sans JP', sans-serif !important;
		font-size: 0.23rem !important;
		font-weight: 600 !important;
		line-height: 1.1 !important;
		letter-spacing: 0.1em !important;
		text-align: right !important;
		white-space: nowrap !important;
	}

	.cmiHomeCards--about .cmiHomeCards__head{
		position: sticky !important;
		top: 0 !important;
		z-index: 120 !important;
		width: 100vw !important;
		margin: 0 calc(50% - 50vw) 18px !important;
		padding: 10px 45px 10px 10px !important;
		background: #fff !important;
		text-align: right !important;
		box-sizing: border-box !important;
	}

	.cmiHomeCards--about .cmiHomeCards__title{
		text-align: right !important;
	}
}

/* =============================
   TOP PICK UP / ABOUT carousel / SP
   自前JSは維持
   PICK UP / ABOUT を同じカード幅・同じ白カードに統一
   スマホはスワイプ中心のため操作UIは非表示
============================= */

.cmiHomeCarousel{
	width: 100% !important;
	overflow: hidden !important;
}

.cmiHomeCarousel__viewport{
	width: 100% !important;
	overflow: visible !important;
}

.cmiHomeCards .cmiHomeCarousel .cmiHomeCards__grid.cmiHomeCarousel__track,
.cmiHomeCards.cmiHomeCards--pickup .cmiHomeCarousel .cmiHomeCards__grid.cmiHomeCards__grid--pickup.cmiHomeCarousel__track,
.cmiHomeCards--about .cmiHomeCarousel .cmiHomeCards__grid.cmiHomeCards__grid--about.cmiHomeCarousel__track{
	display: flex !important;
	grid-template-columns: none !important;
	grid-auto-flow: unset !important;
	flex-wrap: nowrap !important;
	gap: 14px !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 10px 4px !important;
	list-style: none !important;
	overflow-x: auto !important;
	overflow-y: hidden !important;
	scroll-snap-type: x mandatory !important;
	scroll-behavior: smooth !important;
	-webkit-overflow-scrolling: touch !important;
	scrollbar-width: none !important;
	box-sizing: border-box !important;
}

.cmiHomeCards .cmiHomeCarousel .cmiHomeCards__grid.cmiHomeCarousel__track::-webkit-scrollbar,
.cmiHomeCards.cmiHomeCards--pickup .cmiHomeCarousel .cmiHomeCards__grid.cmiHomeCards__grid--pickup.cmiHomeCarousel__track::-webkit-scrollbar,
.cmiHomeCards--about .cmiHomeCarousel .cmiHomeCards__grid.cmiHomeCards__grid--about.cmiHomeCarousel__track::-webkit-scrollbar{
	display: none !important;
}

.cmiHomeCards .cmiHomeCarousel .cmiHomeCards__item.cmiHomeCarousel__slide,
.cmiHomeCards.cmiHomeCards--pickup .cmiHomeCarousel .cmiHomeCards__grid.cmiHomeCards__grid--pickup > .cmiHomeCards__item.cmiHomeCarousel__slide,
.cmiHomeCards--about .cmiHomeCarousel .cmiHomeCards__grid.cmiHomeCards__grid--about > .cmiHomeCards__item.cmiHomeCarousel__slide{
	display: flex !important;
	flex-direction: column !important;
	flex: 0 0 calc(100% - 42px) !important;
	width: auto !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	scroll-snap-align: start !important;
	scroll-snap-stop: always !important;
	box-sizing: border-box !important;
}

/* PICK UP と ABOUT のスマホカード外形を統一 */
.cmiHomeCards.cmiHomeCards--pickup .cmiHomeCarousel .cmiHomeCards__card,
.cmiHomeCards--about .cmiHomeCarousel .cmiHomeCards__card{
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	height: 100% !important;
	min-height: 0 !important;
	margin: 0 !important;
	border-radius: 8px !important;
	overflow: hidden !important;
	background: #fff !important;
}

.cmiHomeCards.cmiHomeCards--pickup .cmiHomeCarousel .cmiHomeCards__mainLink,
.cmiHomeCards--about .cmiHomeCarousel .cmiHomeCards__mainLink{
	display: flex !important;
	flex-direction: column !important;
	height: 100% !important;
	color: #111 !important;
	text-decoration: none !important;
	background: #fff !important;
}

.cmiHomeCards.cmiHomeCards--pickup .cmiHomeCarousel .cmiHomeCards__imageWrap,
.cmiHomeCards--about .cmiHomeCarousel .cmiHomeCards__imageWrap{
	width: 100% !important;
	aspect-ratio: 16 / 10 !important;
	margin: 0 !important;
	padding: 0 !important;
	background: #e8e8e8 !important;
	overflow: hidden !important;
}

.cmiHomeCards.cmiHomeCards--pickup .cmiHomeCarousel .cmiHomeCards__image,
.cmiHomeCards--about .cmiHomeCarousel .cmiHomeCards__image{
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover !important;
}

.cmiHomeCards.cmiHomeCards--pickup .cmiHomeCarousel .cmiHomeCards__body,
.cmiHomeCards--about .cmiHomeCarousel .cmiHomeCards__body{
	display: flex !important;
	flex-direction: column !important;
	gap: 8px !important;
	min-height: 0 !important;
	padding: 14px 14px 16px !important;
	background: #fff !important;
	box-sizing: border-box !important;
}

.cmiHomeCards.cmiHomeCards--pickup .cmiHomeCarousel .cmiHomeCards__meta,
.cmiHomeCards--about .cmiHomeCarousel .cmiHomeCards__meta{
	margin: 0 !important;
	font-size: 0.11rem !important;
	line-height: 1.4 !important;
	letter-spacing: 0.04em !important;
}

.cmiHomeCards.cmiHomeCards--pickup .cmiHomeCarousel .cmiHomeCards__cardTitle,
.cmiHomeCards--about .cmiHomeCarousel .cmiHomeCards__cardTitle{
	margin: 0 !important;
	font-size: 0.18rem !important;
	font-weight: 700 !important;
	line-height: 1.45 !important;
	letter-spacing: 0.04em !important;
}

.cmiHomeCards.cmiHomeCards--pickup .cmiHomeCarousel .cmiHomeCards__excerpt,
.cmiHomeCards--about .cmiHomeCarousel .cmiHomeCards__excerpt{
	margin: 0 !important;
	font-size: 0.12rem !important;
	line-height: 1.65 !important;
	letter-spacing: 0.03em !important;
}

.cmiHomeCards.cmiHomeCards--pickup .cmiHomeCarousel .cmiHomeCards__tagRows,
.cmiHomeCards--about .cmiHomeCarousel .cmiHomeCards__tagRows{
	margin-top: auto !important;
	min-height: 0 !important;
	align-content: flex-start !important;
	row-gap: 4px !important;
}

.cmiHomeCards.cmiHomeCards--pickup .cmiHomeCarousel .cmiHomeCards__tags,
.cmiHomeCards--about .cmiHomeCarousel .cmiHomeCards__tags{
	gap: 6px !important;
}

.cmiHomeCards.cmiHomeCards--pickup .cmiHomeCarousel .cmiHomeCards__tags li,
.cmiHomeCards--about .cmiHomeCarousel .cmiHomeCards__tags li{
	min-height: 24px !important;
	padding: 3px 8px !important;
	font-size: 0.11rem !important;
	line-height: 1.25 !important;
	box-sizing: border-box !important;
}

.cmiHomeCards--about .cmiHomeCards__aboutPanel{
	overflow: hidden !important;
}

/* スマホは操作UIを出さない。横スワイプのみ */
.cmiHomeCarousel__controls,
.cmiHomeCarousel.is-scrollable .cmiHomeCarousel__controls,
.cmiHomeCarousel__dots{
	display: none !important;
}

.cmiHomeCarousel__button{
	display: none !important;
}

/* =============================
   TOP carousel dots / SP final
   スマホでもPICK UP / ABOUTの枚数ドットを表示
   矢印ボタンは出さない
============================= */

@media screen and (max-width: 767px){

	.cmiHomeCarousel.is-scrollable .cmiHomeCarousel__controls{
		display: block !important;
		width: 100% !important;
		height: auto !important;
		margin: 14px 0 0 !important;
		padding: 0 !important;
		text-align: center !important;
	}

	.cmiHomeCarousel.is-scrollable .cmiHomeCarousel__button{
		display: none !important;
	}

	.cmiHomeCarousel.is-scrollable .cmiHomeCarousel__dots{
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 7px !important;
		width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	.cmiHomeCarousel.is-scrollable .cmiHomeCarousel__dot{
		appearance: none !important;
		display: block !important;
		width: 7px !important;
		height: 7px !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 1px solid #111 !important;
		border-radius: 999px !important;
		background: #fff !important;
		font-size: 0 !important;
		line-height: 0 !important;
		cursor: pointer !important;
		opacity: 1 !important;
		box-sizing: border-box !important;
		transition:
			background 0.2s ease,
			transform 0.2s ease,
			opacity 0.2s ease !important;
	}

	.cmiHomeCarousel.is-scrollable .cmiHomeCarousel__dot.is-active{
		background: #111 !important;
		transform: scale(1.15) !important;
	}
}


/* =============================
不要な余白を削除
============================= */

	/* TOPカード系セクション前後の余白を消す */
	.cmiHomeCards{
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}

	.cmiHomeCards--pickup,
	.cmiHomeCards--article,
	.cmiHomeCards--about{
		margin-top: 0 !important;
	}

	/* PICK UP直前の大きいオレンジ余白を詰める */
	.cmiHomeCards--pickup{
		padding-top: 0 !important;
	}

	/* ARTICLE後〜ABOUT前のオレンジ余白を詰める */
	.cmiHomeCards--article{
		padding-bottom: 0 !important;
	}

	.cmiHomeCards--about{
		padding-top: 0 !important;
	}

	/* sticky見出しの下だけ最低限の余白にする */
	.cmiHomeCards .cmiHomeCards__head,
	.cmiHomeCards--about .cmiHomeCards__head{
		margin-bottom: 12px !important;
	}

	/* カルーセル下の余白を詰める */
	.cmiHomeCarousel{
		margin-bottom: 0 !important;
	}

	.cmiHomeCarousel__controls{
		margin-top: 10px !important;
		margin-bottom: 0 !important;
	}

	/* ABOUTパネル上の余白を消す */
	.cmiHomeCards--about .cmiHomeCards__aboutPanel{
		padding-top: 18px !important;
	}

/* =============================
   SP HOME cards head center
   cmiHomeCards__head 固定解除＋文字中央寄せ
============================= */


	#container .cmiHomeCards .cmiHomeCards__head,
	#contents .cmiHomeCards .cmiHomeCards__head,
	.cmiHomeCards .cmiHomeCards__head{
		position: static !important;
		top: auto !important;
		left: auto !important;
		right: auto !important;
		bottom: auto !important;
		transform: none !important;
		z-index: auto !important;

		display: flex !important;
		align-items: center !important;
		justify-content: center !important;

		width: 100% !important;
		max-width: none !important;
		margin: 0 0 20px !important;
		padding: 10px 16px !important;
		box-sizing: border-box !important;
		background: #fff !important;
		text-align: center !important;
	}

	#container .cmiHomeCards .cmiHomeCards__head .cmiHomeCards__title,
	#contents .cmiHomeCards .cmiHomeCards__head .cmiHomeCards__title,
	.cmiHomeCards .cmiHomeCards__head .cmiHomeCards__title{
		display: block !important;
		width: 100% !important;
		max-width: none !important;
		margin: 0 auto !important;
		padding: 0 !important;

		float: none !important;
		position: static !important;
		transform: none !important;

		text-align: center !important;
		font-size: 26px !important;
		line-height: 1.2 !important;
		letter-spacing: 0.04em !important;
	}
z

/* =============================
   CMI HOME ARTICLE pagination dots / final
   カルーセルではないARTICLEページング用。PICK UPのJS/CSSに干渉させない。
============================= */
.cmiHomeArticlePager,
.cmiHomeCards__pagination.cmiHomeArticlePager{
	width: 100% !important;
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	margin: 38px 0 0 !important;
	padding: 0 !important;
}

.cmiHomeArticlePager .cmiHomeArticlePager__dots,
.cmiHomeArticlePager .cmiHomeCarousel__dots{
	display: flex !important;
	position: static !important;
	left: auto !important;
	bottom: auto !important;
	z-index: auto !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	width: auto !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	transform: none !important;
}

.cmiHomeArticlePager .cmiHomeArticlePager__dot,
.cmiHomeArticlePager .cmiHomeCarousel__dot{
	appearance: none !important;
	-webkit-appearance: none !important;
	display: block !important;
	width: 7px !important;
	height: 7px !important;
	min-width: 7px !important;
	min-height: 7px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid #111 !important;
	border-radius: 999px !important;
	background: #fff !important;
	font-size: 0 !important;
	line-height: 0 !important;
	text-indent: -9999px !important;
	overflow: hidden !important;
	cursor: pointer !important;
	opacity: 1 !important;
	box-sizing: border-box !important;
	text-decoration: none !important;
	transition:
		background 0.2s ease,
		transform 0.2s ease,
		opacity 0.2s ease !important;
}

.cmiHomeArticlePager .cmiHomeArticlePager__dot.is-active,
.cmiHomeArticlePager .cmiHomeCarousel__dot.is-active,
.cmiHomeArticlePager .cmiHomeArticlePager__dot[aria-current="true"],
.cmiHomeArticlePager .cmiHomeCarousel__dot[aria-current="true"]{
	background: #111 !important;
	transform: scale(1.15) !important;
	pointer-events: none !important;
}

.cmiHomeArticlePager .cmiHomeArticlePager__dot:focus-visible,
.cmiHomeArticlePager .cmiHomeCarousel__dot:focus-visible{
	outline: 2px solid #111 !important;
	outline-offset: 4px !important;
}

@media screen and (min-width: 768px){
	.cmiHomeCards--about .cmiHomeCards__grid--about,
	.cmiHomeCards__grid--about.cmiHomeCards__grid--article{
		display: grid !important;
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		gap: 18px !important;
	}
}

@media screen and (max-width: 767px){
	.cmiHomeArticlePager,
	.cmiHomeCards__pagination.cmiHomeArticlePager{
		margin-top: 32px !important;
	}

	.cmiHomeArticlePager .cmiHomeArticlePager__dots,
	.cmiHomeArticlePager .cmiHomeCarousel__dots{
		gap: 7px !important;
	}
}
