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

/************************************
** 子テーマ用のスタイルを書く
************************************/
.entry-title{display:none;}

/* ヘッダー幅を全幅に */
.header-container-in.hlt-top-menu {
	width:100% !important;
	padding-left: 0;
	padding-right: 0;
}

.article h2 {
  border-left: 7px solid #000000;
  font-size: clamp(1.4rem, 3vw, 1.8rem);
  font-weight: 600;
  padding: 0.5em 1em;
  margin-bottom:1em;
  background-color:#f5f5f5; 
  color: #000000;
}


/* Cocoonやスキンが付けている疑似要素を無効化 */
.entry-content h3::before,
.entry-content h3::after,
.article h3::before,
.article h3::after {
  content: none !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
}


.entry-content h3,
.article h3 {
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
  position: relative;
  display: block;
  margin: 2em 0 1em;
  padding-bottom: .6em; /* 下線用の余白 */
  color: #333;
  font-size:clamp(1.4rem, 3vw, 1.8rem);
  font-weight: 600;
}

/* ===== 下線（1本）を左端だけ色替えで描く ===== */
.entry-content h3,
.article h3 {
  /* 調整用カスタムプロパティ */
  --thick: 2.5px;          /* 線の太さ */
  --accent-w: 100px;     /* 左端の色付きの長さ */
  --accent: #00a3af;     /* 左端の色 */
  --underline: #c4c4c4;  /* それ以外の色 */

  /* 1本の線をグラデ背景で塗り分け（重なりナシ）*/
  background:
    linear-gradient(var(--accent),   var(--accent)) left bottom / var(--accent-w) var(--thick) no-repeat,
    linear-gradient(var(--underline),var(--underline)) left bottom / 100%         var(--thick) no-repeat !important;
}


	


/* 目次メニューの上下余白 */
#toc {
  margin-top: 40px;
  margin-bottom: 40px;
}

/* 検索窓調整 */
.header-search {
	width: 150px !important;
}
.header-search .search-box {
	margin-left: 7px;
	margin-right: 20px;
	margin-top: 3px;
}

.header-search input[type="text"]{
	padding: 7px 10px;
	font-size: 11px;
	border-radius: 14px 14px 14px 14px/ 50% 50% 50% 50%;
	}

.header-search .search-submit{
	color: #378cb0;
}



/* リンク下線有無　マウスオーバー時のカラー */
.entry-content a {
	text-decoration: none;
}
.entry-content a:hover {
	color: #1111cc;
}

 #navi .navi-in > ul > li > a {
    position: relative;
  }

#navi ul li a {
	font-size: clamp(13px, 1.2vw, 16px);
	padding: 0 0 !important;
}

/* メニューホバー時の下線アニメーション */
  #navi .navi-in > ul > li > a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 2px;
    background: #19448e;
    transition: width 0.3s ease;
  }

  #navi .navi-in > ul > li > a:hover::after {
    width: 100%; /* ホバー時に左から右へ線が伸びる */
  }





/*reCAPTCHAのロゴ非表示*/
.grecaptcha-badge { visibility: hidden; }

/*モバイルメニュー'×'アイコンを移動*/
.menu-close-button {
 padding-top: 15px;
 padding-left: 25px;
 padding-bottom: 30px;
text-align: left;
font-size: 1.3em;
}


/*モバイルヘッダーメニューのラベル非表示*/
.mobile-menu-buttons .menu-caption {
	display: none;
}
/*モバイルヘッダーメニューのアイコン位置調整*/
.mobile-header-menu-buttons .navi-menu-button .navi-menu-icon {
	padding-top: 3px !important;
	font-size: 30px !important; 
  }

/*モバイルヘッダーメニューのロゴ位置調整*/
.logo-menu-button img {
	margin-top: 5px;
	}




@media screen and (min-width: 1025px) {
/* ヘッダー内部（ロゴ＋メニュー）全体を下げる */
#header .header-in {
  padding-top: 20px;
  padding-bottom: 20px;
}
/* ヘッダー下に下線 */
body:not(.home) #header-container {
  border-bottom: 2px solid #ccc;
  box-shadow: 0 3px 3px -2px rgba(0,0,0,0.3);
}
}


/* サブメニュー項目の背景色は即時に */
#navi .sub-menu li a {
  transition: none !important;/* ← 背景色などの遅延を無効化 */
}

/* サブメニュー項目のホバー時に背景を薄いグレーに */
#navi .sub-menu li a:hover {
  background-color: #e0e0e0; 
  color: #000;             
}



/* アピールエリアコンテンツ背景・文字色 */
.appeal-content {background-color: rgba(80, 80, 80, 0.00);
 color: #fff;
}



#appeal { 
height: 33vw; 
}

.appeal-content{
 text-align: left;
}



/*1981px以上*/
@media screen and (min-width: 1981px){
.appeal-content{
position: relative;
top: -35px ;
left: -15%;
font-size: 25px ;
	}
}


/*1980px以下*/
@media screen and (max-width: 1980px){
.appeal-content{
position: relative;
top: -130px ;
left: -25%;
font-size: 23px ;
	}
}


@media screen and (max-width: 1350px){
.appeal-content{
position: relative;
top: -180px;
left: -20%;
font-size: 20px ;	
}
}	


/*1024以下でロゴの大きさ変更*/
@media screen and (max-width: 1024px){
.logo-menu-button img {
	width: 200px;
    max-height: none;
	}
.logo-menu-button {
	justify-content: flex-start !important; /* 左寄せに */
	padding-left: 1rem;
  }
.appeal-content{
	position: relative;
	top: -205px;
	left: -20%;
	font-size: 18px;
	}
}

@media screen and (max-width: 840px){
#appeal { 
height:300px!important; 
}
}


@media screen and (max-width: 600px){
#appeal { 
height:300px!important; 
}
.appeal-content{
	position: relative;
	font-size: 16px;
	}
}

@media screen and (max-width: 480px){
  .appeal-content{
    top: 31px !important;
  }
}



.sp-br {
  display: block;
}



@media screen and (min-width: 1300px){
.kaigyo {display: none;
	}
}


@media screen and (min-width: 840px){
.sp-br {display: none; } 
}

#navi .sub-menu {
  position: absolute;
  top: 100%;
  left: 0;               /* ← ここを左揃え */
  right: auto;           /* ← 右寄せを解除 */
  background-color: #EBF4F4 !important;
}

#navi .sub-menu li a {
  padding-left: 10px !important;
  font-size:14px;
}

#navi .menu-item-has-children > a .fa-angle-down {
  display: none !important;
}
