@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
*/

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

/*基本文字色*/
:root {
  --cocoon-text-color: #555;
}

/*画像の中央配置*/
.img-box {
   text-align:center;
}

/*アイキャッチ画像のカテゴリーラベルを非表示にする*/
.cat-label {display:none}


/*カテゴリー表示*/
.entry-categories a:hover { 
   background: #3bb5f8; /*カーソルを合わせた時の背景色*/
   border: 1px solid #fff; /*カーソルを合わせた時の線色*/
   color: #fff; /*カーソルを合わせた時の文字色*/
   transition: 0.5s; /*アニメーションの時間*/
}


/*タグ表示*/
.entry-tags a:hover { 
   background: #3bb5f8; /*カーソルを合わせた時の背景色*/
   border: 1px solid #fff; /*カーソルを合わせた時の線色*/
   color: #fff; /*カーソルを合わせた時の文字色*/
   transition: 0.5s; /*アニメーションの時間*/
}

/*タグクラウド*/
.tagcloud a { 
   background: #555;
   border: 1px solid #fff;
   color: #fff;
   transition: .5s;
}

.tagcloud a:hover { 
   background: #3bb5f8; /*カーソルを合わせた時の背景色*/
   border: 1px solid #fff; /*カーソルを合わせた時の線色*/
   color: #fff; /*カーソルを合わせた時の文字色*/
   transition: 0.5s; /*アニメーションの時間*/
}

/*作品データテーブル*/
.flexible_table{
  position: relative;
  width: 100%;
  margin: 0 auto;
}

#flextable_td_title{
  width: 25%;
  text-align:center;
  color:#333333;
  background-color:#f3f5f8;
}

#flextable_td_detail{
  width: 75%;
  color:#333333;
  background-color:#ffffff;
}

/*キラーンと光るボタン*/
.shine_button_box{
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  margin: 55px auto 25px;
}

.shine_button{
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  line-height: 55px;
  letter-spacing: 0.5px;
  width: 88%;
  height: 55px;
  background: #3bb5f8;
  margin: auto;
  cursor: pointer;
  border-radius: 8px;
  overflow: hidden;
  position: relative;
}

.shine_button:before{
  position: absolute;
  content: '';
  display: inline-block;
  background: linear-gradient(to right,rgba(255,255,255,0), rgba(255,255,255,0.9));
  width: 50px;	/* 横幅 */
  height: 50px;	/* 縦幅 */
  top: -60px;	/* ボタン左上を基準に上へ60pxの位置 */
  left: -60px;	/* ボタン左上を基準に左へ60pxの位置 */
  /* アニメーションの動作指定 */
  animation-name:shine-run;	/* アニメーション名の指定 */
  animation-delay:0s;		/* アニメーションの開始時間指定 */
  animation-duration: 3s;	/* アニメーション動作時間の指定 */
  animation-timing-function: ease-in;	/* アニメーションの動き指定（徐々に早く）*/
animation-iteration-count: infinite;	/* アニメーションの無限繰り返しの指定 */
}

.shine_button a {
  display: block;
  color: #fff;
  text-decoration: none;
}

.shine_button a:hover {
  color: #555;
  background: #fab358;
  text-decoration: none;
  border-radius: 8px;
}

/*アニメーション｜キラーン*/
@keyframes shine-run {
  0% {
  transform: scale(0) rotate(50deg);  /* アニメ開始時は大きさ0、50度の傾き */
  opacity: 0;  /* アニメ開始時は全透過 */
}
  40% {
  transform: scale(1) rotate(50deg);  /* 40%まで進む間に大きさを等倍に。傾きは50度のまま*/
  opacity: 1;  /* 透過しない（しっかり表示される）ように1を設定 */
}
  100% {
  transform: scale(250) rotate(50deg);  /* 最後は元の大きさの250倍になるようにする。傾きは50度のまま*/
  opacity: 0;  /* 全透過になるようにして、徐々に消えるような変化を付ける */
}
}

/*マスキングテープ風ボックス*/
.box2{
	background-color: #f3f5f8;/*ボックス背景色*/
	padding:2.5em 2em 2em;/*ボックス内側余白*/
	position:relative;/*配置(ここを基準に)*/
}
.box2 .box-title {
	background-image: repeating-linear-gradient(-45deg,#e3e5e8 0, #e3e5e8 3px,#fafafa 3px,#fafafa 6px);/*ストライプ*/
	border-left: 2px dotted rgba(0,0,0,.1);/* ギザギザ左*/
	border-right: 2px dotted rgba(0,0,0,.1);/* ギザギザ右*/
	transform: rotate(-2deg);/*テープの傾き*/
	font-size: 1em;/*タイトル文字の大きさ*/
	font-weight: bold;/*タイトル文字の太さ*/
	padding: 10px 20px;/*タイトルの余白*/
	line-height: 1;/*タイトルの行の高さ*/
	position:absolute;/*配置(ここを動かす)*/
	top: -15px; /*上からの距離*/
	left: 20px; /*左からの距離*/
}

/*交差線ボックス*/
.box4{
    margin: 0.5em auto 2.5em;
    position: relative;
    padding: 0.5em 1.5em;
    border-top: solid 2px #555;
    border-bottom: solid 2px #555;
	width: 99%;
}
.box4:before, .box4:after{
    content: '';
    position: absolute;
    top: -10px;
    width: 2px;
    height: -webkit-calc(100% + 20px);
    height: calc(100% + 20px);
    background-color: #555;
}
.box4:before {left: 10px;}
.box4:after {right: 10px;}
.box4 p {
    margin: 0; 
    padding: 0;
}

/*上にだけ細線のボックス*/
.box6{
    padding: 0.5em 1em;
    margin: 0 auto 2.5em;
    color: #5d627b;
    background: white;
    border-top: solid 5px #5d627b;
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);
	width: 99%;
}
.box6 p {
    margin: 0; 
    padding: 0;
}

/*横にだけ太線のボックス*/
.box7 {
    padding: 0.5em 1em;
    margin: 0 auto 2.5em;
    color: #882828;
    background: #fff8f5;
    border-left: solid 8px #882828;
	width: 95%;
}
.box7 p {
    margin: 0; 
    padding: 0;
	font-size: 0.9em;
}

/* タイトル付き（ラベルボックス） */
.box8 {
    position: relative; /* タイトルの配置調整のために基準を設定 */
    margin: 0 auto 2em; /* 外側の余白（上下と中央配置） */
    border: 2px solid #5d627b; /* ボックスの線 (太さ・種類・色) */
	width: 95%;
}

.box8 .box-title {
    position: absolute; /* タイトルをボックス内で絶対位置指定 */
    top: -0.5em; /* 上方向に少し移動 */
    left: 1em; /* 左端からの距離 */
    background-color: #fff; /* タイトル背景色 */
    color: #5d627b; /* タイトルの文字色 */
    padding: 0 .5em; /* タイトルの内側余白 */
    font-weight: bold; /* タイトルのフォントを太字に */
    line-height: 1; /* タイトルの行の高さ */
    display: inline-block; /* タイトルの幅を内容に合わせる */
    width: auto; /* タイトル幅を内容に応じて可変にする */
    max-width: calc(100% - 2em); /* 左右の余白を考慮して最大幅を調整 */
    white-space: nowrap; /* タイトルを1行に固定 */
    overflow: hidden; /* はみ出した部分を非表示 */
    text-overflow: ellipsis; /* 省略記号（...）を表示 */
}

.box8 .box-content {
    padding: 1em; /* ボックス内コンテンツの余白を設定 */
}

.box8 p {
    margin: 0; /* 段落の余白をなくして統一感を持たせる */
}

/*関連記事を出力*/
.related-post-wrap {
  margin: 2em auto;
}
 
.related-post-wrap ul {
  display: grid;
  list-style: none;
  padding-left: 0px;
  gap: .875em;
  grid-template-columns: repeat(4, 1fr);
}
 
.related-post a {
  display: block;
  text-decoration: none;
  color: #555;
}
 
.related-post a:hover {
  opacity: .6;
}
 
.related-post img {
  display: block;
  width: 100%;
  aspect-ratio: 3/2;
  margin-bottom: .5em;
  object-fit: cover;
}
 
.related-post .text-wrap {
  font-size: 77%;
  letter-spacing: -0.5px;
  line-height: normal;
  font-weight: bold;
}
 
@media (max-width: 600px) {
  .related-post-wrap ul {
    grid-template-columns: repeat(2, 1fr);
  }
}


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

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

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
	
.article h2 {
	font-size: 1em;
}
	
}