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

/****************************************************
 ❶ 全体設定
****************************************************/

/* PC 上に戻るボタン サイズ調整 */
.go-to-top-button {
    width: 65px;
	height:60px;
}

/* cocoon標準ボタン マウスオーバー*/
.wp-block-buttons>.wp-block-button .wp-block-button__link {
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
.wp-block-buttons>.wp-block-button .wp-block-button__link:hover {
    background-color: orange !important;
    color: white !important;
    border-color: #fff5c6!important;
}

/* 明朝系フォント（class入れる）*/
.mincho {
	font-family: "Hiragino Mincho ProN", "游明朝", "Yu Mincho", "MS Mincho", serif;
}


/* ------------------------------
   スマホの文字調整  
---------------------------------*/

/* スマホで中央揃え＋改行の解除 */
@media (max-width: 767px) {
  .sp-left-reset {
    text-align: left !important;
  }
  .sp-left-reset br {
    display: none!important;
  }
}


/****************************************************
 ❷ ヘッダー／グローバルナビ設定
****************************************************/

/* ヘッダーロゴサイズ */
.header-container-in.hlt-top-menu .logo-header img {
	max-height: 37px;
}


/* =========================================
   PCだけ：ヘッダーを左右いっぱいに広げる
   ※全ページ共通
========================================= */
@media screen and (min-width: 1024px) {

  /* ヘッダー全体 */
#header-container,.header-container {
    width: 100% !important;
    max-width: none !important;
    background: #fff !important; /* 必要に応じて transparent に変更 */
}
/* ロゴ＋メニューの内側 */
#header-container .header-container-in,
.header-container .header-container-in {
  	width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 24px !important;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
}
/* ロゴ側 */
.header-logo,.logo-header,.header .logo {
    flex: 0 0 auto;
}
/* ナビ側を右まで使う */
#navi, .navi {
    flex: 1 1 auto;
    margin-left: 24px;
    width: auto !important;
}
#navi .navi-in,.navi .navi-in,
#navi-in {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}
/* メニューを右寄せ */
#navi .navi-in > ul,.navi .navi-in > ul {
    display: flex !important;
    justify-content: flex-end;
    align-items: center;
    flex-wrap: nowrap;
    width: 100%;
}
/* メニュー文字 */
#header-container #navi a,.header-container #navi a,
#header-container .navi a,.header-container .navi a {
    white-space: nowrap;
}
/* ロゴ画像 */
.custom-logo,.header-logo img,.logo-image img {
    max-width: 100%;
    height: auto;
}
} /* ← メディアスクリーン閉じる*/

/* スマホ・タブレット：ヘッダー非表示 */
@media screen and (max-width: 1023px) {
#header-container,  .header-container {
    display: none !important;
  }
}


/*----------------------------------------
 　PCグローバルナビ系
 -----------------------------------------*/

/* グローバルナビ */
#navi .navi-in>ul>li>a {
    padding: 0 0.95em;
}
.navi-in a {
	font-size: 0.9em;
}

/* グローバルナビのアイコン */
.navi-in > ul, .navi-icon{
	margin-right: 5px;
	color: #4f7fb5;
}

/* グローバルナビ ホーバー背景色 */
#navi .navi-in a:hover {
	background-color: #fff5c6;
}
.go-to-top:hover {
	transform: translateY(-15px);
	transition: transform 0.1s;
}


/*----------------------------------------
 　モバイル ヘッダーボタン色
-----------------------------------------*/
.mobile-header-menu-buttons {
  color: #727477!important;
}

.mobile-header-menu-buttons .menu-button-in,
.mobile-header-menu-buttons .custom-menu-icon,
.mobile-header-menu-buttons .menu-caption,
.mobile-header-menu-buttons .menu-icon,
.mobile-header-menu-buttons a {
  color:#727477!important;
}


/*----------------------------------------
   PCグローバルナビ：CTAボタンのみ装飾
-----------------------------------------*/
@media screen and (min-width: 1024px) {

  /* CTAのli自体を中央揃え */
  #navi .navi-in > ul > li.nav-contact-btn,
  .navi .navi-in > ul > li.nav-contact-btn {
    display: flex;
    align-items: center;
    margin-left: 14px;
  }

  /* CTAボタン本体 */
  #navi .navi-in > ul > li.nav-contact-btn > a,
  .navi .navi-in > ul > li.nav-contact-btn > a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;

    min-width: 148px;
    padding: 0.72em !important;

    background: linear-gradient(135deg, #6997e1 0%, #0b67ea 100%)!important;
    color: #ffffff !important;

    border-radius: 5px;
    letter-spacing: 0.04em;
    line-height: 1.1;

    box-shadow: 0 6px 16px rgba(255, 157, 0, 0.28);
    transition:
      transform 0.9s ease,
      box-shadow 0.9s ease,
      background 0.9 ease;
  }

  /* CTA hover */
  #navi .navi-in > ul > li.nav-contact-btn > a:hover,
  .navi .navi-in > ul > li.nav-contact-btn > a:hover {
    background: linear-gradient(135deg, #ffa51f 0%, #f28c00 100%) !important;
    color: #ffffff !important;
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(255, 157, 0, 0.36);
  }

  /* CTA内の文字色 */
  #navi .navi-in > ul > li.nav-contact-btn > a span,
  #navi .navi-in > ul > li.nav-contact-btn > a .item-label,
  .navi .navi-in > ul > li.nav-contact-btn > a span,
  .navi .navi-in > ul > li.nav-contact-btn > a .item-label {
    color: #ffffff !important;
  }

  /* CTA内のCocoonアイコンだけ白にする */
  #navi .navi-in > ul > li.nav-contact-btn .navi-icon,
  .navi .navi-in > ul > li.nav-contact-btn .navi-icon,
  #navi .navi-in > ul > li.nav-contact-btn i,
  .navi .navi-in > ul > li.nav-contact-btn i {
    color: #ffffff !important;
  }

  /* CTA内のアイコン余白を少し整える */
  #navi .navi-in > ul > li.nav-contact-btn .navi-icon,
  .navi .navi-in > ul > li.nav-contact-btn .navi-icon {
    margin-right: 7px;
  }
}



/****************************************************
 ❸ メインカラム・本文設定
****************************************************/

/* PC メインカラム 上下余白 */
.main {
	padding: 15px 35px!important;
}

/* モバイル メインカラム 上下余白 */
@media screen and (max-width: 1023px) {
.main {
	padding: 15px!important;
}
}

/* 記事SNSアイコンの文字サイズ縮小 */
.sns-share-buttons a .button-caption {
    font-size: 13px;
}

/* 吹き出し（余白広げる）*/
div.speech-balloon p {
    margin: 5px 8px;
}

/*---------------------------*/
/* 本文の見出しデザイン */
/*---------------------------*/

.article h2 {
	position: relative;
	background: #fff7d1;
	padding: 0.7em 0.5em;
	border-left: solid 2em #ffb135;
	font-size:1.3em;
	margin:100px 0 30px;
}

.article h2:before {
	font-family: "Font Awesome 5 Free";
	content: "\f144";
	position: absolute;
	padding: 0em;
	color: white;
	font-weight: 700;
	left: -1.5em;
	top: 50%;
  -webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.article h3 {
	border: none; /* テーマ設定解除 */
	padding: 0.5em 0.6em;
	background: #fbfbfb;
	border-left: solid 10px #ffb135;
	border-bottom: solid 2px #d7d7d7;
	font-size:20px;
	margin:100px 0 30px;
}

.article h4 {
	border: none; /* テーマ設定解除 */
	padding: 0.25em 0.5em;
	background: transparent;
	border-left: solid 7px #939393;
	font-size: 18px;
}

/*---------------------------*/
/* リストの点を青く */
/*---------------------------*/
.wp-block-list li::marker {
    color: #2196f3;
}

/*---------------------------
　もくじデザイン
---------------------------*/

/* もくじ全体デザイン */
.toc-center {
	margin-bottom: 70px !important;
}

/* 全体の最小幅を50%に */
.toc {
	min-width: 50%;
	width: auto; /* 自動調整を許可 */
	max-width: 100%; /* はみ出し防止 */
}

/* もくじアイコン */
.toc-title:before {
	width: 50px;
	height: 50px;
	font-family: "Font Awesome 5 Free";
	content : "\f03c";
	font-size:22px;
	margin-right:8px;
	color:#FFF;
}

.toc-title{
	background-color:#ffb135;
	font-size: 19px;
	padding: 0.1em;
	font-weight: 600; 
	color: #ffffff;
	font-family: "Font Awesome 5 Free";
	content : "\f03c";
	margin-bottom: 10px
}

/*見出し2（H2）の設定*/
.toc-content > .toc-list > li:before { 
	font-family: "Font Awesome 5 Free";
	content: "\f144";
	font-weight: 900;
	color: #ffb135;
	padding-right:8px;
}
.toc-content .toc-list li {
	font-weight:600;
}

/*H3以降の文字サイズ*/
.toc-content .toc-list li li {
	font-weight:normal;
}
.toc .toc-list ul, .toc .toc-list ol {
	padding-left: 1.25em;
}


/*--------------------------------
  トグル開閉のデザイン（シンプルに）
/*--------------------------------*/

.toggle-button {
    border: none !important;
    border-bottom: 2px solid #dcdcdc !important; 
    padding: 5px 0;
    background: #fff;
    display: flex !important;
    align-items: center;
    justify-content: flex-start !important;
    text-align: left !important;
    width: 100%;
}
.toggle-checkbox:checked + .toggle-button {
    border-bottom: none !important;
}
.toggle-checkbox:checked ~ .toggle-content {
    border: none !important;
    border-bottom: 2px solid #dcdcdc !important;
    padding: 20px 0 50px;
}

/*--------------------------------
  案内ボックスのデザイン
/*--------------------------------*/
.information-box:before, .question-box:before, .alert-box:before {
	padding-right:.15em;
	line-height:1em;
	position: absolute;
	top:50%;
	margin-top:-.5em;
}
.information-box {
	background:rgba(135,206,250,.1);
	border:1px solid rgba(135,206,250,.5);
}
.information-box:before {
	color:#87cefa;
	border-right: 1px solid rgba(135,206,250,.5);
}
.question-box:before {
	color:gold;
	border-right: 1px solid rgba(255,215,0,.5);
}
.question-box  {
	background:rgba(255,215,0,.2);
	border: 1px solid rgba(255,215,0,.5);
}
.alert-box{
	background:rgba(240,128,128,.1);
	border:1px solid rgba(240,128,128,.5);
}
.alert-box:before {
	border-right: 1px solid rgba(240,128,128,.5);
}


	
/*---------------------------*/
/*モバイル ブログ記事一覧の文字サイズ*/
/*---------------------------*/
@media screen and (max-width: 834px){
.related-entry-card-title, .entry-card-title {
    font-size: 14px !important;
	font-weight: 500;
}

/*---------------------------*/
/*モバイル ブログページのタイトル余白 */
/*---------------------------*/
.entry-title {
	padding:0 0 10px;		
}
	}
	

/*----------------------------------------
 　PCブログ記事一覧 リスト系
 -----------------------------------------*/

/* 記事一覧リスト 影と視覚効果 */
.entry-card-wrap {
	box-shadow: 0 0 1px 0 rgba(0,0,0,.2), 0 1px 5px 0 rgba(0,0,0,.2);
}
.entry-card-wrap:hover {
	transform: translateY(-2px);
}

/* 記事一覧 カラム間余白 */
.ect-vertical-card {
    column-gap: 3%;
}
.ect-vertical-card .entry-card-wrap {
	width: 48.5%; /* 余白と併せて100 */
}

/* 記事一覧 タイトル文字サイズ･余白 */
.related-entry-card-title, .entry-card-title {
    font-size: 16px;
    margin: 0.5em 0 0.8em 0;
}

/* 記事一覧 ページ送りボタン */
.pagination-next {
	display: none;
}
.page-numbers {
	border-radius: 25px;
}

/* カテゴリ一覧の表記 */
.archive-title {
    display: none;
}

/* 本文下の関連記事 タイトル文字サイズ */
.rect-vertical-card .related-entry-card-title {
    font-size: 14px;
}



/*----------------------------------------
 　関連記事リンクのカード
 -----------------------------------------*/
/* ブログカード（関連記事） */
.blogcard-label {
    top: -15px;
    background-color: #4ba0e9;
}
.blogcard {
    padding: 3.6% 2.2% 2%;
}
.blogcard-title {
    font-size: 1.13em;
	padding: 0 5px;
}
.carousel-entry-card-title, .blogcard-snippet {
    padding: 0.6em 5px;
}
.blogcard-footer {
    font-size: 13px;
}


/*---------------------------------
  モバイル 本文SNSアイコン3列→6列 
/*---------------------------------*/
/* sns-shareの共通設定 */
.sns-share.ss-top.ss-col-6 a, 
.sns-share.ss-bottom.ss-col-6 a, 
.sns-share.ss-top.ss-col-5 a, 
.sns-share.ss-bottom.ss-col-5 a {
    width: 15%;
}
/* sns-buttonsの共通設定 */
.sns-share.ss-top.ss-col-6 .sns-buttons,
.sns-share.ss-bottom.ss-col-6 .sns-buttons, 
.sns-share.ss-top.ss-col-5 .sns-buttons, 
.sns-share.ss-bottom.ss-col-5 .sns-buttons {
    column-gap: 1.75%;
}
/* sns-share-buttonsの共通設定 */
.ss-top .sns-share-buttons a, 
.ss-bottom .sns-share-buttons a {
    font-size: 18px;
}
/* ボタンキャプションの非表示 */
.ss-top .sns-share-buttons a .button-caption, 
.ss-bottom .sns-share-buttons a .button-caption {
    display: none;
}
/* sns-buttonsの高さ設定 */
.sns-buttons a {
    height: 40px;
}





/****************************************************
 ❹ サイドバー・フッター
****************************************************/


/*-------------------------------------
  サイドバーの見出し（背景色＋中央揃え）
/*------------------------------------*/
.sidebar h2, .sidebar h3 {
    background-color: #ffb135;
    padding: 8px;
    color: #fff;
    text-align: center;
}

/*-------------------------------------
  サイドバー 追従もくじデザイン
/*------------------------------------*/
.sidebar-scroll{
	top:15px !important;
}
.sidebar h3{
	font-size:0.9em;
	padding: 7px 12px;
}
.sidebar .widget_toc{
	box-shadow: 0 2px 10px rgba(0, 0, 0, .08);
}
.sidebar .toc-widget-box{
	margin-top: -0.9em;
}
.sidebar .toc{
	padding: 0;
	width:100%;
}
.sidebar .toc-content {
	overflow-y: scroll;
	max-height: 390px;
	background: #fff;
	padding: 0.5em 1.5em;
}
.sidebar .toc li{
	line-height:1.6;
	margin-bottom: 1em;
	font-size:0.85rem;
	color:#3cb8f1;
}
.sidebar .toc-content > ol  > li,.sidebar .toc-content > ul  > li{
	font-weight:600;
	padding-left: 0.5em;
}
.sidebar .toc-content a{
	letter-spacing:0.5px;
}
.sidebar .toc .toc-list ul, .sidebar .toc .toc-list ol {
	margin: 1em 0;
	list-style-type:none;
	font-weight:500;
}
@media screen and (max-width: 768px){
  .sidebar-menu-button .widget_toc{
    display:none;
  }
}

/*---------------------------
 　モバイル サイドバー調整
/*---------------------------*/

@media screen and (max-width: 834px){
/* サイドバー 検索バー非表示 */
aside#search-5 {
   display: none;
}
}



/*--------------------------------*/
/* フッターモバイルボタン透明背景色 */
/*--------------------------------*/
.mobile-footer-menu-buttons {
	background: rgba(1,1,1,0.6); 
}
.mobile-footer-menu-buttons .menu-button,
.home-menu-button menu-button,
.mobile-menu-buttons .home-menu-button > a,
.mobile-menu-buttons .top-menu-button > a {
	color: #fff;
}


/*----------------------------------
 フッターウィジェットのメニュー調整
-----------------------------------*/

/* フッターナビ 通常時／下線解除 */
#footer a:not(.sns-button), .footer-title {
	text-decoration: none;
}

/* フッターナビ ホバー時／下線解除＋色 */
#footer a:not(.sns-button):hover,
#footer a:not(.sns-button):focus-visible {
	text-decoration: none;
	color: #ffb135;
}



/***********************************************
 ❺ その他、機能追加（PHP･JS連動）
***********************************************/

/* リンク画像のホーバー視覚効果  */
.animated-link img {
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.animated-link:hover img {
	transform: scale(1.03);
	opacity: 0.8; 
}


/*--------------------------------
　モバイル 左スライドメニュー デザイン
/*--------------------------------*/
.menu-close-button {
	display:none;
}
.menu-content {
	background:rgba( 255, 255, 255, 0.93 ); 
}

ul.menu-drawer:before {
	content: "MENU"; 
	display: block;
	background-color: #888;
	color: #fff; 
	font-size: 1.1em;
	font-weight: bold;
	text-align: center;
	padding: 7px;
	margin: 15px 0;
}
ul.menu-drawer:after {
	background-color: #fff;
}
.menu-drawer a {
	color: #555 !important;/* 文字色 */
	font-size: 1em;
	font-weight: 600;
	padding: 0.9em 0 0.9em 0.7em;
	border-bottom: 1px solid #c5c3c3;
}
.menu-drawer a:hover {
	background-color: #eff8f9;
}
.menu-drawer a .fas, .menu-drawer a .far,.menu-drawer a .fa,.menu-drawer a .fab {
	margin-right: 7px;
	color:  #4f7fb5;
}
.sub-menu li {
	font-size: 0.8em;
}

.fa-chevron-right:before {
    content: "\f054";
    color:  #4f7fb5;
    padding-right: 7px;
}



/*---------------------------　
/* 通知エリアの流れるテキスト 　*/
/*---------------------------*/
.notice-area {
	overflow: hidden;
	white-space: nowrap;
	padding: 0.4em;
}
.notice-area-message {
	display: inline-block;
	padding-left: 100%; 
	animation: slideMessage 12s linear infinite; 
}
@keyframes slideMessage {
	to {
	transform: translateX(-100%); 
	}
}
@media screen and (min-width: 1023px) {
	.notice-area-message {
	animation-duration: 25s;
	}
}

