@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Template:   cocoon-master
Version:    1.0.6
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/

/* =========================================================
   ブログカード共通
   ========================================================= */
.blogcard {
	padding: 1rem;
	color: #666;
	position: relative;
	border-color: #e0c48a !important; /* 枠線をゴールド系に統一 */
}

a.blogcard-wrap:hover{
	background-color: transparent!important;
	opacity: 0.8;
}

a.blogcard-wrap:hover img.blogcard-thumb-image{
	transform: scale(1.1);
	transition: .3s;
}

.blogcard-thumbnail {
	line-height: 0;
	margin-right: 1rem;
	overflow: hidden;
}

.blogcard-title{
	margin-bottom: .5rem;
}

.blogcard-snipet{
	font-size: 70%;
	line-height: 1.7;
	padding-right: 10%;
}

@media screen and (max-width: 480px){
	.blogcard-thumbnail{
		width: 40%;
	}
	.blogcard-snipet{
		display: none;
	}
}

.internal-blogcard-footer{
	display: none; /* 内部ブログカードのアイコンとURLを非表示 */
}

.internal-blogcard::after{
	content: '続きを読む'; /* 0bb表記の修正済み */
	position: absolute;
	bottom: .5rem;
	right: 1rem;
	font-size: 70%;
	background-color: #cf9a2e; /* ゴールドに統一 */
	padding: .4em 3em;
	font-weight: bold;
	color: #fff;
	border-radius: 2px;
}


/* =========================================================
   ヘッダー: 画像の上にボルドーのカバーを重ねる
   実際の構造(header-container.php)で確認済み
   ========================================================= */
#header-container {
	position: relative;
}

#header-container::before {
	content: "";
	position: absolute;
	inset: 0;
	background-color: rgba(122, 45, 58, 0.62); /* 濃いボルドー */
	pointer-events: none;
	z-index: 1;
}

#header-container-in {
	position: relative;
	z-index: 2;
}

/* メニュー部分は写真の色に左右されないよう直接ボルドーを指定 */
#navi {
	background-color: #7a2d3a !important;
}


/* =========================================================
   見出し h2 / h3(本文内)
   ========================================================= */
.entry-content h2 {
	background-color: #b5707a; /* 背景つきh2はそのまま維持しトーンだけ変更 */
	color: #fff;
}

.entry-content h3 {
	background-color: transparent !important; /* 塗りは廃止し透過に */
	border: 1px solid #e3d2b8;
	border-left: 5px solid #cf9a2e; /* 左だけ太いゴールド線 */
	color: #7a5240;
}


/* =========================================================
   サイドバー: 検索・アーカイブの枠とフォーカス制御
   ========================================================= */
#sidebar .search-box,
#sidebar .widget_archive select,
#sidebar .widget_categories select {
	background-color: #fdf6ec;
	border: 1px solid #e0c48a;
	border-radius: 5px;
}

#sidebar .search-input,
#sidebar .widget_archive select,
#sidebar .widget_categories select {
	outline: none !important;
	box-shadow: none !important;
	-webkit-appearance: none;
	appearance: none;
}

#sidebar .search-box:focus-within,
#sidebar .widget_archive select:focus,
#sidebar .widget_categories select:focus {
	border-color: #cf9a2e !important;
	box-shadow: 0 0 0 2px rgba(207,154,46,0.25) !important;
}

/* メタ情報ウィジェットを非表示に(実装漏れの修正) */
#sidebar .widget_meta {
	display: none !important;
}

/* サイドバーウィジェット間の余白を拡大(間に別要素が挟まっても効くよう範囲を広げる) */
#sidebar .widget ~ .widget {
	margin-top: 64px;
}

/* ウィジェット見出し: 背景なし・ボルドーの文字とアクセント */
#sidebar .widget-title {
	background: none !important;
	background-color: transparent !important;
	color: #7a2d3a !important;
	display: flex;
	align-items: center;
	gap: 6px;
}

#sidebar .widget-title * {
	color: #7a2d3a !important;
}

#sidebar .widget-title::before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	background-color: #7a2d3a;
	transform: rotate(45deg);
	flex-shrink: 0;
}

/* サイドバーのリスト本体: 雑誌目次風の装飾 */
#sidebar .widget ul {
	list-style: none;
	margin: 0;
	padding: 10px 4px;
	border-top: 2px solid #7a5240;
	border-bottom: 1px solid #7a5240;
	counter-reset: toc-counter;
}

#sidebar .widget ul li {
	padding: 8px 4px;
	border-bottom: 1px dotted #cbb896;
	counter-increment: toc-counter;
}

#sidebar .widget ul li:last-child {
	border-bottom: none;
}

#sidebar .widget ul li > a {
	display: inline;
}

#sidebar .widget ul li::before {
	content: counter(toc-counter, decimal-leading-zero) "  ";
	color: #cf9a2e;
	font-weight: bold;
}

/* 入れ子のサブカテゴリーなどは番号なしのシンプル表示に */
#sidebar .widget ul ul {
	border: none;
	padding: 4px 0 4px 16px;
	counter-reset: none;
}

#sidebar .widget ul ul li {
	counter-increment: none;
	border-bottom: none;
	padding: 4px 0;
}

#sidebar .widget ul ul li > a {
	display: inline;
}

#sidebar .widget ul ul li::before {
	content: "・ ";
	color: #cbb896;
	font-weight: normal;
}


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

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

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

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


/* OtaWork スマホ用サイト内検索 */

#otawork-search-button,
#otawork-search-overlay {
  display: none;
}

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

  #otawork-search-button {
    display: flex;
    position: fixed;
    top: 16px;
    right: 16px;
    z-index: 99990;

    width: 44px;
    height: 44px;
    padding: 0;

    align-items: center;
    justify-content: center;

    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);

    cursor: pointer;
  }

  #otawork-search-button svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: #555;
    stroke-width: 2;
  }

  /* WordPressログイン中は管理バーと重ならないように下げる */
  body.admin-bar #otawork-search-button {
    top: 64px;
  }

  #otawork-search-overlay.is-open {
    display: flex;
    position: fixed;
    inset: 0;
    z-index: 99999;

    align-items: flex-start;
    justify-content: center;

    padding: 110px 18px 20px;
    background: rgba(0, 0, 0, 0.55);
  }

  #otawork-search-box {
    position: relative;
    width: 100%;
    max-width: 520px;

    padding: 24px 18px 18px;
    border-radius: 10px;
    background: #fff;
    box-sizing: border-box;
  }

  .otawork-search-title {
    margin-bottom: 14px;
    font-size: 20px;
    font-weight: bold;
  }

  #otawork-search-close {
    position: absolute;
    top: 5px;
    right: 10px;

    border: 0;
    background: transparent;

    font-size: 28px;
    cursor: pointer;
  }

  #otawork-search-form {
    display: flex;
    gap: 8px;
  }

  #otawork-search-form input[type="search"] {
    flex: 1;
    min-width: 0;
    height: 46px;

    padding: 0 10px;
    border: 1px solid #bbb;
    border-radius: 5px;

    font-size: 16px;
  }

  #otawork-search-form button {
    height: 46px;
    padding: 0 16px;

    border: 0;
    border-radius: 5px;

    background: #555;
    color: #fff;
    font-size: 15px;
  }
}
