@charset "utf-8";

:root{
	--default-font:'Lato', 'Noto Sans JP', sans-serif;
	--google-icon:'Material Symbols Outlined';
	--main-color:#115EFA;
	--up-color:rgb(93, 182, 170);
	--down-color:rgb(250, 105, 103);
	--bg-color:#F5F7FA;
	--base-color:#111;
	--base-light-color:#666;
  --link-color:#2376E9;
  --red:#dd0000;
	--light:300;
	--normal:400;
	--medium:500;
	--bold:700;
	--heavy:900;
}

.icons{
	font-family:'Material Icons';
	font-weight:normal; font-style:normal;
	font-size:22px; line-height:1;
	color:#555;
	display:inline-block;
	text-transform:none;
	letter-spacing:normal;
	word-wrap:normal;
	white-space:nowrap;
	direction:ltr;
	-webkit-font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
	-moz-osx-font-smoothing:grayscale;
	font-feature-settings:'liga';
	position:relative; top:5px;
}
.icons-help{
	font-family:'Material Icons';
	font-weight:normal; font-style:normal;
	font-size:18px; line-height:1;
	color:#555;
	display:inline-block;
	text-transform:none;
	letter-spacing:normal;
	word-wrap:normal;
	white-space:nowrap;
	direction:ltr;
	-webkit-font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
	-moz-osx-font-smoothing:grayscale;
	font-feature-settings:'liga';
	position:relative; top:3px;
}
.help:hover{
	cursor: pointer;
}

.user-container{
	display:flex;
	flex-wrap:wrap;
	gap:3.0rem 3.0rem;
}
.box{
	width:calc((100% - 3.0rem) / 2);
}
.user-container#userAttributes{
	gap:3.0rem 2.0rem;
}
.user-container#userAttributes > .box{
	width:calc((100% - 2.0rem * 2) / 3);
}

.w36{
	width:36%;
	flex-basis:36%;
}
.w60{
	width:60%;
	flex-basis:60%;
}
.border-box{
	box-sizing:border-box;
	border:1px solid #ddd;
	padding:1.0rem;
}
.w36 .border-box{
	padding:15px 0;
}
.graph-box{
	width:100%;
}

a.page-url{
	text-decoration:none;
	display:flex;
	flex-direction:column;
	gap:0.25rem;
}
a.page-url .pt-title{
	display:block;
	font-size:1.0em; line-height:1.6; font-weight:var(--bold);
}
a.page-url:hover .pt-title{
	text-decoration:underline;
}
a.page-url .pt-url{
	display:block;
	font-size:0.9em; line-height:1.6; font-weight:var(--medium);
	color:var(--base-light-color);
}
a.page-url:hover .pt-url{
	text-decoration:none;
}

.search-page-box{
	box-sizing:border-box;
	border:1px solid #ddd;
	padding:2.0rem 2.5rem 2.5rem;
	margin:1.5rem auto;
}
section .search-page-box h3{
	font-size:1.1rem; line-height:1.8; font-weight:var(--bold);
	margin-bottom:1.0em;
}
.search-page-performance{
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	gap:2.5rem;
}
.sc-screenshot{
	box-sizing:border-box;
	width:280px;
	border:1px solid #ddd;
}
.sc-screenshot img{
	width:100%;
}
.search-page-performance > .search-data-table{
	flex:1;
	min-width:0;
}

/* header */
header{
	box-sizing:border-box;
	width:100%; height:80px;
	position:fixed; z-index:100;
	display:flex;
	justify-content:space-between;
	align-items:center;
	padding:0 1.5rem;
	background:transparent;
	transition:0.2s;
}
.scrolling header{
	height:48px;
	background:rgba(255,255,255,0.8);
}
header > .header-title{
	width:140px;
	transition:0.2s;
}
.scrolling header > .header-title{
	width:120px;
}
header > .member{
	display:flex;
	justify-content:flex-end;
	align-items:center;
	gap:0.75rem;
	margin-left:3.0rem;
}
header > .member > .name{
	font-size:1.0rem; line-height:1.8; font-weight:var(--bold);
}
header > .member > .name > span{
	font-size:0.9em; font-weight:var(--normal);
	margin-left:0.3em;
}
header .print a{
	display:block;
	text-decoration:none;
	color:var(--base-light-color);
	width:1.8rem;
	aspect-ratio:1/1;
	position:relative;
}
header .print a::after{
	font-family:var(--google-icon);
	font-variation-settings:'FILL'1,'wght'300,'GRAD'0,'opsz'40;
	content:"\e8ad";
	font-size:1.6rem; line-height:1;
	position:absolute;
	place-self:center;
	inset:0;
}
header > .member > a{
	display:block;
	text-decoration:none;
	width:1.8rem;
	color:var(--base-light-color);
	aspect-ratio:1/1;
	position:relative;
}
header > .member > a::after{
	font-family:var(--google-icon);
	font-variation-settings:'wght'300,'GRAD'0,'opsz'40;
	content:"\e9ba";
	font-size:1.6rem; line-height:1;
	position:absolute;
	place-self:center;
	inset:0;
}

header > .header-controls{
	flex:1;
	display:flex;
	justify-content:flex-end;
	align-items:center;
	gap:0em;
}
.header-controls .select-wrapper{
	box-sizing:border-box;
	border-radius:9999px;
	background:#fff;
	background:transparent;
	border:none;
	padding:0 2.5em 0 2.0em;
	padding:0 0.75em 0 1.8em;
	cursor:pointer;
}
.header-controls .select-wrapper:hover{
	background:#ededed;
}
.header-controls .select-wrapper::before{
	display:none;
}
.header-controls .select-wrapper select{
	font-size:0.9rem; line-height:1;
	cursor:pointer;
}
.select-company > .select-wrapper::after{
	font-family:var(--google-icon);
	font-variation-settings:'wght'300,'GRAD'0,'opsz'40;
	content:"\e320";
	font-size:1.4rem; line-height:1;
	color:var(--base-light-color);
	position:absolute;
	top:50%; left:0;
	transform:translate(60%,-50%);
}
.select-date > .select-wrapper::after{
	font-family:var(--google-icon);
	font-variation-settings:'wght'300,'GRAD'0,'opsz'40;
	content:"\ebcc";
	font-size:1.4rem; line-height:1;
	color:var(--base-light-color);
	position:absolute;
	top:50%; left:0;
	transform:translate(60%,-55%);
}



/* footer */
footer{
	font-size:11px; line-height:33px;
	color:#666;
	background:#EDEDED;
	text-align:right;
	padding:0 25px;
	position:fixed;
	bottom:0;
	width:100%;
	box-sizing:border-box;
	z-index: 2;
}

/* container */
#container{
	box-sizing:border-box;
	width:100%;
	padding:80px 1.5rem 60px;
	display:flex;
	flex-direction:row-reverse;
	justify-content:space-between;
	gap:2.5rem;
	position:relative;
}
#side{
	width:200px;
}
@media screen and (max-width:1024px){
	#side{
		display:none;
	}
}
#side ul.side-nav{
	position:sticky;
	top:80px;
	display:flex;
	flex-direction:column;
	gap:1.25rem;
}
ul.side-nav li{
	font-size:0.9rem; line-height:1.8; font-weight:var(--medium);
	text-align:left;
}
ul.side-nav li a{
	display:block;
	text-decoration:none;
	color:var(--base-light-color);
	position:relative;
	margin-left:1.8rem;
}
ul.side-nav li a:hover{
	text-decoration:underline;
}
ul.side-nav li a::before{
	font-family:var(--google-icon);
	font-variation-settings:'FILL'1, 'wght'300, 'GRAD'0, 'opsz'40;
	font-size:1.5rem; line-height:1;
	position:absolute;
	top:50%; left:-1.8rem;
	transform:translate(0,-50%);
}
ul.side-nav li.dashboard a::before{content:"\e871";}
ul.side-nav li.bar_chart a::before{content:"\e26b";}
ul.side-nav li.user a::before{content:"\e7ef";}
ul.side-nav li.layers a::before{content:"\f500";}
ul.side-nav li.search a::before{content:"\e8b6";}
ul.side-nav li.trending_up a::before{content:"\e8e5";}
ul.side-nav li.psychology a::before{content:"\f346";}
ul.side-nav li.business a::before{content:"\ea40";}
ul.side-nav li.library_books a::before{content:"\f3e7";}

/* index */
ul.menu{
	width:100%;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
ul.menu li{
	flex-basis:24%;
	box-sizing:border-box;
	border:1px solid #CCC;
	background:#FFF;
	text-align:center;
	padding:50px 0;
	margin-bottom:25px;
}
ul.menu li img{
	width:100px;
	margin:0 auto 30px auto;
}
ul.menu li a{
	display:block;
	font-weight:bold;
}

/* content */
#main{
	flex:1;
	min-width:0;   /* flex アイテムの min-width:auto による幅の伝播を防ぐ */
	text-align:left;
}
#main > #month{
	width:fit-content;
	font-size:1.0rem; line-height:1.8; font-weight:var(--bold);
	color:#fff;
	background:var(--main-color);
	padding:0 1.5em;
	border-radius:9999px;
	margin-bottom:2.5rem;
}
.layout-2column{
	display:flex;
	gap:2.5rem;
}
section{
	box-sizing:border-box;
	width:100%;
	margin-bottom:2.5rem;
	padding:2.5rem 3.0rem 3.0rem;
	border-radius:0.5rem;
	background:#FFF;
	filter:drop-shadow(1px 1px 4px #eee);
	overflow:hidden;
}
section.outline{
	padding:0;
	border-radius:0;
	background:transparent;
}
section.date-title{
	background:transparent;
	padding:0;
	margin:15px 0 30px 0;
	width:auto;
	width:100%;
	max-width:100%;
	display:flex;
	justify-content:flex-end;
	align-items:baseline;
	position:relative;
}
section.date-title .name{
	font-size:20px; line-height:180%; font-weight:bold;
}
section.date-title .name span{
	font-size:15px; font-weight:normal;
}
section.date-title .month{
	font-size:15px; line-height:180%;
	border-bottom:1px solid #999;
	position:absolute;
	top:0; left:0;
}
section.date-title .select-box{
	text-align:left;
	display:flex;
	align-items:center;
	margin-right:25px;
}
section.date-title .select-box p{
	font-size:13px; line-height:180%; font-weight:bold;
	margin-bottom:8px;
	margin-right:15px;
}
section.date-title .select-box p i{
	font-size:20px;
	margin-right:8px;
}
section.date-title .select-box span{
	display:inline-block;
	font-size:14px; line-height:14px;
	position:relative; top:1px;
}
section.date-title .select-year,
section.date-title .select-month{
	display:inline-block;
	border-bottom:1px solid #999;
	overflow:hidden;
}
section.date-title .select-year:hover,
section.date-title .select-month:hover{
	border-bottom:1px dashed #333;
}
section.date-title select{
	cursor:pointer;
  width:auto; height:30px;
  font-size:14px; line-height:14px;
  color:#333; text-indent:0em;
  background:transparent;
	outline:none;
	border:none;
	border-radius:0 !important;
	margin:0 0 0 5px;
	-webkit-appearance:none;
	appearance:none;
}
section.date-title select option{
}
section.date-title input[type="submit"]{
	display:inline-block;
	width:48px;
	border:none;
	font-size:13px; line-height:25px;
	color:#333;
	border-radius:5px;
	cursor:pointer;
	background:rgba(0,46,111,0.9);
	background:#048DC7;
	background:transparent;
	border:1px solid #999;
	margin:0 0 0 10px;
	position:relative; top:-9px;
}


section.yearly-box{
	position:relative;
}
section h1{
	font-size:1.0rem; line-height:1.8;
	color:var(--base-color);
	margin-bottom:1.0rem;
}
section h1 i{
	font-size:28px !important;
	top:7px;
	margin-right:10px;
}
section .description{
	font-size:15px; line-height:1.8;
	margin:0px 0 20px 0;
}

section h2{
	font-size:15px; line-height:180%;
	color:#444;
	margin-bottom:10px;
}
section.yearly-box h2{
	margin-bottom:20px;
}
section h3{
	font-size:15px; line-height:180%; font-weight:normal;
}
section p{
	font-size:13px; line-height:180%;
}
section p.caution{
//	font-size:12px; line-height:180%;
	text-align:right;
	margin-bottom:50px;
}
section p.page-back{
	margin-bottom:50px;
}
section p.page-back a{
	color:#777;
}
section p.page-back .icons{
	font-size:16px; line-height:1;
	top:3px;
	margin-right:0.2em;
	color:#777;
}

ul.report-menu{
	display:flex;
	flex-wrap:wrap;
	margin-bottom:50px;
}
ul.report-menu li{
	flex-basis:32%;
	box-sizing:border-box;
	margin-right:2%;
	margin-bottom:20px;
	padding:0px;
	text-align:left;
}
ul.report-menu li:nth-child(3),
ul.report-menu li:last-child{margin-right:0;}
ul.report-menu li a{
	text-decoration:none;
	display:block;
	padding:15px 35px 20px 25px;
//	border:2px solid rgba(119,158,204,1);
	border:1px solid #4d729e;
//	background:rgba(119,158,204,1);
	border-radius:5px;
	position:relative;
	transition:0.3s;
}
ul.report-menu li a::after{
	content:"▲";
	color:#4d729e;
	position:absolute;
	top:50%; right:10px;
	transform:translateY(-50%) scale(0.6,1) rotate(90deg);
}
ul.report-menu li a h2{
	font-size:18px; line-height:180%;
	color:#4d729e;
	margin-bottom:0;
}
ul.report-menu li a h2 i{
	font-size:26px !important;
	color:#4d729e;
	top:6px;
	margin-right:10px;
}
ul.report-menu li a p{
	font-size:14px; line-height:160%;
	color:#444;
	margin-bottom:0;
}
ul.report-menu li a:hover{
	background:#4d729e;
	transition:0.3s;
}
ul.report-menu li a:hover h2,
ul.report-menu li a:hover h2 i,
ul.report-menu li a:hover p,
ul.report-menu li a:hover::after{
	color:#FFF;
}
ul.report-menu .ver-box a{
	background: #FFFFFF;
	position: relative;
	border:1px solid #a9a9a9;
}
ul.report-menu .ver-box a h2{
	top: 50%;
    position: absolute;
    transform: translateY(-50%);
}
ul.report-menu .ver-box a::after{
	content:"▲";
	color:#a9a9a9;
	position:absolute;
	top:50%; right:10px;
	transform:translateY(-50%) scale(0.6,1) rotate(90deg);
}
ul.report-menu .ver-box a h2 i{
	font-size:26px !important;
	color:#a9a9a9;
	top:6px;
	margin-right:10px;
}
ul.report-menu .ver-box a h2,
ul.report-menu .ver-box a h2 i
ul.report-menu .ver-box a::after{
	color:#a9a9a9;
}
ul.report-menu .ver-box a:hover{
	background: #a9a9a9;
	
}
ul.report-menu .ver-box a:hover h2,
ul.report-menu .ver-box a:hover h2 i,
ul.report-menu .ver-box a:hover::after{
	color:#FFFFFF;
}
ul.report-list{
	display:flex;
	flex-direction:column;
	gap:1.0rem;
}
ul.report-list li{
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	gap:1.5rem;
	position:relative;
}
ul.report-list li span.entry-date{
	font-size:0.85rem; line-height:1.6;
	color:var(--base-light-color);
	white-space:nowrap;
	margin-top:0.2rem;
}
ul.report-list li span.regular,
ul.report-list li span.recovery,
ul.report-list li span.accident,
ul.report-list li .text-box{
	flex:1;
	min-width:0;
}
ul.report-list li span.accident{
	color:var(--red); font-weight:var(--bold);
}
/* お知らせ：記事ページ方式（タイトルをリンク化） */
ul.report-list li .entry-title,
ul.report-list li .entry-title a{
	font-weight:var(--medium);
	color:var(--base-color);
}
ul.report-list li .entry-title a{
	text-decoration:underline;
}
ul.report-list li .entry-title a:hover{
	color:var(--link-color);
}
ul.report-list li .news-excerpt{
	color:var(--base-light-color);
	font-size:0.9rem; line-height:1.6;
	margin-top:0.25em;
}
ul.report-list li .news-excerpt.clip{
	text-overflow:ellipsis;
	overflow:hidden;
	display:-webkit-box;
	-webkit-box-orient:vertical;
	-webkit-line-clamp:1;
}


/* お知らせ：一覧ページのページネーション */
nav.news-pagination{
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
	gap:0.5rem;
	margin:2.5rem 0 0;
}
nav.news-pagination .page-numbers{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:1.8rem;
	border:1px solid #ddd;
	border-radius:4px;
	color:var(--base-color);
	text-decoration:none;
	font-size:0.75rem; line-height:2.4;
	text-align:center;
}
nav.news-pagination .page-numbers.current{
	background:#719EBC;
	border-color:#719EBC;
	color:#FFFFFF;
}
nav.news-pagination a.page-numbers:hover{
	border-color:#719EBC;
	color:var(--main-color);
}

/* お知らせ：記事ページ本文 */
section.news-single .entry-date{
	font-size:0.9rem; line-height:1.6;
	color:var(--base-light-color);
}
section.news-single > h1{
	font-size:1.2rem; line-height:1.6;
	margin:0.4rem 0 1.2rem;
}
section.news-single .news-single-body > *{
	font-size:1.0rem; line-height:1.9;
	margin-bottom:1.5rem;
}
section.news-single .news-single-body > ul > li{
	list-style:disc outside;
	margin-left:1.25em;
}
section.news-single .news-single-body > ul > li:not(:last-child){
	margin-bottom:1.0em;
}
section.news-single .news-single-body > ol > li{
	list-style:decimal outside;
	margin-left:1.25em;
}
section.news-single .news-single-body > ol > li:not(:last-child){
	margin-bottom:1.0em;
}
section.news-single .news-single-body img{
	max-width:100%; height:auto;
}

/* お知らせ：戻り導線 */
.news-single-nav{
	display:flex;
	justify-content:center;
	gap:1.5rem;
	flex-wrap:wrap;
	margin-top:3.0rem;
	padding-top:2.0rem;
	border-top:1px solid #eee;
}
.news-single-nav a{
	color:var(--base-light-color);
	text-decoration:none;
	font-size:0.9rem;
}
.news-single-nav a:hover{
	color:var(--main-color);
}

.outline-card{
	width:100%;
	position:relative;
}
.outline-card-nav{
	display:flex;
	gap:0.25rem;
	position:absolute;
	top:0; right:0;
	transform:translateY(-140%);
}
.swiper-button-prev-custom,
.swiper-button-next-custom{
	box-sizing:border-box;
	width:1.6rem;
	aspect-ratio:1/1;
	border-radius:100%;
	border:1px solid #ccc;
	overflow:hidden;
	cursor:pointer;
	transition:background 0.15s;
}
.swiper-button-prev-custom:hover,
.swiper-button-next-custom:hover{
	background:#f5f5f5;
}
.swiper-button-prev-custom.swiper-button-disabled,
.swiper-button-next-custom.swiper-button-disabled{
	opacity:0.3;
	cursor:default;
	pointer-events:none;
}
.swiper-button-prev-custom > span,
.swiper-button-next-custom > span{
	display:block;
	width:100%; height:100%;
	display:flex;
	justify-content:center;
	align-items:center;
	position:relative;
}
.swiper-button-prev-custom > span::after,
.swiper-button-next-custom > span::after{
	display:block;
	font-family:var(--google-icon);
	font-variation-settings:'wght'300;
	font-size:1.1rem; line-height:1;
}
.swiper-button-prev-custom > span::after{
	content:"\e314";
}
.swiper-button-next-custom > span::after{
	content:"\e315";
}
.swiper{
	overflow:hidden;
}
.swiper-wrapper{
	display:flex;
}
.swiper-slide{
	width:280px;
	height:auto;
}
.card-item{
	box-sizing:border-box;
	width:100%; height:100%;
	padding:1.5rem 1.5rem;
	border-radius:0.3rem;
	text-align:left;
	background:#fff;
	display:flex;
	flex-direction:column;
}
.card-item h3{
	font-size:13px; line-height:1.5;
	font-weight:normal;
	color:#555;
	margin-bottom:4px;
}
.card-item .data-row{
	display:flex;
	justify-content:space-between;
	align-items:baseline;
	flex-wrap:wrap;
}
.card-item .data{
	font-size:1.8rem; line-height:1.6; font-weight:var(--bold);
	display:flex;
	align-items:baseline;
	gap:0.08em;
}
.card-item .data .small{
	font-size:0.6em;
}
.card-item .before-up,
.card-item .before-down,
.card-item .before-same{
	display:block;
	font-size:0.9rem; line-height:1.8; font-weight:var(--bold);
	position:relative;
}
.card-item .before-up{
	color:var(--up-color);
}
.card-item .before-down{
	color:var(--down-color);
}
.card-item .before-same{
	color:var(--base-light-color);
}
.card-item .before-up::before,
.card-item .before-down::before{
	content:"";
	width:0.75em;
	aspect-ratio:1/0.8;
	position:absolute;
	top:50%; left:0;
	transform:translate(-150%,-50%);
}
.card-item .before-up::before{
	clip-path: polygon(50% 0, 0 100%, 100% 100%);
	background:var(--up-color);
}
.card-item .before-down::before{
	clip-path: polygon(0 0, 50% 100%, 100% 0);
	background:var(--down-color);
}
.card-item .before-same::before{
	content:"";
	width:0.75em;
	aspect-ratio:1/0.2;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
	background:var(--base-light-color);
	position:absolute;
	top:50%; left:0;
	transform:translate(-150%,-50%);
}

.card-item .sparkline-wrap{
	margin-top:auto;
	padding-top:10px;
	height:60px;
	width:100%;
}
#spark-tooltip{
	position:fixed;
	pointer-events:none;
	background:#fff;
	border:1px solid #ddd;
	border-radius:6px;
	padding:8px 14px;
	box-shadow:0 2px 12px rgba(0,0,0,0.10);
	z-index:9999;
	opacity:0;
	transition:opacity 0.1s;
	white-space:nowrap;
	transform:translate(-50%, calc(-100% - 10px));
}
#spark-tooltip .tip-label{
	font-size:11px; line-height:1.6;
	color:#888;
	text-align:center;
}
#spark-tooltip .tip-value{
	font-size:15px; line-height:1.4; font-weight:bold;
	color:#111;
	text-align:center;
}
.swiper-pagination{
	position:static;
	margin-top:1.0rem;
}
.swiper-pagination-bullet{
	width:0.5rem; height:0.5rem;
	border-radius:9999px;
	background:#ccc;
	opacity:1;
	transition:background 0.2s, width 0.2s;
}
.swiper-pagination-bullet-active{
	width:1.5rem;
	background:#999;
}
ul.outline{
}
ul.outline li{
	box-sizing:border-box;
	padding:25px 30px;
	text-align:left;
}
ul.outline li .data{
	font-size:38px; line-height:1.8;
	font-weight:bold;
}
ul.outline li .data .small{
	font-size:26px;
	margin-left:5px;
}
ul.outline-search-data li{
	border-bottom:none !important;
}
.sc-cards{
	display:grid;
	grid-template-columns:repeat(4, 1fr);
	gap:16px;
	margin-bottom:1.5rem;
}
.sc-cards .card-item{
	background:var(--bg-color);
}

ul.outline span.before-up{
	display:block;
	font-size:16px; line-height:1.8; font-weight:bold;
	color:#009900;
}
ul.outline span.before-down{
	display:block;
	font-size:16px; line-height:1.8; font-weight:bold;
	color:#FF0000;
}
ul.outline span.before-up::before,
ul.outline span.before-down::before,
ul.outline span.before-same::before{
	content:"➡︎";
	display:inline-block;
}
ul.outline span.before-down::before{
	transform:rotate(45deg);
}
ul.outline span.before-up::before{
	transform:rotate(-45deg);
}
ul.outline span.before-same{
	display:block;
	font-size:16px; line-height:1.8; font-weight:bold;
	//margin-top:-15px;
	color:#777;
}
ul.outline span.before-red{
	color:#FF0000 !important;
}
ul.outline span.before-green{
	color:#009900 !important;
}
ul.outline span.before-gray{
	color:#777 !important;
}

section table{
	width:100%;
	border-collapse:collapse;
	table-layout:fixed;
	word-break:break-all;
}
section table thead{
	background:var(--main-color);
	font-weight:var(--bold);
	color:#fff;
}
section table thead > tr > th,
section table thead > tr > td{
	font-size:0.8rem; line-height:1.5;
	padding:0.5rem 1.0rem;
}
section table thead > tr > td{
	text-align:right;
}
section table thead > tr > th.date{
	width:3.6em;
	text-align:center;
}
section table tbody > tr{
	transition: background 0.12s;
	border-bottom:1px solid #eee;
}
section table tbody > tr:nth-child(even){
	background:#f8f9fa;
}
section table tbody > tr:last-child{
	border-bottom:none;
}
section table tbody > tr:hover{
	background:#eef3ff;
}
section table tbody > tr > th,
section table tbody > tr > td{
	font-size:0.85rem; line-height:1.5;
	padding:0.5rem 1.0rem;
}
section table tbody > tr > th.date{
	text-align:right;
	padding-left:0;
}
section table tbody > tr > td{
	text-align:right;
}

section .tablesorter-default thead .headerSortUp,
section .tablesorter-default thead .tablesorter-headerAsc,
section .tablesorter-default thead .tablesorter-headerSortUp,
section .tablesorter-default thead .headerSortDown,
section .tablesorter-default thead .tablesorter-headerDesc,
section .tablesorter-default thead .tablesorter-headerSortDown{
	border-bottom:none;
}
section .tablesorter-default .tablesorter-header::after,
section .tablesorter-default thead .headerSortDown::after,
section .tablesorter-default thead .tablesorter-headerDesc::after,
section .tablesorter-default thead .tablesorter-headerSortDown::after{
	filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(0%) hue-rotate(288deg) brightness(102%) contrast(102%);
}

section table.page-table#accessChannel{
	margin-bottom:3.0rem;
}
section table.page-table{
	width:100%;
	border-collapse:collapse;
	table-layout:auto;
	border-radius:0.3rem 0.3rem 0 0;
	overflow:hidden;
}
section table.page-table > thead{
	background:var(--main-color);
	color:#fff;
}
section table.page-table tr > th{
	width:100%;
}
section table.page-table tr > td{
	white-space:nowrap;
}
section table.page-table > tbody > tr > th,
section table.page-table > tbody > tr > td{
	padding:0.8rem 1.0rem;
}

section table.page-table td.rating{
	text-align:center;
	padding:0.8rem 1.5rem;
}
section table.page-table tbody td.rating{
	font-size:1.0rem;
	font-weight:var(--bold);
}
section table.page-table td.td-valueA{
	color:#52c41a;
	background:#F5FCF2;
}
section table.page-table td.td-valueB{
	color:#115EFA;
	background:#F6F9FF;
}
section table.page-table td.td-valueC{
	color:#FFA940;
	background:#FFFAF4;
}
section table.page-table td.td-valueD{
	color:#ff4d4f;
	background:#FFF6F6;
}

.radio-wrapper{
	width:100%;
	display:flex;
}
.radio-wrapper input{display:none;}
.radio-wrapper label{
	box-sizing:border-box;
  cursor:pointer;
	width:20% !important;
  margin:0;
  padding:14px 5px;
	font-size:15px;
	line-height:140%;
  border:1px solid #CCC;
	border-right:none;
  background:#F6F6F6;
  text-align:center;
  transition:.2s;
}
.radio-wrapper label:first-of-type{
	border-radius:5px 0 0 5px;
}
.radio-wrapper label:last-of-type{
  border-right:1px solid #CCC;
	border-radius:0 5px 5px 0;
}
.radio-wrapper input[type="radio"]:checked + label {
  background-color:rgba(0,46,111,0.9);
  color:#fff;
}

.matrix-box{
	width:100%;
	margin:3.0rem 0;
}
.parameter-caution{
	box-sizing:border-box;
	width:96%;
	margin:20px auto 50px auto;
	border:1px solid #CCC;
	padding:20px 30px;
	text-align:center;
}
ul.pagevalue-parameter{
	display:flex;
	justify-content:space-between;
	margin:15px auto 20px auto;
}
ul.pagevalue-parameter li{
	box-sizing:border-box;
	flex-basis:22%;
	font-size:12px; line-height:180%;
	text-align:center;
	border:2px solid rgba(82,196,26,0.6);
	background:rgba(82,196,26,0.1);
	border-radius:3px;
	padding:15px 0;
	margin-right:50px;
	position:relative;
}
ul.pagevalue-parameter li:nth-child(2){
	border-color:rgba(17,94,250,0.6);
	background:rgba(17,94,250,0.1);
}
ul.pagevalue-parameter li:nth-child(3){
	border-color:rgba(255,169,64,0.6);
	background:rgba(255,169,64,0.1);
}
ul.pagevalue-parameter li:nth-child(4){
	border-color:rgba(255,77,79,0.6);
	background:rgba(255,77,79,0.1);
}
ul.pagevalue-parameter li strong{
	display:block;
	font-size:15px; line-height:1.6;
}
ul.pagevalue-parameter li::after{
	content:"＞";
	font-size:28px; line-height:100%;
	position:absolute;
	top:50%; right:-40px;
	transform:translateY(-50%) scale(0.5,1);
}
ul.pagevalue-parameter li:last-child{
	margin-right:0;
}
ul.pagevalue-parameter li:last-child::after{
	content:""; display:none;
}

ul.tab-menu{
	display:flex;
	align-self:baseline;
	position:absolute;
	top:50px; right:5%;
}
ul.tab-menu.page-data{
	top:2.5rem;
}
ul.tab-menu li{
	font-size:13px; line-height:180%;
	color:#666;
	cursor:pointer;
	margin-left:1.5em;
}
ul.tab-menu li.active{
	font-weight:bold; color:#333;
	border-bottom:1px solid #333;
}
.yearly-data .content{
	display:none;
}
.yearly-data .content:nth-child(1){
	display:block;
}
.yearly-data .content > section{
	padding:0;
	filter:none;
}

dl{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	margin-bottom:30px;
	font-size:15px; line-height:180%;
}
dl dt{
	flex-basis:28%;
	position:relative;
	margin-bottom:30px;
}
dl dt::after{
	content:"";
	width:100%;
	border-top:2px dotted #999;
	position:absolute;
	top:13px; left:0;
}
dl dt span{
	background:#FFF;
	position:relative; z-index:2;
	padding-right:10px;
}
dl dd{
	flex-basis:70%;
	margin-bottom:30px;
}
dl ul li{
	list-style:disc outside;
	margin-left:22px;
}
dl ol li{
	list-style:decimal outside;
	margin-left:22px;
}

section ul.topics-list{
	flex:1;
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
}
section ul.topics-list li{
	width:31%;
}
section ul.topics-list li a{
	display:block;
	text-decoration:none;
	color:var(--base-color);
}
section ul.topics-list li a figure{
	box-sizing:border-box;
	width:100%; height:auto;
	aspect-ratio:16/9;
	overflow:hidden;
}
section ul.topics-list li a figure img{
	width:100%; height:100%;
	object-fit:cover;
}
section ul.topics-list li a .text-box{
	text-align:left;
	padding-top:5px;
}
section ul.topics-list li a .entry-date{
	display:block;
	font-size:0.9em;
	color:var(--base-light-color);
}
section ul.topics-list li a .entry-title{
	font-weight:var(--bold);
}
section ul.topics-list li a:hover .entry-title{
	color:var(--link-color);
}
section .more{
	text-align: right;
	margin:2.5rem 0 0;
}
section .more a{
	text-decoration: underline;
}


/* ==============================
AI診断
============================== */
section.ai-diagnosis{
	padding:0;
}
section.ai-diagnosis > h1{
	background:var(--main-color);
	font-size:1.1rem; line-height:1.6;
	color:#fff;
	padding: 0.75rem 3.0rem;
	margin-bottom:0;
}
.ai-diagnosis-container{
	padding: 2.0rem 3.0rem 3.0rem;
	position:relative;
}
.ai-diagnosis-container > .ai-grade{
	position:absolute;
	top:1.0rem; right:3.0rem;
}
.ai-grade .grade-label{
	display:none;
}
.ai-grade .grade-value{
	font-size:12.0rem; line-height:1; font-weight:var(--heavy);
	opacity:0.3;
}
.grade-a{color:#52c41a;}
.grade-b{color:#115EFA;}
.grade-c{color:#FFA940;}
.grade-d{color:#F5222D;}
.ai-diagnosis .ai-generated{
	font-size:0.85rem; line-height:1.8;
	color:var(--base-light-color);
	text-align:right;
	margin-top:1.0rem;
}

/* ── AI診断 キャッチコピー・詳細 ────────────── */
.ai-diagnosis .ai-catchcopy{
	padding-right:12.0rem;
	font-size:1.05rem; line-height:1.6; font-weight:var(--bold);
}
ul.ai-diagnosis-list{
	margin-top:1.5rem;
	display:flex;
	flex-direction:column;
	gap:1.0rem;
}
ul.ai-diagnosis-list > li{
	list-style:disc outside;
	margin-left:1.25em;
}
ul.ai-diagnosis-list > li > h3{
	font-size:1.0rem; line-height:1.8; font-weight:var(--bold);
	color:var(--down-color);
}
ul.ai-diagnosis-list > li > p{
	font-size:1.0rem; line-height:1.8;
}
.ai-diagnosis .ai-suggestion{
	box-sizing:border-box;
	width:100%;
	background:rgba(93,182,170,0.03);
	border:2px solid var(--up-color);
	border-radius:0.5rem;
	padding:1.75rem 2.5rem 2.5rem;
	margin-top:2.5rem;
}
.ai-diagnosis .ai-suggestion h2{
	width:fit-content;
	font-size:1.0rem; line-height:1.8; font-weight:var(--bold);
	color:#fff;
	background:var(--up-color);
	padding:0 1.5em;
	border-radius:9999px;
	margin-bottom:1.5rem;
}
.ai-diagnosis .ai-suggestion .ai-catchcopy{
	padding-right:0;
}
.ai-diagnosis .ai-detail{
	border-top:1px dashed var(--up-color);
	margin-top:2.0rem;
	padding-top:2.0rem;
	display:flex;
	flex-direction:column;
	gap:2.0rem;
}
.ai-diagnosis .ai-detail-block{
}
.ai-diagnosis .ai-detail-block h3{
	font-size:1.0rem; line-height:1.8; font-weight:var(--bold);
	color:var(--base-light-color);
	color:var(--up-color);
}
.ai-diagnosis .ai-detail-block p{
	font-size:1.0rem; line-height:1.8;
}


/* ==============================
カレンダー
============================== */
section:has(.access-cal){
	position:relative;
}
section .access-cal {
	width:100%;
	border-collapse:separate;
	border-spacing:0.5rem;
	table-layout:fixed;
	margin-top:1.5rem;
}
section .access-cal caption{
	font-size:1.1rem; line-height:1.8; font-weight:var(--bold);
	text-align:center;
	margin-bottom:1.0rem;
}
section .access-cal thead{
	background:transparent;
	color:var(--base-light-color);
}
section .access-cal thead > tr > th{
	font-size:0.8rem; line-height:1.8; font-weight:var(--bold);
	padding:0;
}
section .access-cal thead th.ac-sun{
	color:#ef4444;
}
section .access-cal thead th.ac-sat{
	color:#3b82f6;
}
section .access-cal tbody > tr{
	background:transparent !important;
}
section .access-cal tbody > tr > td{
	padding:4.0rem 1.0rem 0.5rem;
	border:1px solid #e0e0e0;
	border-radius:0.25rem;
	text-align:left;
	vertical-align:bottom;
	position:relative;
}
section .access-cal td.ac-empty{
	background:transparent;
	border:none;
}
.ac-day{
	display:block;
	font-size:2.4rem; line-height:1.6; font-weight:var(--bold);
	color:var(--base-light-color);
	position:absolute;
	top:0rem; left:0.75rem;
	opacity:0.2;
}
.ac-day.ac-sun{
	color:var(--down-color);
}
.ac-day.ac-sat{
	color:var(--link-color);
}
.ac-data{
	display:flex;
	justify-content:flex-end;
	align-items:baseline;
	flex-wrap:wrap;
	gap:0 0.25rem;
}
.ac-data.pv{
	gap:0 0.35rem;
}
.ac-data > .label{
	font-size:0.75rem; line-height:1.6;
	color:var(--base-light-color);
}
.ac-data > .num{
	font-size:1.25rem; line-height:1.6; font-weight:var(--bold);
}
.ac-data.user > .num{
	color:var(--up-color);
}
.ac-data.pv > .num{
	color:var(--main-color);
}
.ac-zero{
	color:#ccc;
}
.ac-filter{
	display:flex;
	justify-content:flex-end;
	align-self:baseline;
	gap:1.5rem;
	position:absolute;
	top:2.75rem; right:5%;
}
.ac-filter .ac-btn{
	font-size:0.9rem; line-height:1.8;
	color:var(--base-light-color);
	background:#fff;
	cursor:pointer;
	border:none;
	border-radius:0;
	width:auto;
}
.ac-filter .ac-btn.active{
	font-weight:bold; color:#333;
	border-bottom:1px solid #333;
}

section table.bar-table{
	width:100%;
	border-collapse:collapse;
	table-layout:auto;
	border-radius:0.3rem 0.3rem 0 0;
	overflow:hidden;
}
section table.bar-table > thead{
	background:rgba(0,0,0,0.05);
	color:var(--base-light-color);
}
section table.bar-table > thead > tr{
}
section table.bar-table > thead > tr > th{
	font-size:0.85rem;
	color:var(--base-color);
}
section table.bar-table tr > th{
	width:100%;
}
section table.bar-table tr > td{
	white-space:nowrap;
}
section table.bar-table > tbody > tr{
	background:#fff;
	border:none;
}
section table.bar-table > tbody > tr > th,
section table.bar-table > tbody > tr > td{
	padding:0.8rem 1.0rem;
}
section table.bar-table > tbody > tr > th{
	color:var(--main-color);
	background:linear-gradient(
		to right,
		rgba(17,94,250,.06) var(--bar,0%),
		transparent var(--bar,0%))
	no-repeat 0 50%/100% 60%;
}
section table.bar-table + .table-caption{
	font-size:0.7rem; line-height:1.8;
	color:var(--base-light-color);
	text-align:right;
	padding-top:0.5em;
}


/* ==============================
アクセスエリア
============================== */
.area-container{
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
}
.area-container > .map-box{
	box-sizing:border-box;
	width:58%;
	border:1px solid #ddd;
	padding:0 1.0rem;
}
.area-container > .data-table-box{
	width:38%;
}


/* ==============================
Juicer
============================== */
.juicer-count{
	font-size:1.0rem; line-height:1.8;
	margin-bottom:0.5em;
}
section table#juicerCompanies tr > td{
	padding:0.8em 2.0em;
}

/* ==============================
個別ページデータ
============================== */
.page-back{
	width:fit-content;
	font-size:0.85rem; line-height:1.8;
	padding-left:1.0em;
	position:relative;
	margin-bottom:2.5rem;
}
.page-back::before{
	content:"";
	width:0.45em;
	aspect-ratio:0.5/1;
	clip-path: polygon(100% 0, 0 50%, 100% 100%);
	background:#999;
	position:absolute;
	top:50%; left:0;
	transform:translateY(-50%);
}
.page-back > a{
	display:block;
	text-decoration:none;
	color:var(--base-light-color);
}
.page-back > a:hover{
	text-decoration:underline;
}
section.outline > .page-title{
	display:flex;
	align-items:center;
	gap:2.5rem;
}
.page-title > a > figure{
	box-sizing:border-box;
	width:240px;
	aspect-ratio:3/2;
	overflow:hidden;
	margin:0;
}
.page-title > a > figure > img{
	width:100%; height:100%;
	object-fit:cover;
	object-position:center top;
}
.page-title > a > figure.dummy{
	border:1px solid #ccc;
	background:#fcfcfc;
	position:relative;
}
.page-title figure.dummy::after{
	content:"no picture";
	font-size:0.8rem; line-height:1.6;
	color:var(--base-light-color);
	white-space:nowrap;
	text-transform:uppercase;
	position:absolute;
	top:50%; left:50%;
	transform:translate(-50%,-50%);
}
.page-data-title{
	display:flex;
	justify-content:space-between;
	align-items:baseline;
}