@charset "UTF-8";

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

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

/* H3見出し：柔らかいベージュ */
h3 {
  border: 1px solid #f3f1e7;
  box-shadow: 2px 2px 6px rgba(0,0,0,0.1);
  padding: 0.5em;
}


/*必要ならばここにコードを書く*/
.widget_new_entries .display-none {
	display: block;
	padding-top: 0.2em;
	text-align: right;
}
.widget-entry-card-update-date {
  display: none;
}

.widget-entry-card-content{
 font-size: 9pt;
}

.popular-entry-card-date {
    display: block;
	padding-top: 0.2em;
	text-align: right;	
}

.main {
        padding: 9px 29px;
}

#tbase table{
  width: 100%;
  border-collapse:separate;
  border-spacing: 0;
}

#tbase table th:first-child{
  border-radius: 5px 0 0 0;
}

#tbase table th:last-child{
  border-radius: 0 5px 0 0;
  border-right: 1px solid #3c6690;
}

#tbase table th{
  text-align: center;
  color:white;
  background: linear-gradient(#829ebc,#225588);
  border-left: 1px solid #3c6690;
  border-top: 1px solid #3c6690;
  border-bottom: 1px solid #3c6690;
  box-shadow: 0px 1px 1px rgba(255,255,255,0.3) inset;
  padding: 10px 0;
}

#tbase table td{
  text-align: center;
  border-left: 1px solid #a8b7c5;
  border-bottom: 1px solid #a8b7c5;
  border-top:none;
  box-shadow: 0px 1px 3px 1px #eee inset;
  padding: 10px 0;
}

#tbase table td:last-child{
  border-right: 1px solid #a8b7c5;
}

#tbase table tr:last-child td:first-child {
  border-radius: 0 0 0 5px;
}

#tbase table tr:last-child td:last-child {
  border-radius: 0 0 5px 0;
}

#tbase tr:hover td {
	background-color: #d9efff;
}

#tbase {
  overflow-x: auto;
}

/* フォントサイズを少し大きく */
#tbase-ea table {
  font-size: 14px; /* 12px→14pxに調整 */
}

/* インジケータ列 左寄せ&赤色太字 */
#tbase-ea table td:first-child {
  text-align: left;
  color: #b22222;
  font-weight: bold;
  padding-left: 12px; /* 左余白を少し増やす */
}
#tbase-ea table th {
  background: linear-gradient(#3a5780, #1a3060);
  color: #fff;
}

/* 行の上下パディング増加 */
#tbase-ea table td {
  padding: 14px 10px;
}

/* サンプルへのリンクをボタン風に */
#tbase-ea a {
  display: inline-block;
  background-color: #007acc;
  color: #fff !important;
  padding: 6px 14px;
  border-radius: 4px;
  text-decoration: none;
  font-weight: 600;
  transition: background-color 0.3s ease;
  font-size: 14px;
}

#tbase-ea a:hover {
  background-color: #005a99;
}


/************************************ノマドコード*/
.reviewBox {
  display: block;
  max-width: 500px;
  background: #fffafb;
  border: 3px solid #dc143c;
  margin: 20px auto;
  padding: 0;
  border-radius: 10px;
}

.reviewBox .reviewBox_content {
  padding: 30px;
}

.reviewBox .reviewBox_title1 {
  margin: 0 !important;
  padding: 12px !important;
  background: #dc143c !important;
  text-align: center;
  font-size: 15px !important;
  font-weight: bold;
  line-height: 1.3em;
  color: #fff !important;
}

.reviewBox .reviewBox_title2:not(.st-css-no):not(.st-matome):not(.rankh5):not(.point):not(.st-cardbox-t):not(.popular-t):not(.kanren-t):not(.popular-t):not(.post-card-title) {
  padding-left: 0 !important;
}

.reviewBox .reviewBox_title2 {
  padding: 0 !important;
  margin: 0 !important;
  color: #444 !important;
  line-height: 1.3em !important;
  font-size: 16px !important;
  margin-bottom: 10px !important;
  font-weight: bold;
  background: none !important;
  border-bottom: none !important;
}

.reviewBox .reviewBox_top {
  margin: auto;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}

.reviewBox .reviewBox_top p {
  margin: 0;
  line-height: 1.9em;
  font-size: 15px !important;
}

.reviewBox .reviewBox_top p:before {
  content: "\30FB";
  font-weight: 600;
  padding-right: 5px;
}

.reviewBox .reviewBox_title2:before {
  content: none !important;
}

.reviewBox .reviewBox_top .reviewBox_left,
.reviewBox .reviewBox_top .reviewBox_right {
  width: 50%;
}

.reviewBox .reviewBox_top .reviewBox_right img {
  display: block;
  margin: auto;
  width: 160px;
}


.reviewBox .reviewBox_center {
  margin-top: 10px;
}

.reviewBox .reviewLink {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.reviewBox .reviewLink a {
  font-size: 15px !important;
  color: #444 !important;
  border: 2px solid #444;
  padding: .3em 2em;
  margin: 5px;
  width: 50%;
  text-align: center;
  margin-top: 30px;
  text-decoration: none;
}

.reviewBox .reviewLink a:nth-child(2) {
  background: #dc143c;
  color: #fff !important;
  border: 2px solid #dc143c;
}

.reviewBox .reviewBox_center {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  padding: 20px 0;
}

.reviewBox .reviewBox_center .progress-circle {
  width: 25%;
  margin: auto;
}

.reviewBox .progress-circle {
  font-size: 12px !important;
  margin: 20px;
  position: relative;
  /* so that children can be absolutely positioned */
  padding: 0;
  width: 5em !important;
  height: 5em !important;
  background-color: #FBEFC6;
  border-radius: 50%;
  line-height: 5em;
}

.reviewBox .reviewBox_score {
  font-size: 13px !important;
  text-align: center;
  line-height: 1em;
  z-index: 4;
  padding-top: 5.5em;
  display: block;
  font-weight: 600;
}

.reviewBox .reviewBox_score p {
  margin: 0;
  font-size: 12px !important;
  width: 120% !important;
  margin-left: -10% !important;
}


.reviewBox .progress-circle:after {
  border: none;
  position: absolute;
  top: 0.5em;
  left: 0.5em;
  text-align: center;
  display: block;
  border-radius: 50%;
  width: 4em;
  height: 4em;
  background-color: #fffafb;
  content: " ";
}

.reviewBox .progress-circle .progress-text {
  position: absolute;
  line-height: 2.6em;
  width: 2.6em;
  text-align: center;
  display: block;
  color: #444 !important;
  font-size: 23px !important;
  z-index: 2;
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", HelveticaNeue, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Sogoe UI", Verdana, "メイリオ", Meiryo, sans-serif;
}

.reviewBox .left-half-clipper {
  border-radius: 50%;
  width: 5em;
  height: 5em;
  position: absolute;
  /* needed for clipping */
  clip: rect(0, 5em, 5em, 2.5em);
  /* clips the whole left half*/
}

.reviewBox .progress-circle.over50 .left-half-clipper {
  clip: rect(auto, auto, auto, auto);
}

.reviewBox .value-bar {
  position: absolute;
  /*needed for clipping*/
  clip: rect(0, 2.5em, 5em, 0);
  width: 5em !important;
  height: 5em !important;
  border-radius: 50%;
  border: 0.5em solid #FCCB28;
  box-sizing: border-box;

}

.reviewBox .progress-circle.over50 .first50-bar {
  position: absolute;
  /*needed for clipping*/
  clip: rect(0, 5em, 5em, 2.5em);
  background-color: #FCCB28;
  border-radius: 50%;
  width: 5em;
  height: 5em;
}

.reviewBox .progress-circle:not(.over50) .first50-bar {
  display: none;
}


.reviewBox .progress-circle.p0 .value-bar {
  display: none;
}

.reviewBox .progress-circle.p1 .value-bar {
  transform: rotate(4deg);
}

.reviewBox .progress-circle.p10 .value-bar {
  transform: rotate(36deg);
}

.reviewBox .progress-circle.p20 .value-bar {
  transform: rotate(72deg);
}

.reviewBox .progress-circle.p30 .value-bar {
  transform: rotate(108deg);
}

.reviewBox .progress-circle.p40 .value-bar {
  transform: rotate(144deg);
}

.reviewBox .progress-circle.p50 .value-bar {
  transform: rotate(180deg);
}

.reviewBox .progress-circle.p60 .value-bar {
  transform: rotate(216deg);
}

.reviewBox .progress-circle.p70 .value-bar {
  transform: rotate(252deg);
}

.reviewBox .progress-circle.p80 .value-bar {
  transform: rotate(288deg);
}

.reviewBox .progress-circle.p90 .value-bar {
  transform: rotate(324deg);
}

.reviewBox .progress-circle.p100 .value-bar {
  transform: rotate(360deg);
}


@media screen and (max-width:480px) {
  .reviewBox .reviewBox_content {
    padding: 15px;
  }
  
  .reviewBox .reviewBox_top .reviewBox_right img {
  width: 220px;
  }
  
  .reviewBox .reviewBox_top p {
  font-size: 13px !important;
  }
  
  .reviewBox .reviewBox_top p:first-child {
  font-size: 15px !important;
  }

  .reviewBox .reviewBox_center {
    padding: 0;
    margin-top: 20px;
    margin-bottom: 20px;
  }

  .reviewBox .reviewLink a {
    padding: .5em;
  }

  .reviewBox .reviewBox_top {
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
  }

  .reviewBox .reviewBox_top .reviewBox_left {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 2;
    -webkit-order: 2;
    order: 2;
    width: 90%;
    margin: auto;
    margin-top: 20px;
  }

  .reviewBox .reviewBox_top .reviewBox_right {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 1;
    -webkit-order: 1;
    order: 1;
    width: 100%;
  }

  .reviewBox .reviewLink a {
    font-size: 13px !important;
  }

  .reviewBox .progress-circle .progress-text {
    line-height: 2.2em;
    width: 2.2em;
    font-size: 23px !important;
  }

  .reviewBox .progress-circle {
    font-size: 10px !important;
  }

  .reviewBox .reviewBox_score {
    font-size: 10px !important;
    padding-top: 6.3em;
  }
  
  .reviewBox .reviewBox_score p {
    font-size: 10px !important;
  }
}
.nomadList4 {
  padding: .7em 1.5em;
  margin: 2em 0;
  color: #323232;
  border: solid 3px #55A8DC;
  border-radius: 10px;/*角の丸み*/
  background:rgba(85,168,220,.07);
}
.nomadList4 ul {
  margin: 0;
  padding: 10px 20px;
}
.nomadList4 ul li {
  margin-bottom: 5px;
}

.nomadBtn_deco2{
  margin-top: 0;
  margin-bottom: 0;
}
.nomadBtn_deco2 a {
  display: inline-block;
  max-width: 270px;
  text-align: left;
  border: 2px solid #d40027;
  color: #FFF;
  background: #D3405B;
  text-decoration: none;
  font-weight: bold;
  padding: .8em 2.5em;
  border-radius: 4px;
  transition: .4s;
  margin: 5px 0;
}
.nomadBtn_deco2 a:hover {
  background: none;
  color: #d40027;
  opacity: 1 !important;
}
/************************************ノマドコード*/
/************************************ボタン関連*/
/*まずはお決まりのボックスサイズ算出をborer-boxに */
*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 62.5%;/*rem算出をしやすくするために*/
}

.btn,
a.btn,
button.btn {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
}

/*その他と主な共通部分は省略*/

a.btn--orange {
  color: #fff;
  background-color: #eb6100;
}

a.btn--orange:hover {
  color: #fff;
  background: #f56500;
}

a.btn-c {
  font-size: 1.8rem;
  position: relative;
  padding: 1.5rem 2rem 1.5rem 2rem;
  border-radius: 100vh;
}

a.btn-c i.fa {
  margin-right: 1rem;
}

a.btn-c:before {
  font-family: 'Font Awesome 5 Free';
  font-size: 1.6rem;
  line-height: 1;
  position: absolute;
  top: calc(50% - .8rem);
  right: 1rem;
  margin: 0;
  padding: 0;
  content: '\f054';
}


a.btn-kk {
  font-size: 1.4rem;
  position: relative;
  padding: 1.4rem 2.5rem 1.5rem 1.5rem;
  border-radius: 100vh;
}

a.btn-kk i.fa {
  margin-right: 1rem;
}

a.btn-kk:before {
  font-family: 'Font Awesome 5 Free';
  font-size: 1.6rem;
  line-height: 1;
  position: absolute;
  top: calc(50% - .8rem);
  right: 1rem;
  margin: 0;
  padding: 0;
  content: '\f054';
}
a.btn-kk span {
  font-size: 0.9rem;

  position: absolute;
  top: -1.25rem;
  left: calc(50% - 40px);

  display: block;

  width: 80px;
  padding: 0.2rem 0;

  color: #d44114;
  border: 2px solid #d44114;
  border-radius: 100vh;
  background: #fff;
  -webkit-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
}

a.btn-kk span:before,
a.btn-kk span:after {
  position: absolute;
  left: calc(50% - 10px);

  content: "";
}

a.btn-kk span:before {
  bottom: -10px;

  border-width: 10px 10px 0 10px;
  border-style: solid;
  border-color: #d44114 transparent transparent transparent;
}

a.btn-kk span:after {
  bottom: -7px;

  border-width: 10px 10px 0 10px;
  border-style: solid;
  border-color: #fff transparent transparent transparent;
}

/*************************************ボタン関連*/

/************************************ブログカード関連*/
.internal-blogcard::after{
	content: '続きを読む \00bb'; /* 内部リンク右下枠の文言 */
	position: absolute;
	bottom: .5rem;
	right: 1rem;
	font-size: 90%;
	background-color: #e69100; /* 内部リンク右下枠の背景色 */
	padding: .4em 2em;
	font-weight: bold;
	color: #fff; /* 内部リンク右下枠の文字色 */
	border-radius: 2px;
}

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

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

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

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

.article h2 {
    margin-top: 80px;
}
.article h3 {
    margin-top: 20px;
}
.article h4 {
    margin-top: 20px;
}
.article h5 {
    color: #444d53;
    margin-top: 40px;
    border-bottom: solid 2px #444d53;
}
.article h6 {
    margin-top: 40px;
    border-bottom: solid 1px #444d53;
}
/************************************
****　プロフィール欄
************************************/
.nwa .author-box {
max-width:none;
padding: 0;
margin-bottom:0;
}
aside#author_box-2.widget.widget-sidebar.widget-sidebar-standard.widget_author_box{
padding: 0!important;
border-radius: 10px;
}
@media (max-width: 1023px){
aside {
padding: 0 .5em;
}
}
.nwa .author-box .author-thumb {
width: 100%;
height:9em;
margin:0 0 5em 0;
border-radius: 10px 10px 0 0;
}
.author-box figure.author-thumb{
float: none;
text-align: center;
background: url(https://fx-prog.com/wp-content/uploads/2024/05/8e1b944f4389bdaab6f11d5bc83190c8.webp) center no-repeat;
background-size: cover;
position: relative;
z-index: 0;
}
.author-box img.avatar.photo{
background-image: none;
padding: 0!important;
box-shadow:none;
}
.author-box figure.author-thumb img{
width: 40%;
max-width:180px;
margin-top:5em;
}
@media (min-width:1023px){
.nwa .author-box .author-thumb {
height:8em;
}
.author-box figure.author-thumb img{
max-width:120px;
}}
@media (max-width:480px){
.nwa .author-box .author-thumb {
height:8em;
}
.author-box figure.author-thumb img{
max-width:130px;
}}
.author-box .author-name {
margin: 0 0 1.5em 0;
}
.author-box .author-content .author-name a{
text-decoration:underline;
font-size:1.2em;
color:#0055ff;
}
.nwa .author-box .author-description {
margin-bottom:1.5em
}
.author-box .author-content .author-description p{
font-size:14px;
color:#565656;
line-height:1.6em!important;
margin:1em;
}
#author_box-2 p{
margin:1em 2.5em;
}
div.author-follows{
padding-bottom:2em;
}
.author-box .author-content .author-description p a{ text-decoration: none; }
.author-box .author-content .author-description p a:hover{ text-decoration: underline; }
.author-box .author-content .author-follows .sns-buttons{ justify-content: center; }
.author-box .author-content .author-follows .sns-buttons a.follow-button{
border-radius: 50%;
border: none;
width: 40px;
height: 40px;
color: #fff!important;
margin:3px;
transition: .5s;
}
div.author-follows a.follow-button.website-button.website-follow-button-sq{background-color: #6eb6fd!important;}
div.author-follows a.follow-button.twitter-button.twitter-follow-button-sq{background-color: #7dcdf7!important;}
div.author-follows a.follow-button.facebook-button.facebook-follow-button-sq{background-color: #7c9dec!important;}
div.author-follows a.follow-button.hatebu-button.hatebu-follow-button-sq{background-color: #2c6ebd!important;}
div.author-follows a.follow-button.instagram-button.instagram-follow-button-sq{background: linear-gradient(165deg, #427eff 5%, #f13f79 50%) no-repeat !important;}
div.author-follows a.follow-button.pinterest-button.pinterest-follow-button-sq{background-color: #bd081c!important;}
div.author-follows a.follow-button.youtube-button.youtube-follow-button-sq{background-color: #cd201f!important;}
div.author-follows a.follow-button.tiktok-button.tiktok-follow-button-sq{background-color: #000000!important;}
div.author-follows a.follow-button.linkedin-button.linkedin-follow-button-sq{background-color: #0A66C2!important;}
div.author-follows a.follow-button.note-button.note-follow-button-sq{background-color: #41C9B4!important;}
div.author-follows a.follow-button.soundcloud-button.soundcloud-follow-button-sq{background-color: #FF5500!important;}
div.author-follows a.follow-button.flickr-button.flickr-follow-button-sq{background-color: #111!important;}
div.author-follows a.follow-button.line-button.line-follow-button-sq{background-color: #00c300!important;}
div.author-follows a.follow-button.amazon-button.amazon-follow-button-sq{background-color: #ff9900!important;}
div.author-follows a.follow-button.twitch-button.twitch-follow-button-sq{background-color: #5C16C5!important;}
div.author-follows a.follow-button.rakuten-room-button.rakuten-room-follow-button-sq{background-color: #C61E79!important;}
div.author-follows a.follow-button.slack-button.slack-follow-button-sq{background-color: #4A154B!important;}
div.author-follows a.follow-button.github-button.github-follow-button-sq{background-color: #4078c0!important;}
div.author-follows a.follow-button.codepen-button.codepen-follow-button-sq{background-color: #47CF73!important;}
div.author-follows a.follow-button.feedly-button.feedly-follow-button-sq{background-color: #2bb24c!important;}
div.author-follows a.follow-button.rss-button.rss-follow-button-sq{background-color: #f26522!important;}
.author-box .author-content .author-follows .sns-buttons a.follow-button span{ line-height: 40px; }
.author-box .author-content .author-follows .sns-buttons a.follow-button span::before{ font-size: 20px !important; }
@media (max-width:1023px){
.nwa .author-box .author-thumb {
height:11em;
margin:0 0 7em 0;
}
.author-name{
font-size:16px!important;
}
.author-description{
line-height: 1.5 !important;
text-align:center;
margin:0 auto;
}
}
@media screen and (max-width: 1023px){/*スマホ画面でサイドバーを非表示*/
div.sidebar {
display: none;
}
}
a.follow-button.feedly-button.feedly-follow-button-sq{
display:none;
}
a.follow-button.rss-button.rss-follow-button-sq{
display:none;
}

/************************************
****　パンくずリスト
************************************/
.breadcrumb-home{
	color: #696969;
	font-size: 14px;
}

.breadcrumb-item{
	color: #696969;
	font-size: 14px;
}

.breadcrumb-caption{
	color: #696969;
	font-size: 14px;
	font-weight: bold;
}

/*************
*** アイキャッチラベル
**************/
.cat-label {
display: none;
}

/*************
*** 検索ボックス
**************/
/* ①ボックス部分 */
.search-edit, .search-box input[type="text"] {
	color: #4d4435;
	border-radius: 50px;
	outline: none;
	padding-left: 20px;
}

/* ②検索ボタン */
[type=submit].search-submit {
	top: 0;
	right: 0;
	height: 100%;
	padding: 8px 15px;
	background: #d98030; 
	color: #fff; 
	font-size: 16px;
	font-weight: bold;
	border: none;
	border-radius: 0 50px 50px 0;
	transition:0.3s;
}

/* ③検索ボタン(hover) */
@media screen and (min-width: 980px) {
	[type=submit].search-submit:hover {
		color: #fff;
		background: #e7b07e;
	}
}



/************************************
** ●ロゴ位置調整
************************************/
.logo {
    text-align: left;

    /* 縦中央揃え用にflexboxを設定 */
    display: flex;
    align-items: center; /* 垂直方向中央揃え */
}
/* スマホ・タブレットなど画面が768px以下の時のロゴ位置調整 */
@media screen and (max-width: 768px) {
    .logo {
        text-align: center;

        /* スマホなどで中央寄せかつ縦中央揃え */
        display: flex;
        justify-content: center; /* 横方向中央揃え */
        align-items: center;     /* 縦方向中央揃え */
    }

    .logo a img {
        display: inline-block;
        margin: 5px auto 0 auto;
        max-height: 86px;
    }
}

/* スマホ・タブレットなど画面が768px以下の時はオススメカード余白クリア */
@media screen and (max-width: 768px) {
    .notice-area-wrap + .recommended {
        padding: 0;       /* 親の内側余白をリセット */
        margin: 0;        /* 親の外側余白も必要ならリセット */
    }

    .notice-area-wrap + .recommended .navi-entry-cards {
        gap: 0;           /* カード間の隙間をゼロに */
        padding: 0;       /* カード群の内側余白をリセット */
        margin: 0;        /* カード群の外側余白をリセット */
    }

    .notice-area-wrap + .recommended .navi-entry-card {
        margin: 0;        /* 各カードの外側余白をリセット */
        padding: 0;       /* 必要ならカード内の余白も */
    }
}

.jcarousel li {
    width: 200px; /* 任意の幅 */
    height: 150px; /* 任意の高さ */
}

@media screen and (max-width: 768px) {
  .sidebar {
    display: none !important;
  }
}

/*メニューをスタイリッシュに*/
/* ヘッダーメニューの背景・文字 */
#navi ul.menu {
    background: linear-gradient(90deg, #f7b501, #ffcc33, #f7b501);
    border-radius: 8px;
    overflow: hidden;
}

#navi ul.menu > li > a {
    color: #fff;
    font-weight: bold;
    padding: 12px 20px;
    display: block;
    transition: background 0.3s, color 0.3s;
}

#navi ul.menu > li > a:hover {
    background: rgba(0,0,0,0.1);
    color: #fff;
}

/* ドロップダウンメニュー */
#navi ul.sub-menu {
    background: #f7b501;
    border-radius: 0 0 8px 8px;
}

#navi ul.sub-menu li a {
    color: #fff;
}

#navi ul.sub-menu li a:hover {
    background: #ffcc33;
    color: #fff;
}

/*メニューの説明を非表示に*/
.item-description.sub-caption {
    display: none;
}


/*fontawesomeのローカル読み込み*/
@font-face {
  font-family: 'Font Awesome 6 Free';
  font-style: normal;
  font-weight: 900;
  src: url('../webfonts/fa-solid-900.woff2') format('woff2');
  font-display: swap;
}

/*ウィジェットのボタンCTAカスタム*/
.cta-section {
    background: #f7f7f7;
    border: 2px solid #ddd;
    padding: 20px;
    border-radius: 10px;
    text-align: center;
    margin: 20px 0;
}

.cta-section h4 {
    font-size: 1.2em;
    margin-bottom: 15px;
    color: #333;
}

.cta-button {
    display: block;
    margin: 10px auto;
    padding: 12px 20px;
    background-color: #e63946;
    color: #fff;
    text-decoration: none;
    font-weight: bold;
    border-radius: 30px;
    max-width: 300px;
    transition: background-color 0.3s, color 0.3s, transform 0.2s, border 0.3s;
    border: 2px solid #e63946;
}

.cta-button:hover {
    background-color: #fff;
    color: #e63946;
    border: 2px solid #e63946;
    transform: scale(1.05);
}

.cta-button.current {
  background-color: #FEEC50; /* 好みの色に */
  color: #000;
  font-weight: bold;
}


.fx-question-button {
  display: block;
  margin: 20px auto;
  background-color: #ff6600;
  color: #fff;
  padding: 10px 20px;
  font-size: 15px;
  font-weight: bold;
  text-decoration: none;
  border: none;
  border-radius: 25px;
  box-shadow: 0 2px 5px rgba(0,0,0,0.15);
  text-align: center;
  transition: background-color 0.2s ease, transform 0.2s ease;
  max-width: 300px;
}

.fx-question-button:hover {
    background-color: #fff;
    color: #ff6600;
    border: 2px solid #ff6600;
  transform: scale(1.05);
}

@media screen and (max-width: 768px) {
  header .logo {
    display: none !important;
  }
}

a.cta-buttonM {
  position: relative;
  display: inline-block;
  padding: 0.7em 1.8em;
  border: 2px solid #000;
  background: #fff;
  text-decoration: none;
  color: #000;
  overflow: hidden;
  font-weight: bold;
  transition: all .3s;
}

a.cta-buttonM:before {
  position: absolute;
  top: 50%;
  left: 1em;
  transform: translateY(-50%);
  content: '\f061';
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  color: #000;
  opacity: 0;
  transition: all .3s ease;
}

a.cta-buttonM:hover:before {
  left: calc(100% - 2em);
  opacity: 1;
  color: #fff;
  background: #000;
  border-radius: 50%;
  width: 2em;
  height: 2em;
  text-align: center;
  line-height: 2em;
}

.btn-radius-solid {
  display: inline-block;
  padding: 0.7em 2em;
  border-radius: 999px;
  font-weight: bold;
  text-decoration: none;
  color: #000;
  background: linear-gradient(to bottom, #f1e767 0%, #feb645 100%);
  transition: all 0.3s;
}

.btn-radius-solid:hover {
  background: linear-gradient(to top, #f1e767 0%, #feb645 100%);
}



/* 目次の余白をなくして線をピタッとつなげる */
#toc {
  border: 1px solid #ddd;
  border-radius: 4px;
  overflow: hidden;
}

.toc-title {
  font-size: 1.1em;
  text-align: center;
  display: block;
  padding: 8px 16px;
  border-bottom: 1px solid #ddd;
  background-color: #fff;
  margin: 0;
}

.toc-content {
  margin-top: 0;
  padding: 12px 16px;
}

/* ============================
   ぷろぐらむFX 専用 CLS対策（おすすめカード）
   ============================ */
@media screen and (min-width: 769px) {
  .recommended img {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9; /* 画像の比率を固定 */
    display: block;
    background-color: #f9f9f9; /* 読み込み中の背景色 */
  }

  .recommended .navi-entry-cards a {
    display: block;
    width: 300px; /* 適宜調整 */
    aspect-ratio: 16 / 9;
    overflow: hidden;
  }
}

/* ★☆☆☆☆ のデザイン調整 */
.star-rating {
  font-size: 1.2em; /* 星サイズ調整 */
  color: #FFD700; /* ゴールド */
  text-shadow: 1px 1px 2px rgba(0,0,0,0.2);
  letter-spacing: 1px; /* 間隔を詰める */
  display: inline-block;
  line-height: 1; /* 行間を詰めてコンパクトに */
}

/* ☆（空星）をグレーにする */
.star-rating .empty {
  color: #ccc;
  text-shadow: none;
}

/* 半分星対応（必要な場合） */
.star-rating .half {
  position: relative;
  display: inline-block;
  color: #ccc;
}
.star-rating .half::before {
  content: '★';
  position: absolute;
  left: 0;
  width: 50%;
  overflow: hidden;
  color: #FFD700;
}

/* CTAボックス */

.cta-box {
  padding: 20px;
  border-radius: 12px;
  margin: 30px 0;
  text-align: center;
}
.cta-box .cta-lead {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 15px;
}
.cta-box .cta-btn {
  display: inline-block;
  padding: 12px 20px;
  border-radius: 6px;
  font-weight: bold;
  text-decoration: none;
  transition: 0.3s;
}

/* ---- 色パターン ---- */

/* 青 */
.cta-blue {
  background: #f5faff;
  border: 1px solid #cce4ff;
}
.cta-blue .cta-lead { color: #004085; }
.cta-blue .cta-btn { background: #007bff; color: #fff !important; }
.cta-blue .cta-btn:hover { background: #0056b3; }

/* 緑 */
.cta-green {
  background: #f6fff9;
  border: 1px solid #b8e6c8;
}
.cta-green .cta-lead { color: #155724; }
.cta-green .cta-btn { background: #28a745; color: #fff !important; }
.cta-green .cta-btn:hover { background: #1e7e34; }

/* オレンジ */
.cta-orange {
  background: #fff8f2;
  border: 1px solid #ffd6a5;
}
.cta-orange .cta-lead { color: #854d0e; }
.cta-orange .cta-btn { background: #fd7e14; color: #fff !important; }
.cta-orange .cta-btn:hover { background: #e8590c; }

/* 紫 */
.cta-purple {
  background: #faf5ff;
  border: 1px solid #d6b8ff;
}
.cta-purple .cta-lead { color: #4b0082; }
.cta-purple .cta-btn { background: #6f42c1; color: #fff !important; }
.cta-purple .cta-btn:hover { background: #5936a0; }

/* 赤 */
.cta-red {
  background: #fff5f5;
  border: 1px solid #f5b5b5;
}
.cta-red .cta-lead { color: #721c24; }
.cta-red .cta-btn { background: #dc3545; color: #fff !important; }
.cta-red .cta-btn:hover { background: #a71d2a; }

.ea-point {
  background: #fdfdfd;
  border: 1px solid #eee;
  border-radius: 8px;
  padding: 15px;
  margin-bottom: 15px;
}
.ea-point h4 {
  margin: 0 0 10px 0;
  font-size: 15px;
  color: #333;
}
.ea-point ul {
  margin: 0;
  padding-left: 20px;
}
.ea-point ul li {
  margin-bottom: 6px;
  font-size: 14px;
}

/* カテゴリーページのサイドバーだけ、外枠を消したい */

.archive .sidebar .widget,
.category .sidebar .widget {
  border: none !important;
  background: none !important;
  box-shadow: none !important;
  padding: 0 !important;   /* 内側余白を調整 */
  margin: 0 !important;    /* 外側余白を調整 */
}