@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}

.entry-card-thumb {
	width: 100px;
}
.entry-card-content {
	margin-left: 110px;
}

.navi-footer-in a:hover {
  background-color: #006;
  text-decoration: underline 3px;
  text-underline-offset: 5px;
}

.navi-in a:hover {
  background-color: #ffffff;
  text-decoration: underline 3px;
  text-underline-offset: 5px;
}

/************************************
 *  AI Security Portal CSS Rules
 ************************************/
/*-----------------------------------
 - パンくずリスト
 -----------------------------------*/
/* アイコンを表示しない */
.breadcrumb .far,
.breadcrumb .fas {
	display: none;
}
/* ただし、右矢羽は表示 */
.breadcrumb .fas.fa-angle-right {
	display: revert;
}

/*-----------------------------------
 - SNS アイコン
 -----------------------------------*/
/* キャプションを表示しない */
.social-icon + .button-caption {
  position: fixed !important;
  top: 0px !important;
  left: 0px !important;
  width: 4px !important;
  height: 4px !important;
  opacity: 0 !important;
  overflow: hidden !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  visibility: visible !important;
}
/* 正方形にする */
.sns-share.ss-col-6 a {
	width: 40px;
		height: 40px;
}
@media screen and (max-width: 834px) {
	.sns-share.ss-top.ss-col-6 a,
	.sns-share.ss-bottom.ss-col-6 a {
		width: 40px;
		height: 40px;
	}
}
/* 右寄せにする */
.sns-buttons {
	justify-content: right;
}

/* 本文上には表示しない */
.sns-share.ss-top {
	display: none;
}
/*-----------------------------------
 - 投稿者表記
 -----------------------------------*/
.page .author-info.aisecp {
	display:none;
}

.single .author-info.aisecp {
	font-size: 0.8em;
	text-align: left;
}

/* 本文下には表示しない */
.footer-meta {
	display: none;
}

.date-tags{
	text-align: left;
}

.fas.fa-pencil-alt{
	display:none;
}


/*-----------------------------------
 - 検索窓
 -----------------------------------*/
/* ヘッダ内に検索窓を表示 */
#header-container-in .search-box {
    margin-bottom: 0;
	margin-left: 15px;
	width: 376px;
}

@media screen and (max-width: 834px) {
       #header-container-in .search-box,
	                        .bogo-language-switcher {
			display:none;
	}
}


@media screen and (min-width: 835px) and (max-width: 1023px) {
	#header-container-in .search-box,
	                     .bogo-language-switcher {
			display:none;
	}
}

.header-row1 {
    display: flex;
    align-items: baseline;
    flex-direction: row;
    justify-content: flex-end;
}

/* 検索結果ページの本文中検索窓を表示しない */
.main .search-box {
       display: none;
}

/*-----------------------------------
 - エントリーカード（記事概要表示）
 -----------------------------------*/
/* literature-database カテゴリの figure を表示しない */
.category-literature-database-post figure {
  display: none;
}
/* フロントページ内の文献データベース、文献データベース一覧、タグページ、関連文献表示ではマージンも削除する */
.front-top-page .list-category-7 .entry-card-content,
.category-literature-database .entry-card-content,
.tag .category-literature-database-post .entry-card-content,
.category-literature-database-post .widget-related-entry-card-content {
  margin-left: 0;
}
/* ただし、検索結果では解説記事と混在するためスペースを残す */
.search-results .category-literature-database-post figure {
  display: revert;
  visibility: hidden;
}
/* 検索結果で表示するカテゴリの調整 */
.entry-card-meta {
  min-width: calc(100% - 110px);
}
.entry-card-info {
  justify-content: space-between;
}
@media screen and (max-width: 480px) {
  .entry-card-meta {
    min-width: calc(100% - 101.6px);
  }
}
.entry-card-info .cat-label {
  position: static;
}
.entry-card-info > div > .post-date,
.entry-card-info > div > .post-update {
  font-size: 1em;
}
/* 記事一覧で表示するタグの調整 */
.aisecp-entry-card-tags {
  display: flex;
  flex-flow: row wrap;
  font-size: var(--cocoon-text-size-s);
}
.aisecp-entry-card-tags > .tag-caption {
  margin-right: 1em;
  margin-top: 0.4em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.aisecp-entry-card-tags .tax-icon {
  margin-right: 0.4em;
}

/*-----------------------------------
 - 記事一覧
 -----------------------------------*/
/* タイトル部分のアイコンを表示しない */
.archive-title .fas.fa-folder-open {
  display: none;
}

/*-----------------------------------
 - AIセキュリティマップ
 -----------------------------------*/
.toc-widget-box .toc-content{
  overflow-y: auto !important; 
  height: calc(100vh - 37px) !important;
}
#content-techmap img+p{
  margin-bottom: 0;
}
#content-techmap .element-definition{
  font-size: 0.6em;
}
#content-techmap th :where(h4, h5){
  border-top: none;
  border-bottom: none;
  margin-bottom: 0;
}
#content-techmap table .cell-short{
  width: 200px;
}
#content-techmap table .cell-middle{
  width: 400px;
}
#content-techmap table .cell-logn{
  width: 600px;
}
#content-techmap .cell-section p{
	margin-bottom: 5px;
	padding-left: 1em;
}
#content-techmap .cell-section p.cell-section-title{
	font-size: 1.2em;
	font-weight: bold;
	padding-left: 0;
}
#content-techmap .techmap-content{
	font-size: 1em;
}
#content-techmap .techmap-content ul{
	margin-bottom: 0;
}
#content-techmap .techmap-content ul li{
	margin: 0 auto;
}
.techmap-content table :where(th, td){
	padding: 0;
}
#content-techmap table tr:has(> .element-title.hash-selected){
	background-color: var(--cocoon-watery-yellow-color);
}
#content-techmap table tr:has(>.element-title>h4>span.hash-selected){
	background-color: var(--cocoon-watery-yellow-color);
}
#content-techmap table th.element-title{
	font-size: 1.25em;
	background-color: inherit;
}
@media screen and (max-width: 834px){
	#content-techmap table th.element-title{
		font-size: 1em;
	}
	#content-techmap .article table .cell-short{
	  width: 150px;
	}
}
#content-techmap #table-infosys{
  width: 100%;
}
#content-techmap #table-infosys :where(th, td){
	white-space: normal;
}
#content-techmap table :where(th, td){
  border-bottom: 1px solid var(--cocoon-grey-color);
  border-top: 1px solid var(--cocoon-grey-color);
  border-left: none;
  border-right: none;
  padding-top: 10px;
  padding-bottom: 20px;
}

#content-techmap #table-infosys-negatives :where(th, td){
	white-space: normal;
}
#content-techmap #table-external{
  width: 100%;
}
#content-techmap #table-external :where(th, td){
	white-space: normal;
}

#content-techmap #table-external-negatives :where(th, td){
	white-space: normal;
}

#content-techmap-detail .techmap-link-literature-database{
	margin-left: 2.5em;
}
#content-techmap-detail .techmap-reference-section h4{
	margin-bottom: 20px;
}
#content-techmap-detail .techmap-reference-section p{
	margin-bottom: 0;
}
#content-techmap-detail .techmap-reference-section{
	padding-bottom: 20px;
	margin-bottom: 20px;
}
#content-techmap-detail .techmap-reference-section.hash-selected{
	background-color: var(--cocoon-watery-yellow-color);
}

/*-----------------------------------
 - 文献データベース
 -----------------------------------*/
#content-literature-database .article-label{
  cursor: pointer;
	border: 1px solid var(--cocoon-x-thin-color);
    border-radius: 2px;
    color: var(--cocoon-text-color);
    padding: 3px 8px;
    text-decoration: none;
    font-size: 12px;
    margin: 2px;
    display: inline-block;
}
#content-literature-database .article-label::before{
	content: "\f02c";
	font-family: "Font Awesome 5 Free";
	margin-right: 7px;
	font-weight: 900;
}
#content-literature-database .article-source{
  margin: 3px auto;
}
#content-literature-database .literature-database-section{
  margin-top: 10px;
  margin-bottom: 20px;
}
#content-literature-database .article-label-annotation{
  font-size: 12px;
}
.category-literature-database-post .date-tags{
  display: none;
}
.list-category-7 .entry-card-info.e-card-info{
  display: none;
}
body.tag.archive .entry-card-info.e-card-info{
  display: none;
}

/*-----------------------------------
 - AIセキュリティフィード
 -----------------------------------*/
#content-related-info ul.news-list li{
  margin-bottom: 10px;
}
#content-related-info .news-list li p{
  margin: 0 auto;
}
#content-related-info .type-label{
	font-size: 0.7em;
    margin: 0px 5px;
    height: 20px;
    line-height: 17px;
    display: inline-block;
    padding: 1px 5px;
    border-width: 1px;
    border-style: solid;
    border-color: rgb(153, 153, 153);
    border-image: initial;
    border-radius: 2px;
}

#content-related-info .news-description{
  font-size: 12px;
}
#content-related-info .news-info{
  font-size: 12px;
}
#content-related-info .author-info{
  display: none;
}
#post-129 .date-tags{
  display: none;
}
body.page-id-263 ul.link-list{
  display: none;
  height: 0;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.5s;
}
body.page-id-263 h2{
  text-decoration: underline;
  cursor: pointer;
  position: relative;
  padding-right: 2em;
}
body.page-id-263 h2:before{
  content: "";
  width: 0.5em;
  height: 0.5em;
  border-top: 2px solid #666;
  border-right: 2px solid #666;
  -webkit-transform: rotate(45deg);
  position: absolute;
  top: calc(50% - 0.4em);
  right: 1.0em;
  transform: rotate(135deg);
}
body.page-id-263 h2.link-list-open:before{
  top: calc(50% - 0.2em);
  transform: rotate(-45deg);
}
body.page-id-263 h2.link-list-open + ul.link-list{
  display: block;
  height: auto;
  transition: all 0.5s;
}

/*-----------------------------------
 - フロントページ
 -----------------------------------*/
.front-top-page .list-title-in {
  padding: 0;
}
.front-top-page .list-title-in::before,
.front-top-page .list-title-in::after {
  display: none;
}

.front-top-page .list-title {
  text-align: left;
} 

.list-new-entries {
  display: none;
}

/*-----------------------------------
 - Not Found
 -----------------------------------*/
img.not-found {
  display: none;
}

/*-----------------------------------
 - Appeal area
 -----------------------------------*/

/* Appeal area message */

.appeal-content {
	background-color: transparent;
	text-align: left;
	margin:0;
}

.appeal-title,
.appeal-message {
	color: #fff;
}

/* Appeal Area Buttons */
.appeal-area-button {
    text-decoration: none;
    font-weight: bold;
    font-size: 14px;
	color: #fff;
    background-color: #001B31;
    padding: 0.5em 1.4em;
	border: 1px solid #fff;
    border-radius: 99px;
    margin: 1em 1em 0 0em;
	width: fit-content;
	min-width: max-content;
}

.appeal-area-button-container {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
}

@media screen and (min-width: 1024px) {
    .appeal-area-button-container {
        display: none;
    }
}

@media screen and (min-width: 600px) and (max-width: 1023px) {
	.appeal-area-button-container {
        flex-direction: row;
    }
}

/* literature category no labels*/
.categoryid-7 .article-footer .entry-tags{
	display: none;
}

/*　Search box style */
#header-container-in .search-edit {
	padding: 5px 15px 5px 15px;
}

/* 
 * Search & Filter Styles */

.searchandfilter ul:not(.children){
	padding-left:0px;
}
.searchandfilter li{
	display: block;
	width:100%;
	padding-right:10px;
}

.searchandfilter h4
{
	margin:15px 5px 5px 0px;
}
.searchandfilter input, select{
	padding:5px 15px 5px 15px;
}

.searchandfilter input[type=submit]{
	padding:5px 5px;
	width: auto;
	margin-top:15px;
}


/* feed-list sidebar */
#aisecfeed-side #content-related-info{
	font-size: 0.8em;
	padding: 0px 10px;
}

#aisecfeed-side #content-related-info ul{
	padding-left:0px;
	list-style-type: none;
	margin-bottom:8px;
}

/* list more button */
.list-more-button{
	color: #000066;
	border: 1px solid #000066;
	font-size:14px;
	padding: 0.3em 1.5em;
}

/* SNS follow footer */

.icon-x-corp-logo{
	width: 30px;
    border-radius: 5px;
    font-size: 16px;
    display: inline-flex;
    background-color: black;
    height: 23px;
    align-items: center;
    justify-content: center;
}

/* Categories sidebar */
#categories-2 ul li.cat-item.cat-item-7, li.cat-item.cat-item-63{
	display:none;
}

/* new article mark */
.new-article{
    background-color: #000066; 
    color: #fff; 
    font-size: 12px;
    padding: 2px 5px; 
    margin-left: 5px; 
}

/* Main padding */
.main {
	padding: 0 29px 0 29px;
}

@media screen and (max-width: 834px) {
    main.main, div.sidebar {
     padding: 0 16px;
	}
}

/* Bogo */

.bogo-language-switcher a {
  text-decoration: none;
}

.bogo-language-switcher .current a {
  display: none;
}

/* English version */

html:not([lang="en-US"]) .english{   
   display: none!important; 
}
html:not([lang="ja"]) .japanese {   
   display: none!important; 
}

html:not([lang="ja"]) .list-category-21.list-column{   
   display: none!important; 
}

html:not([lang="ja"]) .toc-title{   
   display: none!important; 
}

/* Frontpage */
.home h2{
    border: none;
    background: transparent;
    font-size: 20px;
    text-align: left;
	margin-bottom: 0.5em;
	color: #000066;
}

.home h3{
    border-left: none;
    border-right: none;
    border-top: none;
    border-bottom: none;
    background: transparent;
    text-align: center;
    font-size: 18px;
    margin-bottom: 0.5em;
	color: #000066;
}

.frontpage-full {
	margin: 0 calc(50% - 50vw);
	padding: 0 calc(50vw - 50%);
}

.content {
    margin-top: 0px;
}

/* K Program logo */
.header-in {
  flex-direction: row;
}

.kprogram-logo-img {
  height: 45px; 
}

.cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1rem;
  margin: 0;
  padding: 0px 26px;
  list-style: none;
}

.card {
  display: grid;                 /* image + title stack */
  grid-template-rows: auto 1fr;
  background: #fff;
  color: inherit;
  text-decoration: none;
  border: 1px solid #e5e7eb;     /* light gray */
  border-radius: 12px;
  box-shadow: 0 1px 2px rgba(0,0,0,.06);
  overflow: hidden;
  transition: background-color .2s, box-shadow .2s, border-color .2s;
}

.card:hover,
.card:focus-visible {
  background: #f3f6ff;           
  border-color: #c7d2fe;        
  box-shadow: 0 2px 8px rgba(0,0,0,.12);
  outline: none;                
}

.card img {
  display: block;
  width: 100%;
  height: 160px;                 
  object-fit: cover;
}

.card h3 {
  font-size: 1rem;
  line-height: 1.3;
  overflow: auto; 
}

/* frontpage scrollable news */
.scrollable-news {
  flex: 1 1 auto;    
  min-height: 0;     
  height: 650px;
  overflow-y: auto;
  padding: 26px;
  box-shadow: 0px 4px 8px -2px rgba(48, 48, 48, 0.1);
  scrollbar-width: thin;
  scrollbar-color: transparent transparent; /* Firefox: transparent by default */
}

html:not([lang="ja"]) .scrollable-news{   
  height: 400px; 
}

.scrollable-news:hover {
  scrollbar-color: #d3d3d3 #fff;
}

.scrollable-news::-webkit-scrollbar {
  width: 8px;
  background: transparent;
}

.scrollable-news:hover::-webkit-scrollbar {
  width: 8px;
}

.scrollable-news::-webkit-scrollbar-thumb {
  background: transparent;
  border-radius: 4px;
}

/* On hover, visible */
.scrollable-news:hover::-webkit-scrollbar-thumb {
  background: #d3d3d3;
}

.scrollable-news ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.scrollable-news ul li {
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid #edeef4;
}

.scrollable-news ul li:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}