@charset "utf-8";
/*
theme Name: オンライン英会話ナビ
）
Author: <a href="/" target="_blank">pontoshi-introduction.com</a>
Description: 注意事項：<a href="/wp-admin/themes.php?theme=wp_theme_2025&customize_changeset_uuid=">当テーマ</a>に記載されているコードの改変や設定の変更は、慎重に行ってください。これらの操作に伴う結果や影響については、すべてご自身の責任で行っていただく必要があります。<br>特に、サイトの運営や機能に関わる部分の変更については、事前にバックアップを取ることを強くお勧めします。問題が発生した場合でも、弊方では一切の責任を負いかねますので、あらかじめご了承ください。<br>別途、有償でのカスタマイズ等も承ります。（　メッセージ欄　）よりご連絡ください。

Version: 1.4.1
*/

@media screen and (max-width: 768px) {
.responsive-text {
font-size: 120% !important;
}
}
/* サイト全体に背景色と複数の背景画像を適用 */
body {
background-color:#fff !important;/* 背景色 */
background: 
url('/Image/') 0% 0%, /* 既存の背景画像 */
url('/Image/background_tomei-min.png') 0% 0%; /* 新しい背景画像 */
background-size: 
80px, /* 既存の背景画像のサイズ */
600px; /* 新しい背景画像のサイズ */
background-attachment: scroll;
margin: 0;
padding: 0;
}
/* モバイル用のスタイル */
@media (max-width: 780px) {
body {
background-size: 500px;
background-position: 0% 9%; /* モバイル時に背景画像の位置を変更 */
}
}
/* 初期状態で非表示にする */
.right {
opacity: 0;
visibility: hidden; /* 完全に非表示 */
transition: opacity 0.8s ease-out, visibility 0.8s ease-out; /* なめらかな表示 */
}

/* 一瞬非表示 */
.count-up {
display: none;
}
#box4 .count-up,#box1 .count-up {
font-family: 'Oswald', sans-serif;
}
.my-custom-font {
font-family: 'Oswald', sans-serif;
}

.my-font {
font-family: "Noto Sans JP", serif;
font-weight: 900 !important;
font-style: normal;
font-size: 200%; /* デフォルトのフォントサイズ */
/*text-shadow: 0px 0px 5px #555 ;*/
}
@media (max-width: 780px) {
.my-font {
font-size: 5.5vw;
}
}

button.age-gate-submit-no, button.age-gate-submit-yes, button.age-gate__submit--no, button.age-gate__submit--yes{
font-size :20px !important;
margin-top: 20px;
padding: 5px 10px !important;
}

/* メニュー部分 */
#header {
position: fixed; /* ヘッダーを常にトップに固定 */
width: 100%;
z-index: 200;
background-color: ; /* お好みで背景色を変更 */
}
#header .fixheader {
position: fixed; /* スクロールしても固定 */
width: 100%;
background-color: ; /* 背景色を指定 */
}
#header.fixed .fixheader {
position: fixed;
top: 0px !important;
}

/*ホバー緑線*/
a.animated-border-link:link {
position: relative;
padding: 10px;
display: inline-block;
transition: all 0.3s ease;
color:#333 !important;
font-size: 95%;
font-weight: none !important;
text-decoration: none; /* リンクの下線を削除 */
color: inherit; /* 任意の色を設定することができます */
}
a.animated-border-link:after {
content: '';
position: absolute;
margin-top: 20px !important;/* テキストのすぐ下に線を配置 */
left: 50%;
transform: translateX(-50%);  /* 追加 */
height: 2px;  /* 線の太さ。この値を調整で変更可能 */
width: 0;
background-color: #222;  /* 線の色。この値を調整で変更可能 */
transition: width 0.3s ease;
}
a.animated-border-link:hover{
color:#000 !important;
text-decoration:none;
}
a.animated-border-link:hover:after {
width: 90%;
}
a.animated-border-link:visited,a.animated-border-link:active{
color:#222;
text-decoration:none;
}

a:link {color:#222; text-decoration:underline}
a:visited {color:#222; text-decoration:none}
a:active {color:#222; text-decoration:none}
a:hover {color:#555; text-decoration:none}

a.post:link {color:#222; text-decoration:underline}
a.post:visited {color:#222; text-decoration:none}
a.post:active {color:#222; text-decoration:none}
a.post:hover {color:#555; text-decoration:none}

a.post_link:link {color:#222; text-decoration:none}
a.post_link:visited {color:#222; text-decoration:none}
a.post_link:active {color:#222; text-decoration:none}
a.post_link:hover {color:#f0f0f0; text-decoration:none}

a.footer_no:link {color:#fff; text-decoration:underline}
a.footer_no:visited {color:#fff; text-decoration:none}
a.footer_no:active {color:#fff; text-decoration:none}
a.footer_no:hover {color:#f0f0f0; text-decoration:none}

a.footer:link {color:#fff; text-decoration:underline}
a.footer:visited {color:#fff; text-decoration:none}
a.footer:active {color:#fff; text-decoration:none}
a.footer:hover {color:#f0f0f0; text-decoration:none}

a:hover img {
opacity: 0.7;
filter: alpha(opacity=70);
-ms-filter: "alpha(opacity=70)";
}

img {
max-width: 100%;
height: auto;
}

.my-small {
font-size: 1.5em;
/*ウェブアイコン1.6倍の大きさに*/
/*text-shadow: 0px 0px 2px #fff, 0px 0px 3px #fff, 0px 0px 4px #fff, 0px 0px 5px #fff, 0px 0px 6px #fff;*/
}

div.zure{
display: block;
margin-top:-120px;
padding-top:120px;
}

.container {
max-width: 1080px;
margin-right: auto;
margin-left: auto;
padding: 10px 0;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
text-align: left;
}

#sidebar {
margin: 20px 0;
font-size: 12px;
line-height: 150%;
}

.contents {
margin: 20px 0;
}

@media (min-width: 780px) {
/*コンテンツとサイドバーを横に並べる*/
.container:after {
display: block;
clear: both;
content: '';
}
.contents {
float: left;
width: 70%;
margin-right: 2%;
text-align: left;
}
#sidebar {
float: left;
width: 28%;
text-align: left;
font-size: 14px;
}
}

/* 記事一覧 */
/* デフォルトのスタイル */
.article-list {
  background-color: #fff;
  border: 8px solid #ccc;
  border-radius: 10px;
  padding: 0;
  width: calc(33.33% - 10px);
  box-sizing: border-box;
  margin: 3px;
  display: inline-block;
  box-shadow: 0px 0px 5px #f1f1f1 !important;
  overflow: hidden; /* ここが超重要！ */
  position: relative;
}

.article-list:hover {
  border-color: #333;
  background-color: #f1f1f1;
}

.article-list .img-wrap {
  width: 100%;
  height: 150px;
  position: relative;
  overflow: hidden;
}

.article-list .img-wrap img {
  width: 100%;
  height: 150px;
  object-fit: cover;
  transition: transform 0.5s ease;
  display: block;
  transform: scale(1); /* 初期値 */
}

.article-list:hover .img-wrap img {
  transform: scale(1.3); /* 拡大しても角からはみ出ない */
}

.article-list .img-wrap .cat-data {
  font-size: .75rem;
  position: absolute;
  top: 0;
  right: 0;
  padding: .3rem .5rem;
  color: #fff;
  background-color: #00ab8d;
  border-radius: 0 0 0 5px;
  z-index: 2;
}

.article-list .text {
  padding: 10px;
  background-color: #fff;
}

.article-list .text h2 {
  font-size: 16px;
  font-weight: bold;
  padding-top: 10px;
  margin-bottom: .5rem;
  line-height: 1.5;
}

.article-list .text .article-date,
.article-list .text .article-author {
  font-size: 13px;
  display: inline-block;
  margin-bottom: 1.0rem;
  color: #333;
}

.article-list .text .article-date {
  margin-right: .5rem;
}

.article-list .text .article-author i {
  margin-right: .3rem;
}

.article-list .text p {
  font-size: 12px;
  line-height: 180%;
}

/* 780px以下の画面幅で2列表示に変更 */
@media (max-width: 780px) {
.article-list {
width: calc(50% - 10px);
}
.article-list .img-wrap img:hover{
transform:scale(1.05,1.05);
transition:0.5s all;
opacity: 1.0;
}
}

/* 576px以下の画面幅で1列表示に変更 */
@media (max-width: 576px) {
.article-list {
width: calc(50% - 6px);
}
.article-list .img-wrap img:hover{
transform:scale(1.05,1.05);
transition:0.5s all;
opacity: 1.0;
}
/*.article-list {
width: 100%;
margin: 5px 0; /* 上下のマージンを追加して要素を垂直に配置 */
/*display: block;
}
.article-list .img-wrap img {
width: 100%;
height: auto;
object-fit: cover; /* 画像のアスペクト比を保ちつつ、コンテナに合わせて画像をトリミング /
display: block; / 画像をブロック要素として扱い、指定したwidthに合わせて表示 */
/*} */
.article-list .text p {
display: none;
}
.article-list .text .article-date,
.article-list .text .article-author {
font-size: 12px;
margin-bottom: 10px;
}
.article-list .text .article-date {
margin-right: .2rem;
}
}

/*ページネーション*/
.parent {
display: flex;
justify-content: center;
}
.pagination {
display: flex;
align-items: center;
justify-content: center;
}
.pagination {
margin: 40px 0% 40px 0%;
text-align: center;
line-height: -80px;
display: flex;
align-items: center;
}
.pagination ul {	
margin: 0;
list-style: none;
}
.pagination li {	
width: auto;
margin: 0 0px;
display: inline-block;
vertical-align: middle;
}
.pagination li a, .pagination li > span {
font-size: 1.3em;
font-weight:bold;
font-family: 'Oswald', sans-serif;
display: block;
width: 50px;
height: 50px;
padding-top: 15px;
padding-bottom: 5px;
padding-right: 0px;
padding-left: 0px;

text-decoration: none;
color: #000;
background-color: #fff;
border: solid 1px #000;
border-radius: 5px;
}

.pagination li > span {	
color: #fff;
background-color: #000;
}

.pagination li a:hover {	
color: #fff;
background-color: #000;
}

.pagination li .dots {	
width: 20px;
padding-top: 10px;
color: #000;
border-color: transparent;
background-color: transparent;
}

.pagination li a.prev.page-numbers, .pagination li a.next.page-numbers {
padding-top: 15px !important; /* 他のリンクと同じ高さに調整 */
}

/* 必要に応じて、以下のような追加スタイルも検討してください。*/
.pagination li a.prev.page-numbers:before, .pagination li a.next.page-numbers:after {
content: ''; /* 矢印を表示するためのコンテンツ */
display: inline-block !important;
vertical-align: middle !important;
/* ここに矢印のスタイルを追加 */
}

.contents > h1 {	
font-size: 1.5em;
margin: 0 0 20px;
}

@media (max-width: 599px) {	
.contents > h1 {
font-size: 1.3em;
}
}

.kiji {	
font-size: 1em;
margin: 0;
padding: 0 25px 25px;
}
	
.kiji-info .cat-data a {
text-decoration: none;
color: #222;
}
	
.kiji-info .cat-data a:hover {	
opacity: .8;
}
	
.kiji-img {	
max-width: 780px;
margin: 30px 0px;
text-align: center;
display: block;
text-align: center;
transition: none 0s ease 0s;
outline: none;
border: none;
padding: 0px;
border-spacing: 0px;
margin-left: -10px;
margin-right: -10px;
z-index: 30;
}

/*タグ*/
.kiji-tag {
text-align: left;
}

.kiji-tag ul {
display: flex;
flex-wrap: wrap;
margin: 0;
padding: 0;
list-style: none;
}

.kiji-tag li {
margin-right: 3px;
margin-bottom: 3px;
white-space: nowrap;
}

.kiji-tag li a {
display: inline-block;
text-align: center;
font-size: 12px;
text-decoration: none !important;
margin: 2px;
padding: 5px 10px;
white-space: nowrap;
background: #fff;
color: #333 !important;
border: solid 2px #333;
border-radius: 50px;
transition: .4s;
}

.kiji-tag li a:before {
font-size: 1.0em;
color: #333;
content: "\23";
font-family: FontAwesome;
padding-right: 3px;
transition: .4s;
}

.kiji-tag li a:hover {
background: #333;
color: #fff !important;
border: solid 2px #333;
}

.kiji-tag li a:hover:before {
color: #fff !important;
}
 
.kiji p {
margin-top: 0;
margin-bottom: 30px;
color: ;
line-height: 200%;
}

/*記事中のタイトルタグ*/
.entry-title { 
font-size:38px;
line-height: 150%;
color: #222;
}

.kiji h1 {
font-size: 30px;
margin: .3em 0;
color: #222;
}

/*.kiji h3 {
color: #000;
font-weight: bold;
font-size: 1.3em;
margin-top: 0px;
margin-bottom: 20px;
padding-bottom:0px;
line-height: 200%;
border-left: 10px solid #000;
padding-left: 20px;
}*/
	
.kiji h4 {
position: relative;
z-index: 1;
color: #222;
font-size: 1.2em;
margin-top: 10px;
margin-bottom: 10px;
margin-left: -10px;
margin-right: -10px;
line-height: 150%;
padding: 15px 10px;
}

.kiji h4::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(172, 164, 193, 0.2); /* 半透明グレー */
z-index: -1;
border-radius: 5px; /* 必要なら角丸 */
}

/* モバイル閲覧時の角丸削除 */
@media screen and (max-width: 780px) {
.kiji h4::before {
border-radius: 0; /* モバイル表示時に角丸を削除 */
}
}

.kiji h5 {
position: relative;
z-index: 1;
color: #222;
font-size: 1.2em;
margin-top: 30px;
margin-bottom: 10px;
margin-left: -10px;
margin-right: -10px;
line-height: 150%;
padding: 15px 10px;
}

.kiji h5::before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(172, 164, 193, 0.2); /* 半透明グレー */
z-index: -1;
border-radius: 0px; /* 必要なら角丸 */
}

/* モバイル閲覧時の角丸削除 */
@media screen and (max-width: 780px) {
.kiji h5::before {
border-radius: 0; /* モバイル表示時に角丸を削除 */
}
}

/*ここまで*/
@media only screen and (max-width:780px){
.entry-title { 
font-size:26px;
line-height: 130%;
}
}

@media (max-width: 599px) {	
.kiji {
font-size: 92%;
padding: 0 10px 25px;
}
	
/*スマホサイズの記事中タイトルタグ*/
.kiji h1 {
font-size: 1.7em;
}


	
/*.kiji h3 {
color: #000;
font-weight: bold;
font-size: 1.2em;
margin-top: 60px 0 20px 0;
line-height: 180%;
border-left: 10px solid #000;
padding-left: 15px;
}*/

.kiji h4 {
color:#222 ;/*文字色*/
font-size: 1.3em;
margin-top: 0px;
margin-bottom: 10px;
line-height: 150%;
}

.kiji h5 {
color:#222 ;/*文字色*/
font-size: 1.2em;
margin-top: 20px;
margin-bottom: 10px;
line-height: 150%;
}
}
/*ここまで*/

/*------サイドバー------*/
.sidebar-wrapper {
margin-bottom: 1.8em;
padding: 0px;
color: #222;
}

.sidebar-wrapper h4 {
font-family:;
font-size: 1.5em;
margin-top: 0;
margin-bottom: 0px;
padding: 0px 0px;
color: #ddd;
font-weight:normal;
}

.footer-wrapper h4 {
font-family: ;
font-size: 1.5em;
margin-top: 0;
margin-bottom: 0px;
padding: 0px 0px;
color: #ddd;
font-weight:normal;
}

/*デフォルトウィジェット*/
.widget_recent_entries ul, .widget_meta ul, .widget_recent_comments ul, .widget_pages ul, .widget_meta ul, .widget_archive ul, .widget_nav_menu ul {
padding: 0;
list-style: none;
}

.widget_recent_entries li, .widget_meta li, .widget_recent_comments li, .widget_pages li, .widget_meta li, .widget_archive ul, .widget_nav_menu li {
position: relative;
padding: 0px;
}

.widget_recent_entries li, .widget_nav_menu li {
padding-left: 25px;
}
	
.widget_recent_entries a, .widget_meta a, .widget_recent_comments a, .widget_pages a, .widget_meta a, .widget_archive a, .widget_nav_menu a {
color: #ddd;
}

.widget_recent_entries a:hover, .widget_meta a:hover, .widget_recent_comments a:hover, .widget_pages a:hover, .widget_meta a:hover, .widget_archive a:hover, .widget_nav_menu a:hover {
color: #ddd;
}

/* カテゴリウィジェット基本スタイル */
.widget_categories ul li {
position: relative;
border-bottom: 1px #ddd dotted;
padding-bottom: 10px;
padding-top: 10px;
padding-left: 40px;
list-style: none;
}

.widget_categories ul li a {
display: flex;
justify-content: space-between;
align-items: center;
color: #333;
font-size: 100%;
line-height: 1.4em;
padding-left: 0px;
margin-right: 5px;
}

.widget_categories ul li a .post-count {
margin-right: 15px !important;
text-decoration: none !important;
padding: 4px 8px;
border-radius: 5px;
color: #fff;
background: #333;
font-size: 0.8em;
}

.widget_categories a:hover {
color: #555 !important;
}

.widget_categories li {
position: relative;
padding-left: 25px;
}

.widget_categories li:before {
content: '\e5d0';
font-family: 'Font Awesome 6 PRO';
color: #333;
font-size: 180%;
display: inline-block;
text-align: center;
position: absolute;
top: 12px;
left: 10px;
margin-right: 0px;
}

/* スラッグごとに画像を指定 */
.widget_categories li.cat-item-9:before {
content: '\f82d'; /* ライフスタイル */
font-family: 'Font Awesome 6 PRO';
color: #57bc41; /* アイコンの色 */
font-size: 180%;
display: inline-block;
text-align: center; /* アイコンを中央に配置 */
left: 10px !important;
}

/* スラッグごとに画像を指定 */
.widget_categories li.cat-item-11:before {
content: '\f82d'; /* テクノロジー */
font-family: 'Font Awesome 6 PRO';
color: #20bfd1; /* アイコンの色 */
font-size: 180%;
display: inline-block;
text-align: center; /* アイコンを中央に配置 */
left: 10px !important;
}

/* スラッグごとに画像を指定 */
.widget_categories li.cat-item-12:before {
content: '\f82d'; /* 旅行・観光 */
font-family: 'Font Awesome 6 PRO';
color: #f28c28; /* アイコンの色 */
font-size: 180%;
display: inline-block;
text-align: center; /* アイコンを中央に配置 */
left: 10px !important;
}

/* スラッグごとに画像を指定 */
.widget_categories li.cat-item-13:before {
content: '\f82d'; /* ファッション・美容 */
font-family: 'Font Awesome 6 PRO';
color: #e75480; /* アイコンの色 */
font-size: 180%;
display: inline-block;
text-align: center; /* アイコンを中央に配置 */
left: 10px !important;
}

/* スラッグごとに画像を指定 */
.widget_categories li.cat-item-2:before {
content: '\f82d'; /* 健康・フィットネス */
font-family: 'Font Awesome 6 PRO';
color: #42a5f5; /* アイコンの色 */
font-size: 180%;
display: inline-block;
text-align: center; /* アイコンを中央に配置 */
left: 10px !important;
}

/* スラッグごとに画像を指定 */
.widget_categories li.cat-item-3:before {
content: '\f82d'; /* グルメ・レシピ */
font-family: 'Font Awesome 6 PRO';
color: #ff7043; /* アイコンの色 */
font-size: 180%;
display: inline-block;
text-align: center; /* アイコンを中央に配置 */
left: 10px !important;
}

/* スラッグごとに画像を指定 */
.widget_categories li.cat-item-4:before {
content: '\f82d'; /* マネー */
font-family: 'Font Awesome 6 PRO';
color: #ffb300; /* アイコンの色 */
font-size: 180%;
display: inline-block;
text-align: center; /* アイコンを中央に配置 */
left: 10px !important;
}

/* スラッグごとに画像を指定 */
.widget_categories li.cat-item-5:before {
content: '\f82d'; /* エンタメ・趣味 */
font-family: 'Font Awesome 6 PRO';
color: #8e44ad; /* アイコンの色 */
font-size: 180%;
display: inline-block;
text-align: center; /* アイコンを中央に配置 */
left: 10px !important;
}

/* 子カテゴリーを初期状態で非表示に設定し、適切な幅と改行設定を追加 */
.widget_categories li > ul.children {
max-width: 280px; /* 最大幅を設定 */
display: none; /* 初期状態で非表示 */
position: relative;
flex-wrap: wrap;
padding-top: 20px;
overflow-wrap: break-word;
word-break: break-all; /* 適切な改行設定 */
}

/* エリアスタイル */
area {
cursor: pointer;
}

/* 子カテゴリーのアイコン変更とスタイル */
.widget_categories ul.children li:before {
content: '\f07c';
font-size: 150%;
color: #555;
}

.widget_archive ul li a .post-count {
line-height: 1.0em;
float: right; /* 右端に寄せる */
margin: 15px 10px 0px 8px; /* 位置の調整 */
padding: 5px 8px; /* 文字周りの余白 */
border-radius: 4px; /* 角の丸み */
color: #fff; /* 文字色 */
font-size: 0.7em;
background: #777; /* 背景色 */
}

/*カテゴリウィジェットとアーカイブウィジェットのドロップダウン表示*/
.widget_categories .screen-reader-text {
display: none;
}

.widget_archive .screen-reader-text {
position: relative;
display: block;
height: 0;
text-indent: -9999999px;
}

.widget_categories form ,
.widget_archive form {
position: relative;
left: 0;
}

.widget_categories form::after,
.widget_archive form::after {
position: absolute;
top: 49%;
right: 8%;
font-size: 1.0em;
content: "\f078";
font-family: FontAwesome;
/* content: '▼'; */
color: #333; /* 文字色 */
transform: translateY(-50%);
pointer-events: none;
}

/* 親要素にセンタリングのためのスタイルを適用 */
.widget_categories, {
text-align: center; /* 子要素をセンター揃え */
}

/* select要素やpostformを中央に配置 */
.widget_categories .postform,
.widget_archive select {
font-size: 100%;
width: 95%;
padding: 12px 12px;
cursor: pointer;
border: 5px solid #aaa;
border-radius: 0px;
background-color: #f4f5f9;
color: #777; /* 文字色 */
-webkit-appearance: none;
-moz-appearance: none;
margin: 0 auto; /* 横方向の余白を自動設定し中央揃え */
display: block; /* ブロック要素として扱う */
}

.widget_categories .postform:hover {
border: 5px solid #000 !important;
}

/* タグクラウド */
.tagcloud {
    display: flex;
    flex-wrap: wrap;
    justify-content: left;
}

.tagcloud a {
    display: inline-block;
    margin: 3px;
    padding: 8px 12px;
    font-size: 12px !important;
    text-decoration: none !important;
    text-align: center;
    white-space: nowrap;
    color: #333;
    background-color: #fff;
    border: 2px solid #333;
    border-radius: 50px;
    transition: .4s;

    /* 文字数が長い場合に省略する */
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 150px; /* 必要に応じて適切な幅に調整 */
}

.tagcloud a:before {
    display: inline-block;
    font-size: 12px !important;
    font-family: FontAwesome;
    content: "\23";
    padding-right: 3px;
    color: #333;
    transition: .4s;
}

.tagcloud a:hover {
    background-color: #333;
    color: #fff;
    border: 2px solid #333;
}

.tagcloud a:hover:before {
    color: #fff;
}


/*アーカイブウィジェット*/
.widget_archive ul li {
position: relative;
border-bottom: 1px #ddd dotted ;
padding-bottom:0px;
padding-top:5px;
}

.widget_archive li a {
line-height: 3.0em;
font-size: 120%;
color: #222;
text-decoration: underline;
margin: -37px 0 0px 0px;
padding-left: 10px;
}

.widget_archive li:before {
font-size: 1.3em;
color: #222;
content: "\f044";
font-family: FontAwesome;
padding-left: 10px;
}

.widget_archive a:hover {
color: #555 !important;
text-decoration: none;
}

/* PREV NEXT */
#prev_next{
background: linear-gradient(to right, rgba(255,255,255,0), rgba(247,248,250,1.0), rgba(255,255,255,0));
width:100%;
margin: 36px 0 24px;
padding:0;
display: table;
}
#prev_next  #prev, #prev_next  #next{
width: 50%;
padding: 30px 10px 10px;
border-top:#ccc 1px solid;
border-bottom:#ccc 1px solid;
display: table-cell;
position:relative;
text-decoration:none;
}

#prev_next #prev:hover, #prev_next #next:hover{
background-color: rgba(238,238,238,0.7);
}
#prev_next #prev{
border-right:#ccc 1px solid;
}
#prev_next #prev_title, #prev_next #next_title{
font-size:90%;
top:-1em;
position:absolute; 
border: 1px #ccc solid;
background:#fff; 
text-align: center;
padding:3px;
color:#666;
}
#prev_next #next_title{
right:10px;
}
#prev_next #prev img, #prev_next #next img{
margin:10;
}
#prev_next #prev_no, #prev_next #next_no{
width: 50%;
height:140px;
padding:0 10px;
display: table-cell;
}
#prev_next #prev_no{
border-right:#ccc 1px solid;
}
#prev_next_home{
margin:0 auto;
background-color: #39f;
border: solid 9px #fff;
width: 100px;
height:100px;
-moz-border-radius: 100px;
-webkit-border-radius: 100px;
border-radius: 100px;
box-shadow: 0 0 0 3px #39f;
-webkit-box-shadow: 0 0 0 3px #39f;
-moz-box-shadow: 0 0 0 3px #39f;
text-align:center;	
}
#prev_next_home:hover{
background-color: rgba(0,0,255,0.7);
}
#prev_next_home i{
color:#FFF;
margin:10px auto ;
font-size:60px;
}
/*-- ここまで --*/

/*media Queries タブレットサイズ
----------------------------------------------------*/
@media only screen and (max-width: 780px) {
}
#prev_next #prev p, #prev_next #next p{
font-size:80%;
line-height:1.45;
}
/*media Queries タブレットサイズ
----------------------------------------------------*/
@media only screen and (min-width: 380px) {
}
/*media Queries PCサイズ
----------------------------------------------------*/
@media only screen and (min-width: 780px) {
/*-- ここから --*/
/*--------------------------------------
768px PREV NEXT
--------------------------------------*/
#prev_next #prev, #prev_next #prev::before, #prev_next #prev::after,
#prev_next #next, #prev_next #next::before, #prev_next #next::after {	
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
-webkit-transition: all .3s;
transition: all .3s;
}
	
#prev_next #prev p, #prev_next #next p{
font-size:90%;
line-height:1.5;
}
	
#prev_next #prev_title, #prev_next #next_title{
padding:3px 10px;
}
#prev_next #next_title{
right:10px;
}
#prev_next #prev img{
float:left;
margin:10px
}
#prev_next #next img{
float:right;
margin:10px;
}
/*-- ここまで --*/
}
/*ホーム表示ブロック*/
#prev_next_home{
display: none;	
}
#prev_next_home:hover{
display: none;
}
#prev_next_home i{
display: none; 
}

/*トップ表示*/
.home-top .article-top .img-wrap img {
width: 615px;
height: 615px;
}

.home-top .article-top .text {
margin-left: 645px;
}

.home-top .article-top .new-post {
font-weight: none;
display: block;
margin-bottom: .5rem;
color: #ff9900;
}

.home-top .article-top .text h2 {
font-size: 150%;
margin-bottom: 1rem;
}

.home-top .article-top .text .article-date,
.home-top .article-top .text .cat-data {
margin-bottom: 1rem;
}

@media(max-width: 1024px) {
.home-top .article-top .img-wrap img {
width: 420px;
height: 420px;
}

.home-top .article-top .text {
margin-left: 440px;
}
}

@media(max-width: 800px) {
.home-top .article-top .img-wrap {
float: none;
}

.home-top .article-top .img-wrap img {
width: 100%;
height: 100vw;
}

.home-top .article-top .text {
margin-left: 0;
line-height: 1.7;
}

.home-top .article-top .new-post,
.home-top .article-top .text h2,
.home-top .article-top .text .article-date,
.home-top .article-top .text .cat-data {
margin-bottom: 1;
}
}

/*  ボタンの上に置く top */
.balloon_top {
position: relative;
background: #fcfcfc;
border: 1px solid gray; /*#242a2e;*/
font-size:11px;
text-align:center;
margin-bottom:5px; padding:3px;
font-family: arial, "",sans-serif;
border-radius: 5px;        
}
.balloon_top:after, .balloon_top:before {
top: 100%;
left: 50%;
border: solid transparent;
content: " ";
height: 0;
width: 0;
position: absolute;
pointer-events: none;
}

.balloon_top:after {
border-color: rgba(252, 252, 252, 0);
border-top-color: #fcfcfc;
border-width: 5px;
margin-left: -5px;
}
.balloon_top:before {
border-color: rgba(36, 42, 46, 0);
border-top-color: gray; /*#242a2e;*/
border-width: 6px;
margin-left: -6px;
}

/* ボタンの右に置く right */
.balloon_right {
position: relative;
background: #ffffff;
border: 1px solid gray; /*#0a0c0d;*/
font-size:11px;
text-align:center;
margin-left:5px; padding:3px; margin-top:30px;
font-family: arial, "",sans-serif;
border-radius: 5px;
}
.balloon_right:after, .balloon_right:before {
right: 100%;
top: 50%;
border: solid transparent;
content: " ";
height: 0;
width: 0;
position: absolute;
pointer-events: none;
}

.balloon_right:after {
border-color: rgba(255, 255, 255, 0);
border-right-color: #ffffff;
border-width: 3px; /*5px;*/
margin-top: -3px; /*5px;*/
}
.balloon_right:before {
border-color: rgba(10, 12, 13, 0);
border-right-color: gray; /*#0a0c0d;*/
border-width: 4px; /*6px;*/
margin-top: -4px;  /*6px;*/
}

/* ぬるっと出現するテキスト・画像 */
.fadeInDown {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:1s;
 -ms-animation-duration:1s;
 animation-duration:1s;
 -webkit-animation-name: fadeInDown;
 animation-name: fadeInDown;
 visibility: visible !important;
}
@-webkit-keyframes fadeInDown {
 0% { opacity: 0; -webkit-transform: translateY(-20px); }
 100% { opacity: 1; -webkit-transform: translateY(0); }
}
@keyframes fadeInDown {
 0% { opacity: 0; -webkit-transform: translateY(-20px); -ms-transform: translateY(-20px); transform: translateY(-20px); }
 100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
}

/* ふわふわする画像 */
.float {
animation: float_7667 1s linear infinite;
transform-origin: 50% 50%;
}

@keyframes float_7667 {
0% { transform: translateY(0) }
20% { transform: translateY(-6px) }
40% { transform: translateY(0) }
100% { transform: translateY(0) }
}

/*時計アイコンを横に並べる*/
.time { 	
float: left;
margin-right: 5px; 
margin-top: 18.5px; 
}

/*引用枠*/
blockquote {
position: relative;
padding: 10px 20px;
box-sizing: border-box;
color: #777777;
border: solid 3px #777777;
}
blockquote:before{
display: inline-block;
position: absolute;
top: -20px;
left: -20px;
width: 40px;
height: 40px;
line-height: 40px;
border-radius: 50%;
text-align: center;
content: "\f10d";
font-family: FontAwesome;
background: #777777;
color: #ffffff;
font-size: 20px;
}

blockquote:after{
display: inline-block;
position: absolute;
bottom: -20px;
right: -20px;
width: 40px;
height: 40px;
line-height: 40px;
border-radius: 50%;
text-align: center;
content: "\f10e";
font-family: FontAwesome;
background: #777777;
color: #ffffff;
font-size: 20px;
}

blockquote p {
padding: 16px;
margin: 10px 10px;
color: #666666;
line-height: 1.7;
}

blockquote cite {
display: block;
text-align: right;
color: #666666;
font-size: 0.9em;
}

/* リストの黒丸を消す */
ul {
list-style: none;
background-image:none;
}

::marker {
color: rgba( 255,255,255, 0.1 );
}

/*スライダー*/
/* 1.親スタイルリセットとペース設定 ++++++++++ */
.slider-box p, .slider-box div, .loop-box ul, .loop-box li {
box-sizing: border-box; margin: 0 !important; padding: 0 !important;
}

/* 2.ベースBOXの設定 +++++++++++++++++++++ */
.slider-box {
box-sizing: border-box;
overflow: hidden;
width: 100%; /* 画面又は親要素に対するサイズ - 変更可 */
background: ; /* 背景色 - 変更可・削除可 */
border: solid 0px #ccc; /* 囲み線 - 変更可・削除可 */
margin: 0 auto; /* Box外の余白 - 変更可 */
padding: 0px 0 0px 0; /* 上端からスライダーまでの距離 - 変更可・削除可 */
}

/* 3.チェックボックスを利用した停止・再生などの設定 +++++++++++++++++ */
.slider-check {
display: none;
}
.slider-check:checked ~ .loop-box > .loop {
animation-play-state: paused;
}

/* 4.スライダー本体とアニメーションの基本設定 ++++++++++++++ */
.loop-box{
position: relative;
width: 100%;
overflow: hidden; 
}
.loop-box, .loop-box ul {
height: 70px; /* スライダーの高さ - 変更注意 */
}
.loop-box ul {
position: absolute; left: 0; top: 0;
display: flex; 
justify-content: space-between;
background: ; /* スライダーの背景色 - 変更可 */
list-style: none;
max-width: 10000%; 
min-width: 100%;
width: calc(60px * 4.0 * 10); /* 画像の横幅×枚数 - 変更注意・変更可・変更注意 */
animation: 150s linear infinite; /* アニメーション設定 - 変更可 */
}
.loop-box li {
display: flex;
align-items: center; 
justify-content: center;
color: #fff;
}
.loop-box img {
height: auto;
width: 100%;
}

/* 5.アニメーション個別設定 ++++++++++ */
.loop-box ul.loop1 {
animation-name: loop1;
}
.loop-box ul.loop2 {
animation-name: loop2;
}
@keyframes loop1 {
0% {transform: translateX(0); }
49.99999% {transform: translateX(-100%); }
50% {transform: translateX(100%); }
}
@keyframes loop2 {
0% {transform: translateX(100%); }
100%{transform: translateX(-100%); }
}

@keyframes shiny {
0% {
transform: scale(0) rotate(25deg);
opacity: 0;
}

50% {
transform: scale(1) rotate(25deg);
opacity: 1;
}

100% {
transform: scale(50) rotate(25deg);
opacity: 0;
}
}

.shiny-btn {
position: relative;
display: block;
width: 100%;
line-height: 100%;
text-align: center !important;
text-decoration: none;
color: #fff;
background-color: ;
overflow: hidden;
}

.shiny-btn::after {
content: '';
position: absolute;
top: -100px;
left: -100px;
width: 50px;
height: 50px;
background-image: linear-gradient(100deg,  rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, 1) 100%, rgba(255, 255, 255, 0) 0%);
    
/* アニメーション */
animation-name: shiny;
animation-duration: 3s;
animation-timing-function: ease-in-out;
animation-iteration-count: infinite;
}

/* 目次を中央寄せ 下余白 */
#ez-toc-container {
width: 100%;
}

/* タイトル前のアイコン　FontAwesomeの設定 */
#ez-toc-container .ez-toc-title:before{
content: "\f0ca"; /* FontAwesomeのコード */
font-family: FontAwesome;
padding-right: 6px;
vertical-align: 10px
font-size:12px; /* アイコンの大きさ */
color: #fff;
}

#ez-toc-container p.ez-toc-title+ul.ez-toc-list>li {
margin-top: 1.5em;
padding-bottom: 0.4em;
}

#ez-toc-container p.ez-toc-title+ul.ez-toc-list {
margin-top: 1em;
margin-right: 1em;
}

#ez-toc-container li {
padding-left: 1em !important;
}

#ez-toc-container ul ul {
margin-bottom: 20px;
}

#ez-toc-number {
margin-left: -0.5em;
margin-right: 0.5em;
}

#ez-toc-container ul>li>ul>li {
font-size: 100% !important;/*小見出しの文字サイズ*/
}

#ez-toc-container .ez-toc-toggle > a {
color: #fff !important;/*［hide］の文字色*/
letter-spacing: 0.1em;/*文字間の余白*/
}

/*リンクの色など*/
#ez-toc-container a {
text-decoration: none;
text-shadow: none;
color: #333 !important;
margin: 10px 0;
line-height: 180% !important;
}

#ez-toc-container a:hover {
text-decoration:underline
}

#ez-toc-container {
width: 100%;
background-color: rgba(255,255,255, 0.9)  !important;/*背景色*/
background: url(/Image/logo.svg) no-repeat 96% 99%; background-size:100px;
margin: 80px auto 100px auto;
padding:60px 30px 50px 20px;
display: table;
border: solid 5px #333 !important;/*外枠*/
position: relative;
border-radius: 2px;/*角丸*/
box-shadow: 0px 0px 0px 3px rgba(235, 235, 235, 0.8);

}

.ez-toc-title-container {
width: auto;
padding: 5px 20px;
border-radius: 20px;
background-color: #333 !important;
background-image: url();
background-size: 5px;
position: absolute;
top: -20px;
left: 20px;
letter-spacing: 0.05em;
display: inline-block;
}

.ez-toc-title{
font-size:120% !important;
color:#fff;
}

/*サイドバーランキング順位　ここから*/
.wpp-list {
counter-reset: wpp-ranking ;
}
.wpp-list li {
position: relative;
list-style-type: none;
margin: 10px 10px 0 5px;
}
.taxonomies{
margin: 20px 0 0 !important;
font-size: 120%;
}
.wpp-list a {
margin: 0px 0 0 !important;
font-size:95% !important;
line-height: 150%;
}

.wpp-list li:before {
counter-increment: wpp-ranking;
content: counter(wpp-ranking, decimal);
background: linear-gradient(180deg, rgba(236,100,56,1.0) 0%, rgba(236,100,56,1.0) 50%, rgba(212,79,37,1.0) 50%, rgba(212,79,37,1.0) 100%);
border: 2px solid #f0f0f0;
box-shadow: 0px 0px 0px #000;
color: #fff;
font-weight: bold;
font-size: 15px;
font-family: 'Oswald', sans-serif;
line-height: 1;
padding: 4px 4px;
margin: 0 0px 0 0px;
position: absolute;
left: 0;
top: 0;
border-radius: 20%; /* 円形にする */
z-index: 1;
width: 28px;
text-align: center;
}

/* 1位 */
.wpp-list li:nth-child(1):before {
background: linear-gradient(180deg, rgba(253,203,76,1.0) 0%, rgba(253,203,76,1.0) 50%, rgba(253,188,25,1.0) 50%, rgba(253,188,25,1.0) 100%);
border: 2px solid #f0f0f0 !important;
}

/* 2位 */
.wpp-list li:nth-child(2):before {
background: linear-gradient(180deg, rgba(192,192,192,1.0) 0%, rgba(192,192,192,1.0) 50%, rgba(169,169,169,1.0) 50%, rgba(169,169,169,1.0) 100%);
border: 2px solid #f0f0f0 !important;
}

/* 3位 */
.wpp-list li:nth-child(3):before {
background: linear-gradient(180deg, rgba(205,127,50,1.0) 0%, rgba(205,127,50,1.0) 50%, rgba(139,69,19,1.0) 50%, rgba(139,69,19,1.0) 100%);
border: 2px solid #f0f0f0 !important;
}

.wpp-list li:after {
content: ""; /* アイコンコードを修正 */
position: absolute;
top: -2px; /* この値を調整してアイコンの位置を変更します */
left: 16px; /* この値を調整してアイコンの位置を変更します */
color: #000;
text-shadow: 0px 0px 0px #000; 
font-size: 100%;
z-index: 2;
}
.wpp-list li img {
width: 100px; /* 例 */
height: 100px; /* 例 */
object-fit: cover !important;
object-position: top !important;
border-radius: 10px;
margin: -5px 5px 10px -5px;
border: 3px solid #ccc;
}


/* 6位以降のランキング　ここから */
.wpp-list_02 {
counter-reset: wpp-ranking 5; /* 6位からカウント開始するので、最初の要素が6になります */
}
.wpp-list_02 li {
position: relative;
list-style-type: none;
margin: 10px 10px 20px 5px;
}
.wpp-list_02 a {
margin: 10px 0px;
font-size: 110%;
}
.title-and-excerpt{
margin: 10px 0px;
line-height: 150%;
}

/* 各順位の背景色などのスタイルを維持 */
.wpp-list_02 li:before {
counter-increment: wpp-ranking;
content: counter(wpp-ranking, decimal); /* カウント値を表示 */
background: linear-gradient(180deg, rgba(236,100,56,1.0) 0%, rgba(236,100,56,1.0) 50%, rgba(212,79,37,1.0) 50%, rgba(212,79,37,1.0) 100%);
border: 2px solid #f0f0f0;
color: #fff;
font-weight: none;
font-size: 14px;
    font-family: 'Oswald', sans-serif;
    line-height: 1;
    padding: 4px 2px;
    margin: 0 0px 0 0px;
    position: absolute;
    left: 0;
    top: 0;
    border-radius: 20%; /* 円形にする */
    z-index: 1;
    width: 28px;
    text-align: center;
}

/* 6位以降に1位、2位、3位の特殊表示は不要 */
/* 1位 */
.wpp-list_02 li:nth-child(1):before {
background: linear-gradient(180deg, rgba(236,100,56,1.0) 0%, rgba(236,100,56,1.0) 50%, rgba(212,79,37,1.0) 50%, rgba(212,79,37,1.0) 100%);
border: 2px solid #f0f0f0 !important;
}
/* 2位 */
.wpp-list_02 li:nth-child(2):before {
background: linear-gradient(180deg, rgba(236,100,56,1.0) 0%, rgba(236,100,56,1.0) 50%, rgba(212,79,37,1.0) 50%, rgba(212,79,37,1.0) 100%);
border: 2px solid #f0f0f0 !important;
}
/* 3位 */
.wpp-list_02 li:nth-child(3):before {
background: linear-gradient(180deg, rgba(236,100,56,1.0) 0%, rgba(236,100,56,1.0) 50%, rgba(212,79,37,1.0) 50%, rgba(212,79,37,1.0) 100%);
border: 2px solid #f0f0f0 !important;
}
/* アイコンを調整 */
.wpp-list_02 li:after {
content: ""; /* アイコンコードを修正 */
position: absolute;
top: -2px; /* アイコン位置調整 */
left: 16px; /* アイコン位置調整 */
color: #000;
text-shadow: 0px 0px 0px #000;
font-size: 100%;
z-index: 2;
}

.wpp-list_02 li img {
margin: -5px 5px 10px -5px;
border-radius: 10px; /* 円形にする */
}


/* グローバルメニュー */
.nav-wrap {
position: ;
z-index: 0;
}
.scroll-nav {
width: 100%;
overflow-x: auto;
-webkit-overflow-scrolling: touch; /* 慣性スクロール */
}
.scroll-nav ul {
max-width: 1080px; /* メニューの最大幅 */
min-width: 760px; /* メニューの最小幅 */
height: 30px;
line-height: 40px;
margin: 0 auto;
list-style: none;
padding-right: 0px; /* 右側の固定分余白を空ける */
}
.scroll-nav ul li + li {
border-left: 1px solid #777777;
box-sizing: border-box;
}
.scroll-nav ul li {
float: left;
width: 253px; /* メニューの個別の幅 */
text-align: center;
}
.scroll-nav ul li:hover {
background: url(/Image/line_bg.png);background-size: 5px;
background-color: #fff; /* マウスホバー時の背景色 */
}
.scroll-nav ul li a {
display: inline-block;
color: #fff; /* メニューの文字色 */
text-decoration: none;
font-size: 80%;
}
.next-btn { /* 右側に固定する部分 */
position: ;
top: 0;
right: 0;
width: 0px; /* 固定部分の幅 */
height: 30px; /* メニューの高さに合わせる */
line-height: 40px;
background: linear-gradient(to right, #555, #fff);
}
@media only screen and (min-width: 771px) { /* PCサイズでの指定 */
.scroll-nav ul {
height: 30px;
line-height: 40px;
padding: 0;
}
.scroll-nav ul li {
width: 33.3%; /* メニューの個別の幅 */
}
.scroll-nav ul li a {
display: inline-block;
color: #fff; /* メニューの文字色 */
text-decoration: none;
font-size: 90%;
}

.next-btn {
display: none; /* 右側の固定部分を非表示 */
}
}

/* 右側の固定部分を非表示 */
.header-inner {	
position: relative;
}

/* サイドバー吹き出し */
.arrow_box_02{
position:relative;
width:100%;
height:auto;
background: linear-gradient(110deg, #9c3749 0%, #9c3749 60%, #9c3749 40%, #9c3749 100%);
padding:10px 0px 10px 0px;
margin:15px 0px 0px 0px;
text-align:left;
color:#fff;
font-size:80%;
border-radius: 0px !important;
-webkit-border-radius:0px;
-moz-border-radius:0px;
}

.arrow_box_02:after{
border: solid transparent;
content:'';
height:0;
width:0;
pointer-events:none;
position:absolute;
border-color: rgba(255, 40, 100, 0);
border-top-width:10px;
border-bottom-width:10px;
border-left-width:10px;
border-right-width:10px;
margin-left: -10px;
border-bottom-color:#9c3749;
bottom:100%;
left:50px;
}

.arrow_box_00{
position:relative;
width:100%;
height:auto;
background: linear-gradient(110deg, #000 0%, #000 60%, #000 40%, #000 100%);
padding:15px 55px 10px 15px;
margin:-20px 0px 10px 0px;
text-align:left;
color:#fff;
font-size:80%;
-webkit-border-radius:0px;
-moz-border-radius:0px;
}

.arrow_box_00:after{
border: solid transparent;
content:'';
height:0;
width:0;
pointer-events:none;
position:absolute;
border-color: rgba(255, 40, 100, 0);
border-top-width:10px;
border-bottom-width:10px;
border-left-width:10px;
border-right-width:10px;
margin-left: -10px;
border-bottom-color:#000;
bottom:100%;
left:50px;
}

.arrow_box_pan{
position:relative;
width:100%;
height:auto;
padding:10px 10px;
margin:0px 0px 0px 0px;
text-align:left;
color:#e0387b;
font-size:80%;
border-radius: 0px !important;
-webkit-border-radius:0px;
-moz-border-radius:0px;
border: 0px solid; /* border width and style */
background: linear-gradient(110deg, rgba(156,55,73,1.0) 0%, rgba(156,55,73,1.0) 5%, rgba(156,55,73,1.0) 90%);
border-image-slice: 1;
}

/*サンプル動画　ここから*/
.youtube {
position: relative;
width: 100%;
padding-top: 100%;
margin-bottom: -80% !important;
}
.youtube iframe {
position: absolute;
top: 0;
right: 0;
width: 100% !important;
height: 47.5% !important;
}

/* 吹き出し */
.arrow_box_03 {
position:relative;
width:100%;
background-color:#fff;
background-image: url(/Image/logo_b.webp),url(/Image/),url(/Image/);
background-size: 200px,150px,600px ;
background-position: 25px 40px, 98% 98%, 50% 50%;
background-repeat: no-repeat, no-repeat, repeat;
margin: 50px auto -50px auto;
padding:60px 30px 10px 30px;
text-align:left;
color: #222 !important;
word-break: break-all;
border:5px solid #000;
line-height:220% !important;
font-size:13px;
-webkit-border-radius:0px;
-moz-border-radius:0px;
}

.arrow_box_03:after,.arrow_box_03:before{
border: solid transparent;
content:'';
height:0;
width:0;
pointer-events:none;
position:absolute;
bottom:100%;
left:10%;
}
.arrow_box_03:after{
border-color: rgba(255, 255, 255, 0);
border-top-width:10px;
border-bottom-width:10px;
border-left-width:10px;
border-right-width:10px;
margin-left: -10px;
border-bottom-color:;
}

.arrow_box_03:before{
border-color: rgba(164, 18, 92, 0);
border-top-width:13px;
border-bottom-width:13px;
border-left-width:13px;
border-right-width:13px;
margin-left: -13px;
margin-bottom: 0px;
border-bottom-color:#000;
}

.logo img {
position: absolute;
bottom: 10px;
left: 10px;
width: 90px !important;
height: 33px !important;
}

.logo_02 img {
position: absolute;
bottom: 10px;
left: 10px;
width: 60px !important;
height: 22px !important;
}

.ico_play img {
position: absolute;
bottom: 30%;
left: 90px;
width: 100px !important;
height: 100px !important;
}

.kiji-img_02 {
background-size:cover;
background-position: 50% 50%;
background-repeat: no-repeat;
}
/* 記事中画像エフェクト */
.frame {
display: inline-block;
position: relative;
}
.frame:after {
position: absolute;
display: block;
content: "";
top: 0;
left: 0;
width: 100%;
height: 100%;
box-shadow: 0 4px 10px rgba(75, 72, 72, 0.1);
transform: rotate(3deg); /* 回転させる */
background: #fff;
z-index: -1;
}
/* 背景斜め加工 */
.triangle01 {
display: table;
width: 100%;
height: auto;
background-color: ;
transform: skewY(-2deg);
margin-top: 5vw;
padding:10px;
} 
.triangle01 > * {
transform: skewY(2deg);
}

.triangle02 {
display: table;
width: 100%;
height: auto;
background-color: ;
transform: skewY(-2deg);
margin-top: 5vw;
} 
.triangle02 > * {
transform: skewY(2deg) translateY(0px);
}

/* カードタイトル文字数制限 */
.cardt {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2; /* 制限したい行数が2の場合 */
overflow: hidden;
line-height: 1.5em; /* 行の高さを設定 */
height: 3em; /* 2行分の高さを設定 (line-height * 2) */
}

/* 記事中ボタン */
.tug_bottom {
min-width:200px;
width:80%;
text-align:center;
font-size: 20px;
text-decoration:none !important;
line-height: 180%;
padding: 20px 10px;
margin: -10px -20px 30px -20px;
background: linear-gradient(180deg, #e6002d 0%, #e6002d 40%, #bf082f 40%, #bf082f 100%);
white-space: nowrap;
color: #fff !important;
font-weight: bold;
border: solid 5px #ffcc63;
border-radius: 50px !important;
transition: .4s;
}

.tug_bottom:before {
font-size: 1.0em;
color: #fff;
content: "\f08e";
font-family: FontAwesome;
padding-right: 3px;
transition: .4s;
}

.tug_bottom:hover{
background: linear-gradient(180deg, #e64949 0%, #e64949 40%, #d2011b 40%, #d2011b 100%);
color: #f5f6f9 !important;
font-weight: bold;
border: solid 5px #ffcc63;
cursor: pointer;
}

.tug_bottom input[type="submit"] {
background-color: transparent; /* 背景色を透明にして親divのデザインを活かす */
border: none;
color:#fff;
cursor: pointer;
}

.wpcf7-response-output {
color: #ffb900;
}

/* 前面 */
.zenmen{
z-index: 1 !important;
position: relative;
}
.zenmen_02{
z-index: 10 !important;
position: relative;
}

/* 投稿ページに新着一覧レスポンシブ */
.recent-posts-wrapper {
display: flex;
flex-wrap: wrap;
margin: 0 0px;
font-size: 90%;
line-height: 150%;
}

.recent-post-item {
width: calc(16.66% - 7px);
margin: 0 0 10px 5px;
}

@media screen and (max-width: 1024px) {
.recent-post-item {
width: calc(33.33% - 7px);
margin: 0 0 10px 5px;
}
}

@media screen and (max-width: 767px) {
.recent-post-item {
width: calc(50% - 7px);
margin: 0 0 10px 5px;
}
}

@media screen and (max-width: 767px) {
.recent-post-item {
width: calc(50% - 7px);
margin: 0 0 10px 5px;
}
}

@media screen and (max-width: 499px) {
.recent-post-item {
width: calc(100% - 7px);
margin: 0 0 10px 5px;
}
}

@font-face {
font-family: 'FontAwesome';
src: url('path/to/fontawesome-webfont.eot');
src: url('path/to/fontawesome-webfont.eot?#iefix') format('embedded-opentype'),
url('path/to/fontawesome-webfont.woff2') format('woff2'),
url('path/to/fontawesome-webfont.woff') format('woff'),
url('path/to/fontawesome-webfont.ttf') format('truetype'),
url('path/to/fontawesome-webfont.svg#fontawesomeregular') format('svg');
font-weight: normal;
font-style: normal;
}
.star-list {
color: #fac225;
}

/* 自動改行 */
.post-content p {
white-space: pre-wrap;
}

/* 一覧看板 */
.diagonal{
text-align:center;
color: #fff;
font-size: 10px;
background-color: #222;
border-radius: 50px;
padding: 8px 12px;
margin-right: 15px;
/*transform: skew(-10deg);
display: flex;
align-items: center;
justify-content: center;*/
}

/* アバター背景円形白設定 */
.circular-image {
background-color: #f7f8fa; /* 背景色を白に設定 */
border-radius: 50%; /* 円形にする */
display: inline-block; /* ブロック要素として表示 */
overflow: hidden; /* 枠外の画像を非表示 */
}

/* 基本の.tatesenクラスのスタイル */
.tatesen {
padding: 0.8em 1.0em; /* 上下 左右の余白 */
background: transparent; /* 背景透明に */
border-left: solid 2px !important; /* 左線 */
z-index: 9999 !important; /* 要素を前面に持ってくる */
}

/* table全体がホバーされたときに.tatesenクラスの左線を白に変更 */
table:hover .tatesen {
border-left-color: white;
z-index: 9998; /* 要素を前面に持ってくる */
}

/* アニメ見出し */
.content_txt {
position: relative;
margin: 80px -41px 0px;
padding: 80px 0 10px 30px;
background-image:
linear-gradient(to right,rgba(0, 0, 0, 0.0), rgba(0, 0, 0, 0.0)),
url(/Image/),
url(/Image/header_bg.svg),
url(/Image/23_30_30.webp);
background-position:
0% 0%,
50% -20px,
0% 0%,
0% 100%;
background-repeat: no-repeat;
background-size:
cover,
400px,
100%,
cover;
color: #000;
font-size: 150% !important;
font-weight: bold;
line-height: 44px;
clip-path: polygon(0 10%, 100% 0, 100% 100%, 0 100%);
z-index: 1;
}

.content_txt_02 {
position: relative;
display: block;
width: 99.9%;
color: #000;
font-size: 100% !important;
text-align: left;
padding: 25px 140px 18px 30px;
background-color: rgba(255, 255, 255, 1.0);
border-bottom: 10px solid rgba(254,100,125,1.0);
box-sizing: border-box;
-webkit-box-shadow: -2px -3px 10px #011a33;
-moz-box-shadow: -2px -3px 10px #011a33;
box-shadow: -2px -3px 10px #011a33;
border-top-left-radius: 10px; /* 左上を角丸にする */
z-index: 2; /* 追加 */
}
.content_txt_02::before {
content: '';
position: absolute;
top: -10px; /* 親要素の中央に配置 */
left: 0px; /* 左端に配置 */
width: 80px; /* 画像の横幅 */
height: 83px; /* 画像の縦幅 */
background-image: url('/Image/star.webp'); /* 画像のURLを指定 */
background-size: cover; /* 画像を要素に合わせて拡大縮小 */
background-position: center !important; /* 画像の位置を中央に調整 */
transform: translateY(-50%); /* 画像を中央に調整 */
z-index: 1; /* 画像がテキストより前に表示されないように調整 */
}

@media screen and (max-width: 599px) {
.content_txt_02 {
font-size: 90% !important;
line-height: 130%;
}
}

.content_txt_03 {
position: relative;
display: block;
width: 99.9%;
color: #333;
font-size: 100% !important;
line-height: 140%;
text-align: left;
padding: 20px 20px 7px 20px;
border-top-left-radius: 5px; /* 左上を角丸にする */
border-bottom-left-radius: 0px; /* 左下を角丸にする */
background-color: rgba(255, 255, 255, 0.9);
border-bottom: 6px solid rgba(181, 202, 216, 0.5);
box-sizing: border-box;
-webkit-box-shadow: -2px -3px 5px #ccc;
-moz-box-shadow: -2px -3px 5px #ccc;
box-shadow: -2px -3px 5px #ccc;
z-index: 2; /* 追加 */
}

.content_txt_03::before {
content: '';
position: absolute;
top: 0%; /* 親要素の中央に配置 */
left: 0px; /* 左端に配置 */
width: 50px; /* 画像の横幅 */
height: 52px; /* 画像の縦幅 */
background-image: url('/Image/star.webp'); /* 画像のURLを指定 */
background-size: cover; /* 画像を要素に合わせて拡大縮小 */
background-position: center !important; /* 画像の位置を中央に調整 */
transform: translateY(-50%); /* 画像を中央に調整 */
z-index: 1; /* 画像がテキストより前に表示されないように調整 */
}

.search-box{
background-color: #fff;
box-shadow: 0px 0px 5px #ccc;
padding:2px 5px;
margin-top:-10px;
}

.search-box label{
display: inline-flex;
color:#222;
font-size:70%;
margin:10px 0px 15px 10px;
text-indent: 0px; /* テキスト（女優名）を10px右に移動 */
line-height: 1.5;
width:170px;
}

.search-box label span {
display: inline-flex;
position:fixed
bottom: 5px; /* テキストを下に5px移動 */
}

.search-box h3 {
cursor: pointer;
color:#222;
background-color: #fff;
padding: 15px;
margin: 5px 0 5px;
border: 1px solid #ddd;
}

.search-box .accordion-icon {
position: sticky;
left: 100%; /* 右端に配置 */
transform: translateY(-50%); /* 垂直方向の中央に配置 */
font-size: 14px;
pointer-events: none; /* クリックイベントを無視する */
}

.search-box.active .content {
display: block; /* activeクラスが付与されたら表示する */
}

input[type="checkbox"] + * {
margin-left: 5px;
vertical-align: middle; /* 縦の位置合わせ */
}

/* レコメンド画像をコンテナにフィットさせる */
.relpost-block-single-image {
background-size: cover !important; /* 背景画像をcoverとして表示 */
background-position: center top !important; /* 背景画像の位置を中央に配置 */
}

/* レコメンド画像をセンター */
.relpost-block-container{
float: center !important;
}

/* 検索ボタン */
.feas-submit-button {
min-width:200px;
width:85%;
text-align:center;
font-size: 20px;
text-decoration:none !important;
line-height: 180%;
padding: 20px 10px;
margin: -10px -20px 30px -20px;
background: linear-gradient(180deg, #e6002d 0%, #e6002d 40%, #bf082f 40%, #bf082f 100%);
white-space: nowrap;
color: #fff !important;
font-weight: bold;
border: solid 5px #ffcc63;
border-radius: 50px;
transition: .4s;
}

.feas-submit-button:before {
font-size: 1.0em;
color: #fff;
content: "\f08e";
font-family: FontAwesome;
padding-right: 3px;
transition: .4s;
}

.feas-submit-button:hover{
background: linear-gradient(180deg, #e64949 0%, #e64949 40%, #d2011b 40%, #d2011b 100%);
color: #f5f6f9 !important;
font-weight: bold;
border: solid 5px #ffcc63;
cursor: pointer;
}

.feas-submit-button input[type="submit"] {
background-color: transparent; /* 背景色を透明にして親divのデザインを活かす */
border: none;
color:#fff;
cursor: pointer

/* 背景画像アニメ */
.thumbnail {
cursor: pointer; /* ポインターを表示 */
}
}

/* 「」 */
/*.bgb {
padding: 80px 20px;
background-color: rgba(250,244,195,1);
background-image: url(/Image/bg-beige-top.png), url(/Image/bg-beige-bottom.png) !important;
background-repeat: no-repeat, no-repeat;
background-position: left top, right bottom;
z-index: 1 !important;
}*/

/* 「」 */
.bga {
padding: 50px 0 50px;
margin: 20px;
background-color: rgba(0, 0, 0, 0.0);
position: relative; /* 子要素の位置指定を可能にする */
z-index: 1 !important;
}

.bga::before {
content: "\f10d"; /* アイコンフォントのUnicode値を設定（例: FontAwesome） */
font-family: FontAwesome; /* 使用するフォントファミリー */
color: rgba(0,0,0, 0.3); /* アイコンの色と透明度を調整 */
font-size: 200%; /* アイコンのサイズ */
position: absolute;
top: 0px;
bottom: 10px;
left: -10px;
}

.bga::after {
content: "\f10e" !important; /* 別のアイコンフォントのUnicode値を設定 */
font-family: FontAwesome; /* 使用するフォントファミリー */
color: rgba(0,0,0, 0.3); /* アイコンの色と透明度を調整 */
font-size: 200%; /* アイコンのサイズ */
position: absolute;
bottom: 0px;
right: -10px;
}
/* ランキング */
.wpp-thumbnail-container{
margin:20px 20px 0px;
}

.wpp-item-data{
margin:0 5px;
}

@media screen and (min-width: 768px) {
/* PC表示でカテゴリ名以外のテキストを90%にする */
.wpp-list.wpp-cardview .wpp-item-data {
font-size: 90%;
}
.wpp-list.wpp-cardview .wpp-excerpt {
font-size: 90%;
}
}
.wpp-list.wpp-cardview .taxonomies {
font-weight: bold; /* カテゴリー名を太字にする */
}

/* 投稿ページtable */
/*.content table {
margin: 20px 0px !important;
width:100% !important; 
border-collapse: collapse !important; 
border: 5px solid #000 !important; 
box-shadow: 0px 2px 2px #ddd !important;
line-height: 180% !important;
background: #fff !important;
}

.content table tr {
margin: 20px 0px !important;
background: #fff !important;
color: #222 !important;
font-weight: 300 !important;
}

.content table th {
    background: #fff !important;
    color: #222 !important;
    font-weight: 500 !important;
    border: 1px solid #ddd;
	padding: 10px !important;
}


.content table td {
background: #fff !important;
color: #222 !important;
font-weight: 500 !important;
    border: 1px solid #ddd;
	padding: 10px !important;
}*/

/* 投稿ページtable */
.article-table {
width: 100%;
border-collapse: collapse;
overflow-x: auto;
display: block;
	margin-bottom:30px;
}
.article-table caption {
text-align: left;
font-weight: bold;
margin-bottom: 8px;
}
.article-table th,
.article-table td {
border: 1px solid #ddd;
padding: 8px;
white-space: nowrap; /* これで折り返しを防ぎます */
}
.article-table th {
background-color: #f4f4f4;
text-align: left;
}
.article-table tr:nth-child(even) {
background-color: #f9f9f9;
}
.article-table tr:hover {
background-color: #f1f1f1;
}
.article-table-container {
overflow-x: auto; /* スライダーが表示されるようにします */
width: 100%;
}

.wpulike {
margin: -73 0 0 0 !important;
}

/* ゲートページレイアウト */
button.age-gate-submit-no, button.age-gate-submit-yes, button.age-gate__submit--no, button.age-gate__submit--yes{
font-size :20px !important;
margin-top: 20px;
padding: 5px 10px !important;
}
.age-gate-fields, .age-gate__fields{
line-height: 250% !important;
}

.hogan {
/* 方眼紙模様に必須のスタイル */
background-image: linear-gradient(0deg, transparent calc(100% - 1px), #f1f1f1 calc(100% - 1px)),
linear-gradient(90deg, transparent calc(100% - 1px), #f1f1f1 calc(100% - 1px));
background-size: 8px 8px;
background-repeat: repeat;
background-position: center center;
/* 以下任意のスタイル */
padding: 10px;
}
/* イエローアンダーライン太字 */
.yellow {
background: linear-gradient(transparent 0%, #ffd85f 0%);
display: inline;
font-size: 150%;
margin: 10px 0;
padding: 0px 5px;
line-height: 180%;
font-weight: bold;
}
/* ネイビーアンダーライン太字 */
.pink {
background: linear-gradient(transparent 0%, #fe647d 0%);
display: inline;
font-size: 150%;
color:#fff;
margin: 0 0px;
padding: 0 10px;
line-height: 180%;
font-weight: bold;
}

/*目次に戻るボタン*/
.hi-mkj {
display: inline-block;
position: fixed;
bottom: 80px;
left: 13px;
height: 60px;
width: 60px;
line-height:60px;
text-align: center;
opacity: 0.8;
border-radius: 50%;
z-index: 5;
text-decoration: none!important;
background: #fec400!important;
border: 1px solid #000;
color: #000!important;
}
.hi-mkj:after {
content: "目次へ";
position: absolute;
top: 15px;
left: 17px;
font-size: 8px;
}
.hi-mkj:before {
font-family: fontawesome;
content: "\f0ca";
position: absolute;
top: -5px;
left: 17px;
font-size: 26px;
}

.random-featured-image{
text-align: center;
}
.wp-block-image{
text-align: center;
}

/* ブログカード */
.blog-card {
position: relative;
border: 5px solid #060606;
background-color: #fff;
word-wrap: break-word;
box-sizing: border-box;
max-width: 100%;
margin: 1em 0;
border-radius: 2px;
box-shadow: 0px 0px 5px #ccc !important;
}

.blog-card:hover {
cursor: pointer;
border: 5px solid #000;
}

.blog-card a {
text-decoration: none;
display: block;
}

.blog-card a:hover {
color: #333;
text-decoration: none;
}

.blog-card-thumbnail {
width: 200px;
display: table-cell;
vertical-align: middle;
}

.blog-card-thumbnail img {
padding: 0;
max-width: 100%;
border-radius: 0px 0px 0px 2px;
}

.blog-card-content {
display: table-cell;
vertical-align: middle;
padding: 0.5em;
border-left: #e5e5e5 solid 0px;
}

.blog-card-title {
text-align: left;
font-size: 14px;
font-weight: none;
line-height: 1.4;
margin: 0 10px;
color: #333;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
overflow: hidden;
text-overflow: ellipsis;
}

.blog-card-excerpt {
display: none;/*消します*/
}

.blog-card .clear {
clear: both;
}

/*ブログカードでラベルを付ける*/
.blog-card-label{
display: inline-block;
position: absolute;
background-color: rgba(6,6,6,0.9);
top: 0px;
left: 0px;
width: 90px;
height: 25px;
color: #fff;
font-size: 12px;
text-align: center;
text-decoration: none;
line-height: 170%;
transform-origin: 50% 50%;
}
	
@media screen and (max-width: 500px) {
.blog-card-title {
font-size: 12px;
}
.blog-card-thumbnail {
width: 160px;
}
}

@media only screen and (max-width: 780px) {
p {
font-size: 120%;
}
}

/*** 背景スライダー ***/
.background-slider {
position: relative;
overflow: hidden; /* はみ出し防止 */
}
/* 背景画像のコンテナ */
.background-images {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: -1; /* 背景に配置 */
}
/* 共通スタイル */
.background-image {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-size: cover;
opacity: 1.0; /* 非表示 */
transition: opacity 1s ease-in-out; /* フェードイン・アウト */
}

/* 表示中の背景画像 */
.background-image.active {
/*opacity: 0.0; /* 半透明 */
/*filter: grayscale(100%) brightness(0);/* フィルター効果 */
}

/* 各背景画像の指定 */
.bg1 {
background-image: url('/Image/26127529.webp');
background-position: 50% 50%;
}
.bg2 {
background-image: url('/Image/26127529.webp');
background-position: 50% 50%;
}
.bg3 {
background-image: url('/Image/26127529.webp');
background-position: 50% 50%;
}

/* ランダム画像を白黒にする */
/*.random-image {
max-width: 100%; /* 画像が親要素を超えないように */
/*display: block;
margin: 0 auto; /* 中央揃え */
/*filter: grayscale(100%); /* 画像を白黒にする */
/*}

/* ステップバーの全体設定 */
.step-bar {
    display: flex;
    justify-content: space-between;
    background-color: #ddd;
    border-radius: 50px;
    padding: 10px;
	margin: 20px 0;
    width: 100%;
    max-width: 780px;
    margin: auto;
	overflow: hidden; /* はみ出しを防ぐ */
}

/* 各ステップの設定 */
.step {
    flex: 1;
    text-align: center;
    font-size: 16px;
    color: #888;
    padding: 10px 20px; /* ステップ内のスペースを増やす */
    position: relative;
    background-color: #e0e0e0;
    border-radius: 20px;
    transition: background-color 0.3s, color 0.3s;
    /* ステップ間に区切り線 */
    margin-right: 10px; /* ステップ間を広げる */
}

/* 最後のステップは区切り線を削除 */
.step:last-child {
    margin-right: 0;
}

/* 現在アクティブなステップ */
.step-active {
    background-color: #000;
    color: white;
}

/* 横棒のカスタマイズ */
.step-active::after {
    content: '';
    position: absolute;
    top: 50%;
	left: ; /* ステップ内に収めるために左端に位置させる */
    right: -15px;
    transform: translateY(-50%);
    width: 50px; /* 横棒の長さを調整 */
    height: 4px; /* 横棒の太さを調整 */
    background-color: #000;
}

/* 現在アクティブなステップ */
.step-active_02 {
    background-color: #000;
    color: white;
}

/* 横棒のカスタマイズ */
.step-active_02::after {
    content: '';
    position: absolute;
    top: 50%;
	left: ; /* ステップ内に収めるために左端に位置させる */
    right: 0px;
    transform: translateY(-50%);
    width: 50px; /* 横棒の長さを調整 */
    height: 4px; /* 横棒の太さを調整 */
    background-color: #000;
}

/* 他のステップには横棒を表示しない */
.step:not(.step-active)::after {
content: none; /* 横棒を非表示 */
}

/* 斜めメニュー */
.nana{
clip-path: polygon(0 20%, 100% 0, 100% 80%, 0% 100%); 
}
.nanarepeat{
clip-path: polygon(0 0, 100% 20%, 100% 100%, 0 80%);
}

.tug_045 {
display: inline-block;
text-align: center;
font-size: 12px;
text-decoration: none !important;
margin: 2px;
padding: 10px 15px;
white-space: nowrap;
background: #fff;
color:#fff !important;
border: solid 2px #fff;
border-radius: 50px;
transition: .4s;
box-shadow: 0px 3px 3px #eee;
/*line-height: 1.5; 改行 */
}

.tug_045:hover{
background-color:#2e5a1f !important;
color: #fff !important;
border: solid 2px #fff;
}

/*プロフィール枠*/
#author_profile {
border: 1px solid #000;
background-color: rgba(255,255,255,0.9); !important;
max-width: 100%;
margin: 20px 10px;
overflow: hidden;
}
#author_profile p {
margin-bottom: 20px;
line-height: 1.8;
}
/*この記事を書いた人の見出し*/
#author_profile p.label {
font-size: 14px;
font-weight: bold;
color: #fff;
background: #000;
padding: 10px 15px;
}
/*名前*/
#author_profile p.author_name {
  font-size: 14px;
  font-weight: bold;
  display: inline-block;
  position: relative;
}
/*名前下の下線*/
#author_profile p.author_name::after {
  content: "";
  border-bottom: solid 3px #000;
  position: absolute;
  left: 0;
  right: 0;
  bottom: -6px;
}
/*左側画像ブロック*/
#author_profile .left {
  width: 14%;
  float: left;
  margin: 10px 0 15px 30px;
}
/*画像サイズ*/
#author_profile .left img {
  width: 100%;
}
/*右側テキストブロック*/
#author_profile .right {
  width: 74%;
  float: left;
  font-size: 12px;
  line-height: 1.6;
  padding: 5px 0 20px 30px;
}
/*テキスト下部SNSブロック*/
#author_profile .right ul.author_sns {
  margin: 0;
  border-top: 1px dotted #dddddd;
  margin-top: 15px;
  padding-top: 20px;
}
#author_profile .right ul.author_sns li {
  float: left;
  margin-right: 15px;
  list-style: none;
}
#author_profile .right ul.author_sns li:last-child {
  margin-right: 0;
}
/*SNSアイコンを使う場合は別途アイコンCSSの設定が必要*/
#author_profile .right ul.author_sns li i.icon-facebook {
  color: #fff;
  background-color: #194c80;
  margin-right: 8px;
  padding: 6px 8px 0;
  position: relative;
  bottom: -3px;
}
/*SP時の挙動（画面サイズが小さい時）*/
@media (max-width: 480px) {
#author_profile p.author_name {
text-align: center;
}
#author_profile .left {
width: 100%;
float: none;
margin-left: 0;
margin-bottom: 0;
text-align: center;
}
#author_profile .left img {
width: 33%;
}
#author_profile .right {
width: 100%;
float: none;
padding: 10px 20px 0;
}
#author_profile .right ul.author_sns li {
margin-bottom: 20px;
}
}


/* 急上昇ワードPC時、右200px空け */
/* モバイルおよびタブレット向けデフォルトスタイル */
.custom-padding {
padding: 20px 10px 134px 10px;
}

/* PC閲覧時のスタイル */
@media (min-width: 780px) {
.custom-padding {
padding: 20px 250px 134px 10px;
}
}

/* ヘッダー画像制御 */
.menu-item > a i.fa-folder {
position: absolute;
top: 20px; /* 上方向に完全にはみ出す */
right: 130px;
margin-right:10px;
transform: translateX(-50%);
font-size: 2.0rem; /* 必要ならサイズ調整 */
line-height: 1;
z-index: 2;
		color:#fff;
}

.menu-item > a i.fa-hashtag {
  position: absolute;
  top: 20px; /* 上方向に完全にはみ出す */
  left: -0.5px;
  transform: translateX(-50%);
  font-size: 2.0rem; /* 必要ならサイズ調整 */
  line-height: 1;
  z-index: 10;
	color:#fff;
}

.none_03.zenmen::after {
content: "";
position: absolute;
top: 0;
right: 0;
width: 60%; /* フィルターの幅（調整可能） */
height: 0%;
background: linear-gradient(to left, rgba(255,255,255,1.0), rgba(255,255,255,0.0));
pointer-events: none; /* クリック操作などに干渉しない */
z-index: 1;
}

/* デフォルトの画像サイズ */
.top-midashi {
margin: -100% -25px 0px 0px;
width: 200px;
}
/* モバイル閲覧時（最大幅767px）に画像サイズを150pxに変更 */
@media (max-width: 767px) {
.top-midashi {
margin: -100% -40px 20px 0px !important;
width: 150px;
}
}

/* クラス要素に背景色と背景画像を設定 */
.custom-class {
    background-color: ; /* 背景色 */
    background-image: url('/Image/black.webp'); /* 背景画像 */
    background-size: cover; /* 画像をコンテナに合わせて拡大縮小 */
    background-position: center; /* 画像の位置を中央に */
}


/* 画像6枚横並び */
        .image-container {
            position: relative;
            width: 100%;
            max-width: 480px;
            height: 253px;
            margin-top: 30px;
            margin-left: auto;
            margin-right: auto;
            display: flex;
            justify-content: center; /* 水平方向に中央揃え */
            align-items: center; /* 垂直方向に中央揃え */
        }

        .image-container img {
            position: absolute;
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .image-A {
            transform: rotate(3deg); /* 画像Aを斜めに回転 */
            box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.3); /* 画像Aに影を追加 */
        }

        .image-B {
            transform: rotate(-3deg); /* 画像Bを反対方向に斜めに回転 */
            box-shadow: -5px -5px 15px rgba(0, 0, 0, 0.3); /* 画像Bに影を追加 */
        }

        .image-C {
            transform: rotate(-3deg); /* 画像Aを斜めに回転 */
            box-shadow: -5px -5px 15px rgba(0, 0, 0, 0.3); /* 画像Aに影を追加 */
        }

        .image-D {
            transform: rotate(3deg); /* 画像Bを反対方向に斜めに回転 */
            box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.3); /* 画像Bに影を追加 */
        }




/* 親要素の設定 */
.recent-posts-wrapper {
    position: relative; /* 親要素にrelativeを設定 */
}

/* ボタンラッパー */
.more-button-wrapper {
text-align: center; /* ボタンを中央揃え */
position: relative; /* ボタンラッパーを相対的に配置 */
margin-top: 30px !important;
}

/* トップページ以外で「もっと見る」ボタンの前に100pxの空間を追加 */
body:not(.home) .more-button-wrapper {
margin-top: 50px; /* トップページ以外でのみボタンの上に空間を追加 */
bottom:-10px !important;
top:25px;
}


/* アイコンのスタイル */
.more-button i {
    margin-left: 8px; /* アイコンとテキストの間隔 */
}








.category-slider-section {
  margin-bottom: 2em;
}

.category-title {
  font-size: 1.5em;
  margin-bottom: 0.5em;
}

.category-swiper .swiper-slide {
  width: auto;        /* 各スライド幅をコンテンツに合わせる */
}

.category-swiper img {
  display: block;
  height: auto;
  max-width: 100%;
  border-radius: 4px;
}
/* 例：medium が 300×200px だったら・・・ */
.category-swiper .swiper-slide img {
  width: 150px !important;
  height: 100px !important;
  object-fit: cover;
}



/* スライダーを包むコンテナは position: relative が前提 */
.category-swiper {
  position: relative;
}

/* Swiper のデフォルト矢印 */
.category-swiper .swiper-button-prev,
.category-swiper .swiper-button-next {
  position: absolute;
  top: 50%;
  transform: translateY(10%);
  z-index: 100;            /* スライドリンクより必ず前面 */
  width: 44px;
  height: 44px;
  cursor: pointer;
  pointer-events: auto;     /* 矢印でのクリックを許可 */
}

/* スライド内のリンクは下層に */
.category-swiper .swiper-slide a {
  position: relative;
  z-index: 1;
}


/* デフォルト矢印（:after）を消す */
.swiper-button-prev::after,
.swiper-button-next::after {
  display: none;
}

/* アイコンをセンターに */
.swiper-button-prev,
.swiper-button-next {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5em;      /* アイコンサイズ調整 */
  color: #333;           /* アイコン色 */
}

.latest-posts-anchor {
  position: absolute;
  top: 80vh; /* ファーストビューの下部80% */
  left: 0;
  width: 100%;
  z-index: 5;
}

.tug_04 {
  width: 200px;
}

/*ヘッダー背景グリッド化*/
/* 背景画像のコンテナ */
.random-bg-container {
position: relative;
width: 100%;
height: auto; /* 高さを任意で調整 */
overflow: hidden;
background-color: rgba(245,245,245,0.9);
}

/* 背景グリッド */
.background-grid {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: grid;
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
grid-auto-rows: 150px;
gap: 2px; /* 画像間の隙間 */
z-index: -1;
opacity: 0.8;
}

/* 各画像 */
.bg-item {
width: 100%;
height: 100%;
background-size: cover;
background-position: center;
opacity: 0.7;
}

@media (max-width: 768px) {
.background-grid {
grid-template-columns: repeat(auto-fill, minmax(75px, 1fr)); /* 150px → 75px */
grid-auto-rows: 75px; /* 150px → 75px */
}
}


/* ヘッダーキャラクター（01_左上）画像位置決め */
/* デフォルト（スマホ/タブレット）は left:0 */
.float-pos {
left:50% !important;
top:50%;
width:200px;
position: absolute !important;
transform: translateX(-50%) !important;
}

/* PC表示時 (画面幅1025px以上) のみ中央寄せ */
@media screen and (min-width: 1025px) {
.float-pos {
top: 57% !important;
left: 50% !important;
width: 255px;
z-index:0;
position: absolute !important;
transform: translateX(-50%) !important;
}
}

/* 画面幅680px以下のときのみ left:25% */
@media screen and (max-width: 680px) {
.float-pos {
left: 50% !important;
top:51%; !important;
width:175px;
position: absolute !important;
transform: translateX(-50%) !important;
}
}
/* ヘッダーキャラクター（02_右下）画像位置決め */
/* デフォルト（スマホ/タブレット）は left:0 */
.float-pos_02 {
top:70%;
right:0%;
width:110px;
position:absolute;
}

/* PC表示時 (画面幅1025px以上) のみ left:30% */
@media screen and (min-width: 1025px) {
.float-pos_02 {
top:80%; !important;
right:10% !important;
width:120px;
z-index:99 !important;
}
}
/* 画面幅780px以下のときのみ left:25% */
@media screen and (max-width: 680px) {
.float-pos_02 {
top:70%; !important;
width:80px;
}
}

/* ヘッダーキャラクター（03_左上）画像位置決め */
/* デフォルト（スマホ/タブレット）は left:0 */
.float-pos_03 {
left:220px !important;
top:-34%;
width:450px;
position:absolute;
}

/* PC表示時 (画面幅1025px以上) のみ left:30% */
@media screen and (min-width: 1025px) {
.float-pos_03 {
top:-40%;
left:30% !important;
width:35vw;
}
}

/* PC表示時 (画面幅1500px以上) のみ left:30% */
@media screen and (min-width: 1500px) {
.float-pos_03 {
top:-50%;
left:30% !important;
width:35vw;
}
}

/* PC表示時 (画面幅2000px以上) のみ left:30% */
@media screen and (min-width: 2000px) {
.float-pos_03 {
top:-60%;
left:30% !important;
width:35vw;
}
}

/* 画面幅780px以下のときのみ中央寄せ */
@media screen and (max-width: 680px) {
.float-pos_03 {
position: absolute;       /* 必要なら relative 親の中で絶対配置 */
left: 10%;  /* 横中央に配置 */
top: -20%;
transform: translateX(-50%); /* 左右中央補正 */
max-width: 300px !important;
text-align: center; 
}
}

/*スクロールダウン*/
#wrapper {
display: table;
width:100%;
height:100%;
background: ;
}
#wrapper-inner {
display: table-cell;
vertical-align:middle;
width:100%;
height:100%;
}

#scroll-down {
display: block;
position: relative;
padding-top: 90px;
text-align:center;
padding-left:1.5px;
}
/*.arrow-down {
display: block;
margin: 0 auto;
width: 10px;
height: 0px;
}
.arrow-down:after {
content: '';
display: block;
padding: 0;
width: 8px;
height: 8px;
border-top: 2px solid #000;
border-right: 2px solid #000;
behavior: url(-ms-transform.htc);
-moz-transform: rotate(135deg);
-webkit-transform: rotate(135deg);
-o-transform: rotate(135deg);
-ms-transform: rotate(135deg);
transform: rotate(135deg);
}*/
#scroll-title {
display: block;
text-transform: uppercase;
color: #f1f1f1;
font-size:12px;
font-weight:bold;
letter-spacing:.1em;
}
#scroll-down::before {
-webkit-animation: elasticus 1.2s cubic-bezier(1, 0, 0, 1) infinite;
/* Safari 4+ */
-moz-animation: elasticus 1.2s cubic-bezier(1, 0, 0, 1) infinite;
/* Fx 5+ */
-o-animation: elasticus 1.2s cubic-bezier(1, 0, 0, 1) infinite;
/* Opera 12+ */
animation: elasticus 1.2s cubic-bezier(1, 0, 0, 1) infinite;
/* IE 10+, Fx 29+ */
position: absolute;
top: 5px;
left: 50%;
margin-left: -1px;
width: 1px;
height: 150px;
background: #f1f1f1;
content: ' ';
}
@-webkit-keyframes elasticus {
    0% {
        -webkit-transform-origin: 0% 0%;
        -ms-transform-origin: 0% 0%;
        -moz-transform-origin: 0% 0%;
        -o-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
        -webkit-transform: scale(1, 0);
        -ms-transform: scale(1, 0);
        -moz-transform: scale(1, 0);
        -o-transform: scale(1, 0);
        transform: scale(1, 0);
    }
    50% {
        -webkit-transform-origin: 0% 0%;
        -ms-transform-origin: 0% 0%;
        -moz-transform-origin: 0% 0%;
        -o-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
        -webkit-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1);
    }
    50.1% {
        -webkit-transform-origin: 0% 100%;
        -ms-transform-origin: 0% 100%;
        -moz-transform-origin: 0% 100%;
        -o-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
        -webkit-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1);
    }
    100% {
        -webkit-transform-origin: 0% 100%;
        -ms-transform-origin: 0% 100%;
        -moz-transform-origin: 0% 100%;
        -o-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
        -webkit-transform: scale(1, 0);
        -ms-transform: scale(1, 0);
        -moz-transform: scale(1, 0);
        -o-transform: scale(1, 0);
        transform: scale(1, 0);
    }
}
@-moz-keyframes elasticus {
    0% {
        -webkit-transform-origin: 0% 0%;
        -ms-transform-origin: 0% 0%;
        -moz-transform-origin: 0% 0%;
        -o-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
        -webkit-transform: scale(1, 0);
        -ms-transform: scale(1, 0);
        -moz-transform: scale(1, 0);
        -o-transform: scale(1, 0);
        transform: scale(1, 0);
    }
    50% {
        -webkit-transform-origin: 0% 0%;
        -ms-transform-origin: 0% 0%;
        -moz-transform-origin: 0% 0%;
        -o-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
        -webkit-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1);
    }
    50.1% {
        -webkit-transform-origin: 0% 100%;
        -ms-transform-origin: 0% 100%;
        -moz-transform-origin: 0% 100%;
        -o-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
        -webkit-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1);
    }
    100% {
        -webkit-transform-origin: 0% 100%;
        -ms-transform-origin: 0% 100%;
        -moz-transform-origin: 0% 100%;
        -o-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
        -webkit-transform: scale(1, 0);
        -ms-transform: scale(1, 0);
        -moz-transform: scale(1, 0);
        -o-transform: scale(1, 0);
        transform: scale(1, 0);
    }
}
@-o-keyframes elasticus {
    0% {
        -webkit-transform-origin: 0% 0%;
        -ms-transform-origin: 0% 0%;
        -moz-transform-origin: 0% 0%;
        -o-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
        -webkit-transform: scale(1, 0);
        -ms-transform: scale(1, 0);
        -moz-transform: scale(1, 0);
        -o-transform: scale(1, 0);
        transform: scale(1, 0);
    }
    50% {
        -webkit-transform-origin: 0% 0%;
        -ms-transform-origin: 0% 0%;
        -moz-transform-origin: 0% 0%;
        -o-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
        -webkit-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1);
    }
    50.1% {
        -webkit-transform-origin: 0% 100%;
        -ms-transform-origin: 0% 100%;
        -moz-transform-origin: 0% 100%;
        -o-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
        -webkit-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1);
    }
    100% {
        -webkit-transform-origin: 0% 100%;
        -ms-transform-origin: 0% 100%;
        -moz-transform-origin: 0% 100%;
        -o-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
        -webkit-transform: scale(1, 0);
        -ms-transform: scale(1, 0);
        -moz-transform: scale(1, 0);
        -o-transform: scale(1, 0);
        transform: scale(1, 0);
    }
}
@keyframes elasticus {
    0% {
        -webkit-transform-origin: 0% 0%;
        -ms-transform-origin: 0% 0%;
        -moz-transform-origin: 0% 0%;
        -o-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
        -webkit-transform: scale(1, 0);
        -ms-transform: scale(1, 0);
        -moz-transform: scale(1, 0);
        -o-transform: scale(1, 0);
        transform: scale(1, 0);
    }
    50% {
        -webkit-transform-origin: 0% 0%;
        -ms-transform-origin: 0% 0%;
        -moz-transform-origin: 0% 0%;
        -o-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
        -webkit-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1);
    }
    50.1% {
        -webkit-transform-origin: 0% 100%;
        -ms-transform-origin: 0% 100%;
        -moz-transform-origin: 0% 100%;
        -o-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
        -webkit-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1);
    }
    100% {
        -webkit-transform-origin: 0% 100%;
        -ms-transform-origin: 0% 100%;
        -moz-transform-origin: 0% 100%;
        -o-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
        -webkit-transform: scale(1, 0);
        -ms-transform: scale(1, 0);
        -moz-transform: scale(1, 0);
        -o-transform: scale(1, 0);
        transform: scale(1, 0);
    }
}

/*矢印下に下げる*/
@media screen and (min-width: 767px) {
#scroll-down {
top:100px !important;
}
}

/*スクロールダウン非表示*/
@media screen and (min-width: 1024px) {
#scroll-down {
top:150px !important;
display: none;
}
}
}


/*スライダー同サイズ*/
.wa_featured_img {
  position: relative;
  width: 100%;  height: 100vh !important;
  aspect-ratio: 16/20;  /* 全て同じ比率に固定 */
  overflow: hidden;

}

.wa_featured_img .wa_card_img {
  position: absolute;
  inset: 0;
  width: 350px;
  height: 300px !important;
  object-fit: cover;
  object-position: center;
  display: block;
}














/*スライダーを傾けるここから*/
/* スライダー外枠　傾き量を調整しやすいように変数を用意 */
.wa_chpcs_card { --tilt: -2.5deg; } /* 4〜8deg くらいが自然 */
.wa_chpcs_card .item-content{
transform: skewX(var(--tilt));
transform-origin: center;
will-change: transform;
}
/* 直下の中身を逆スキューで戻す（テキストや画像はまっすぐ） */
.wa_chpcs_card .item-content > *{
transform: skewX(calc(var(--tilt) * -1)) !important;
}



/* スライダー中枠　傾き角の共有（既に --tilt 定義済みなら不要） */

/* 画像枠も傾ける */
.wa_featured_img{
transform: skewX(var(--tilt));
transform-origin: center;
will-change: transform;
}
/* 中の画像は逆スキューで補正（中央トリミングのまま） */
.wa_featured_img .wa_card_img{
transform: skewX(calc(var(--tilt) * -1)) !important;
backface-visibility: hidden;   /* ボケ軽減 */
}

/* 逆スキューから .wa_featured_img を除外（子はまっすぐ戻さない） */
.wa_chpcs_card .item-content > *:not(.wa_featured_img){
transform: skewX(calc(var(--tilt) * -1)) !important;
}

/* 子の .wa_featured_img は “自分では変形しない”＝親の傾きだけ受ける */
.wa_chpcs_card .item-content > .wa_featured_img{
transform: none !important;/* ← これで二重スキュー解消 */
 transform-origin: center;
}

/* 画像自体も念のためフラットに */
.wa_featured_img .wa_card_img{
transform: none !important !important;
}

/* 3) 画像はフラットのままフィット（念押しで transform を無効化） */

.wa_featured_img .wa_card_img{
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  transform: none !important;
}







/* 角度は一元管理（必要な値に）*/
.wa_chpcs_card { --tilt: -2deg; } /* 例：左に2°。6°なら -6deg */

/* 枠だけ傾ける */
.wa_chpcs_card .item-content{
  transform: skewX(var(--tilt));
  transform-origin: center;
  overflow: hidden;
}

/* 親の直下の子要素は“逆スキュー”で水平に戻す（＝中身は歪まない） */
.wa_chpcs_card .item-content > *{
  transform: skewX(calc(var(--tilt) * -1)) !important;
  transform-origin: center;
}

/* 画像は常にフラット（傾き=0）に固定 */
.wa_featured_img .wa_card_img{
  transform: none !important;
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover; object-position: center;
}

/* もし過去のCSSで .wa_featured_img 自体に transform を当てていた場合に備え、逆スキューを強制 */
.wa_chpcs_card .item-content > .wa_featured_img{
  transform: skewX(calc(var(--tilt) * -1)) !important;
  transform-origin: center;
}

/* ぼけ対策：静止要素では will-change / backface を使わない */
.wa_chpcs_card .item-content,
.wa_featured_img,
.wa_featured_img .wa_card_img{
  will-change: auto !important;
  backface-visibility: visible !important;
}










/* ===== 角度パラメータ（枠のskewに合わせて手動調整） =====
   外枠 .item-content の --tilt が -2deg のとき、
   アスペクト比 16:20 なら skew% ≒ tan(2°) * (20/16) ≒ 4.4%
   ※ 見た目で 4%〜5% を目安に微調整 */
.wa_chpcs_card{
  --tilt: -2deg;      /* 外枠のskew（既存に合わせて） */
  --skewP: 4.5%;      /* 画像の外形（平行四辺形）の横オフセット％ */
  --img-border-w: 2px;                          /* 画像外形の“線”太さ */
  --img-border-color: rgba(41,59,95,0.9);       /* 画像外形の“線”色 */
}

/* 1) 画像を内側で切り抜いて“平行四辺形の外形”にする（ピクセルは歪めない） */
.wa_featured_img{
  position: relative;
  width: 100%;
  aspect-ratio: 16/20;
  overflow: clip; /* or hidden */
  /* ← ここがポイント：ピクセルは変形せず外形だけ斜め */
  clip-path: polygon(var(--skewP) 0, 100% 0, calc(100% - var(--skewP)) 100%, 0 100%);
  /* 内側ボーダー（clip-pathに沿ったシャープな線） */
  box-shadow: inset 0 0 0 var(--img-border-w) var(--img-border-color);
  /* 念のため：過去の transform を無効化 */
  transform: none !important;
}

/* 2) 画像は常に水平（=傾き0）。フィットだけ行う */
.wa_featured_img .wa_card_img{
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  transform: none !important;     /* ← ここが“傾き0”の確定 */
  image-rendering: auto;          /* 既定でOK、滲み防止 */
}

/* 3) 枠はこれまで通り skew。中身は逆skewで水平に（テキストのボケ防止） */
.wa_chpcs_card .item-content{
  transform: skewX(var(--tilt));
  transform-origin: center;
  overflow: hidden;
}
.wa_chpcs_card .item-content > *{
  transform: skewX(calc(var(--tilt) * -1)) !important;
  transform-origin: center;
}

/* 4) もし以前のCSSに .wa_featured_img{ transform: skewX(...) } が残っていたらねじ伏せる */
.wa_featured_img[style*="transform"]{ transform: none !important; }
/*スライダーを傾けるここまで*/








/*　丸形カテゴリー自動設置プログラムここから　*/
.circular-image_03 {
  display: inline-block;       /* 枠線を正しく反映させる */
  width: 120px;                /* 必要に応じて調整 */
  height: 120px;               /* 必要に応じて調整 */
  border-radius: 50%;          /* 丸くする */
  object-fit: cover;           /* アイキャッチを枠にフィット */
  border: 5px solid #ddd !important;  /* ★ 枠線を強制的に表示 */
  box-sizing: border-box;      /* 枠線込みでサイズを維持 */
}

/* 丸画像に1px黒枠（見えない場合の保険含む） */
.circular-image_03{
  display:inline-block;
  width:120px; height:120px;
  border-radius:50%;
  object-fit:cover;
  border:5px solid #ddd !important;
  box-sizing:border-box;
}

/* グリッド基本（例） */
.navi-container .category-container{
  position:relative;
  display: flex;
  flex-wrap: wrap;
  gap: 18px 24px;         /* アイテム間の余白 */
  justify-content: flex-start !important; /* ★ 左寄せ */
  align-items: flex-start;     /* 上揃え */
}

/* 基本：左寄せ・折り返し・ギャップ */
.navi-container .category-container{
  --cat-gap-x: 10px;
  --cat-gap-y: 18px;
  display: flex;
  flex-wrap: wrap;
  gap: var(--cat-gap-y) var(--cat-gap-x);
  justify-content: flex-start; /* ★左寄せ */
  align-items: flex-start;
}

/* 各アイテムの共通（幅はブレークポイントで上書き） */
.navi-container .category-container .category{
  /* 初期値（モバイルを基準に2列） */
  flex: 0 0 calc((100% - var(--cat-gap-x)) / 2);
}

/* 丸画像サイズ（モバイル） */
.circular-image_03{
  width: 96px;
  height: 96px;
  border-radius: 50%;
  object-fit: cover;
  border: 5px solid #ddd !important;
  box-sizing: border-box;
}

/* タブレット小（~768px）：3列 */
@media (min-width: 481px){
  .navi-container .category-container .category{
    flex: 0 0 calc((100% - var(--cat-gap-x) * 2) / 3);
  }
  .circular-image{ width: 110px; height: 110px; }
}

/* タブレット大（~1024px）：4列 */
@media (min-width: 769px){
  .navi-container .category-container .category{
    flex: 0 0 calc((100% - var(--cat-gap-x) * 3) / 4);
  }
  .circular-image{ width: 118px; height: 118px; }
}

/* デスクトップ（~1280px）：5列 */
@media (min-width: 1025px){
  .navi-container .category-container .category{
    flex: 0 0 calc((100% - var(--cat-gap-x) * 4) / 5);
  }
  .circular-image{ width: 120px; height: 120px; }
}

/* ワイド（1280px~）：6列 */
@media (min-width: 1281px){
  .navi-container .category-container .category{
    flex: 0 0 calc((100% - var(--cat-gap-x) * 5) / 6);
  }
}




/* 初期は initial_visible を超えた要素を非表示 */
.cat-collapsible .cat-hidden{ display:none; }

/* 下端フェード */
.cat-collapsible::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:60px;
  pointer-events:none;
  background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, #fff 70%);
}

/* 展開状態 */
.cat-collapsible.is-expanded::after{ display:none; }
.cat-collapsible.is-expanded .cat-hidden{ display:block; }

/* ボタン */
.cat-more-wrap{ margin-top:12px; text-align:center; }
.cat-more-btn{
	appearance:none;
	display: inline-block;
    text-align: center;
    font-size: 12px;
    text-decoration: none !important;
    margin: 2px;
    padding: 7px 15px;
    white-space: nowrap;
    background: #fff;
    color: #333;
    border: solid 2px #333;
    border-radius: 50px;
	cursor:pointer;
    transition: .4s;
	
	
	
	
  /*appearance:none; border:1px solid #333; background:#fff; color:#111;
  font-weight:700; padding:10px 20px; border-radius:999px; cursor:pointer;
  transition: box-shadow .2s ease, transform .08s ease;*/
}
.cat-more-btn:hover{ box-shadow:0 4px 12px rgba(0,0,0,0.12); transform:translateY(-1px); }
.cat-more-btn[aria-expanded="true"]{ background:#111; color:#fff; border-color:#111; }




/* ボタンスタイル */
.tug_06 {
    text-align: center;
    font-size: 90%;
    text-decoration: none !important;
    padding: 7px 15px;
    white-space: nowrap;
    background-color: #fff !important;
    color: #333 !important;
    border: solid 2px #333;
    border-radius: 50px;
    transition: .4s;
    display: inline-block;
    margin: 0;                  /* 上下余白は親に任せる */
}
.tug_06:hover {
    background-color: #333 !important;
    color: #fff !important;
    border: solid 2px #333 !important;
}




/* カテゴリーメニュー説明文 */
.category_description {
color: #777;
font-size: 90%;
line-height: 160%;
margin: 20px 0px;
}

/* メニューデザイン */
/* 親コンテナ */
.category-container {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
gap: 0px; /* アイテム間の隙間 */
box-sizing: border-box; /* width、padding、borderを含めた計算にする */
}
/* 各カテゴリー */
.category {
width: calc(20.00% - 20px); /* 6個横並び、gap分を差し引いて調整 */
text-align: center;
cursor: pointer;
margin-bottom: 20px;
box-sizing: border-box; /* ボーダーも含めてサイズ計算 */
}
.category img {
width: 100px;
height: 100px;
object-fit: cover;
object-position: right center;
margin: 10px;
border-radius: 50%;
border: 5px solid #fff;
}
/* カテゴリーID=1だけ coverに戻す */
.category.cat-1 img {
object-fit: cover;
object-position: center top; /* ★ 画像を右寄せ */
margin: 10px; /* 中央に戻す or 調整 */
}
.category a {
display: block; /* ← インライン→ブロック要素化 */
font-size: 90%;
font-weight :bold;
color: inherit;
text-align: center !important;
}
.category a:hover {
color: #000;
}

/* レスポンシブ対応 */


@media (max-width: 768px) {
.category {
width: calc(20.00% - 0px); /* 2個横並び */
}
}
@media (max-width: 480px) {
.category {
width: calc(50% - 0px); /* 2個横並び */
}
}
/*　丸形カテゴリー自動設置プログラムここまで　*/









/* トップタグ別スライダー表示ここから */
.category-slider-section {
margin-bottom: 2em;
}

.category-title {
font-size: 1.5em;
margin-bottom: 0.5em;
}

.category-swiper .swiper-slide {
width: auto;        /* 各スライド幅をコンテンツに合わせる */
}

.category-swiper img {
display: block;
height: auto;
max-width: 100%;
border-radius: 4px;
}
/* 例：medium が 300×200px だったら・・・ */
.category-swiper .swiper-slide img {
width: 150px !important;
height: 100px !important;
object-fit: cover;
}

/* スライダーを包むコンテナは position: relative が前提 */
.category-swiper {
position: relative;
}

/* Swiper のデフォルト矢印 */
.category-swiper .swiper-button-prev,
.category-swiper .swiper-button-next {
position: absolute;
top: 25% !important;
transform: translateY(10%);
padding-top:0.5px;
z-index: 100;            /* スライドリンクより必ず前面 */
width: 60px;
height: 60px;
cursor: pointer;
pointer-events: auto;     /* 矢印でのクリックを許可 */
}

/* スライド内のリンクは下層に */
.category-swiper .swiper-slide a {
position: relative;
z-index: 1;
}

/* デフォルト矢印（:after）を消す */
.swiper-button-prev::after,
.swiper-button-next::after {
display: none;
}

/* アイコンをセンターに */
.swiper-button-prev,
.swiper-button-next {
display: flex;
align-items: center;
justify-content: center;
font-size: 1.6em;      /* アイコンサイズ調整 */
color: #fff;/* アイコン色 */
width: 60px !important;
height: 60px !important;
border-radius: 50%;
background-color: ;
/*box-shadow: 0px 0px 0px #000;*/
}

.slide-title {
margin: 5px;
font-size: 12px;
line-height: 1.4;
color: #222; /* 背景が暗い場合は白文字 */
text-align: left;
max-width: 150px;       /* サムネイルの幅に合わせる */
word-break: break-word; /* 長い単語でも折り返し */
white-space: normal;    /* 自然に改行を許可 */
box-sizing: border-box; /* パディング含めて幅計算 */
}

.tag-cloud{
margin: 5px 0;
}
/* トップタグ別スライダー表示ここまで */

/* トップタグ別スライダー表示ここから */
.category-slider-section {
margin-bottom: 2em;
}

.category-title {
font-size: 1.5em;
margin-bottom: 0.5em;
}

.category-swiper .swiper-slide {
width: auto;        /* 各スライド幅をコンテンツに合わせる */
}

.category-swiper img {
display: block;
height: auto;
max-width: 100%;
border-radius: 4px;
}
/* 例：medium が 300×200px だったら・・・ */
.category-swiper .swiper-slide img {
width: 150px !important;
height: 100px !important;
object-fit: cover;
}

/* スライダーを包むコンテナは position: relative が前提 */
.category-swiper {
position: relative;
}

/* Swiper のデフォルト矢印 */
.category-swiper .swiper-button-prev,
.category-swiper .swiper-button-next {
position: absolute;
top: 23% !important;
transform: translateY(10%);
z-index: 100;            /* スライドリンクより必ず前面 */
width: 30px;
height: 30px;
cursor: pointer;
pointer-events: auto;     /* 矢印でのクリックを許可 */
}

/* スライド内のリンクは下層に */
.category-swiper .swiper-slide a {
position: relative;
z-index: 1;
}

/* デフォルト矢印（:after）を消す */
.swiper-button-prev::after,
.swiper-button-next::after {
display: none;
}

/* アイコンをセンターに */
.swiper-button-prev,
.swiper-button-next {
display: flex;
align-items: center;
justify-content: center;
font-size: 1.5em;/* アイコンサイズ調整 */
color: #fff;/* アイコン色 */
}

.slide-title {
margin: 5px;
font-size: 12px;
line-height: 1.4;
color: #222; /* 背景が暗い場合は白文字 */
text-align: left;
max-width: 150px;       /* サムネイルの幅に合わせる */
word-break: break-word; /* 長い単語でも折り返し */
white-space: normal;    /* 自然に改行を許可 */
box-sizing: border-box; /* パディング含めて幅計算 */
}

.tag-cloud{
margin: 5px 0;
}
/* トップタグ別スライダー表示ここまで */







/* =========================
   比較テーブル（スリム統合版）
   ========================= */
.table-sp.lage.scroll{
  --acc:#0f5bff; --bg:#fff; --bd:#e8e8ee;
  width:100%;
  display:block;                 /* 横だけスクロール */
  overflow-x:auto;
  overflow-y:hidden;             /* 縦スライダー無し */
  -webkit-overflow-scrolling:touch;
  background:var(--bg);
  border-radius:2px;
  box-shadow:0 3px 3px rgba(0,0,0,.10);
  border-spacing:0;
}
/* 中身は“テーブルのまま”描画 */
.table-sp.lage.scroll > tbody{
  display:table; width:100%;
  border-collapse:separate; border-spacing:0;
}

.table-sp.lage.scroll td{
  padding:14px 12px;
  border-bottom:1px solid var(--bd);
  vertical-align:middle;
  text-align:center;             /* 基本は中央 */
  word-break:break-word; overflow-wrap:anywhere;
}

/* 左ラベル列（固定＆左寄せ） */
.table-sp.lage.scroll tr > td:first-child{
  width:16% !important;
  background:#f6f8fb !important;
  font-weight:700;
  position:sticky; left:0; z-index:3;
  border-right:1px solid var(--bd);
  white-space:nowrap;
  text-align:left !important;
}

/* 2〜5列目は等幅 */
.table-sp.lage.scroll tr > td:nth-child(n+2){
  width:calc((100% - 16%) / 4) !important;
}

/* 1行目（ロゴ行）を少しリッチに */
.table-sp.lage.scroll tbody tr:first-child td{
  padding:20px 14px;
  background:linear-gradient(180deg,#fafcff,transparent);
}

/* ロゴリンクのカード化＆ホバー */
.table-sp.lage.scroll .bottom a{
  display:inline-block; background:#fff; border-radius:12px;
  padding:10px 14px;

  transition:transform .25s ease, box-shadow .25s ease, filter .25s ease;
}
.table-sp.lage.scroll .bottom a:hover{
  transform:translateY(-4px) scale(1.03);

  filter:saturate(1.1) contrast(1.05);
}

/* ロゴ画像は枠内に収める */
.table-sp.lage.scroll .bottom img{
  display:block; margin:auto;
  max-width:160px; max-height:80px;
  object-fit:contain;
}

/* アイコンの視認性 */
.table-sp.lage.scroll td .fa-bullseye{ color:#00b67a; filter:drop-shadow(0 2px 2px rgba(0,0,0,.15)); }
.table-sp.lage.scroll td .fa-circle  { color:#cbd3e1; }

/* 交互色（ラベル列除外） */
.table-sp.lage.scroll tbody tr:nth-child(odd) td:not([bgcolor]){ background:#fbfcfe; }

/* 「仮想通貨取引」行が左に寄りがちな対策（現仕様で7行目） */
.table-sp.lage.scroll tbody tr:nth-child(7) td:not([bgcolor]){
  text-align:center !important;
}

/* 備考（最終行）だけ左寄せ */
.table-sp.lage.scroll tbody tr:last-child td:not([bgcolor]){
  text-align:left !important;
}
.table-sp.lage.scroll tbody tr:last-child td *{
  text-align:inherit;
}

/* スマホ微調整 */
@media (max-width:768px){
  .table-sp.lage.scroll .bottom a{ padding:8px 10px; }
  .table-sp.lage.scroll .bottom img{ max-width:140px; max-height:64px; }
}










/* ラッパーに“横だけスクロール”を担当させる。縦は切らない */
.cmp-table-wrap{
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  background: ;
margin-top:-12px;
}

/* テーブル本体は“本来のtable”のまま＝高さは内容に追従、縦は切れない */
.cmp-table-wrap .table-sp.lage.scroll{
  display: table !important;
  width: 100% !important;
  border-collapse: separate;
  border-spacing: 0;
  overflow: visible !important;   /* ← hidden を無効化 */
}

/* 左ラベル列のstickyを維持 */
.cmp-table-wrap .table-sp.lage.scroll td[bgcolor]{
  position: sticky; left: 0; z-index: 3;
}





/* ===== Hero Copy (Southern Link風) ===== */
.sl-hero-copy{
position:absolute;              /* ヒーローの上に重ねる */
inset:0;
display:grid;
place-items:center;             /* 中央揃え */
text-align:center;
pointer-events:none;            /* 背景のCTA等のクリックを邪魔しない */
padding:clamp(20px,4vw,48px);
}

/* 日本語：2フレーズを少し離して横並び（小さめ画面では自動で折り返し） */
.sl-jp{
display:flex;
flex-wrap:wrap;
justify-content:center;
align-items:center;
gap:min(0vw,64px);              /* ← フレーズ間の“間” */
line-height:1.15;
margin:-15vh;
}
/* 780px以下は余白を +15vh に */
@media (max-width: 780px){
.sl-jp{
margin: 0vh;
gap:min(3vw,64px);              /* ← フレーズ間の“間” */
}
}

.sl-word{
font-size:clamp(32px,6vw,52px); /* 画面に応じて可変 */
font-weight:700;
letter-spacing:.1em;
color:#eee; /* 明るい背景なら #111 に変更 */
text-shadow:0 2px 12px rgba(0,0,0,.35);
opacity:0; transform:translateY(12px);
animation:sl-fade-up 3.6s ease forwards;
animation-delay: 0s;            /* ← 3秒待つ */
}
.sl-word.zenmen_02{
white-space: nowrap;/* 行内で折り返さない */
word-break: keep-all;/* CJKでも極力改行させない */
overflow-wrap: normal;/* 強制折返し無効 */
hyphens: none; -webkit-hyphens: none;
flex: 0 0 auto;/* flex収縮での途中改行も防ぐ */
display: inline-block;/* 念のため */
}

/* 後ろのフレーズを少し遅らせて余韻 */
.sl-word:last-child{ animation-delay:1.6s; }

/* 英語のサブコピー（任意） */
.sl-en{
font-size:clamp(13px,1.6vw,16px);
letter-spacing:.2em;
color:#fff;
text-shadow:0 2px 10px rgba(0,0,0,.5);
opacity:.9;
margin:0 0 .8rem;
font-weight: 900 !important;
}

/* 見えない“間”だけを担うスペーサー（幅は変数で調整も可） */
.sl-gap{
width:clamp(12px,3vw,120px); height:1px; 
}
/* ふわっと出す */
@keyframes sl-fade-up{
to{ opacity:1; transform:none; }
}
/* もしヒーローが position:static なら、親を relative にしてね */
.hero, .site-hero, .wp-block-cover{ position:relative; }
/* ===== Hero Copy (Southern Link風) ここまで===== */





/* サイドバー内で“上に来たら引っかかるここから” */
@media (min-width: 780px) {
.sticky-box{
position: sticky;
top: 80px;/* ここで止めるオフセット */
}
}
/* サイドバー内で“上に来たら引っかかるここまで” */

/* ===== ウィジェットに改行反映ここから ===== */
#custom_html-4 .textwidget.custom-html-widget,
#custom_html-3 .textwidget.custom-html-widget{
white-space: pre-line;
}
/* ===== ウィジェットに改行反映ここまで ===== */

/* ===== スライダー初期は非表示（レイアウトは保つ）ここから ===== */
#slider-9342-wrap{ visibility:hidden; opacity:0; transition:opacity .25s ease; }
/* 準備できたら表示 */
#slider-9342-wrap.is-ready{ visibility:visible; opacity:1; }

/* 任意：レイアウトジャンプを抑える仮高さ（実高さに合わせて調整） */
#slider-9342-wrap{ min-height: 550px; } /* 不要なら削除OK */
/* ===== スライダー初期は非表示（レイアウトは保つ）ここまで ===== */
