@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/*トップページ黄色のエリアスマホ用ズレ防止-start---------*/

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

  html, body {
    padding: 0;
    margin: 0;
    overflow-x: hidden !important; /* 横スクロール強制防止 */
  }

  .new-entry-card {
    width: 100% !important;
    padding: 0 !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
    /* background-color: #ff0000;*/
  }

  .new-entry-card-thumb,
  .new-entry-card-thumb img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    display: block;
    box-sizing: border-box !important;
  }

  .new-entry-card-content {
    padding: 10px !important;
    box-sizing: border-box !important;
  }

  .swiper-wrapper {
    transform: none !important; /* 変なズレ防止 */
    width: 100% !important;
  }

  .swiper-slide {
    width: 100% !important;
  }
}

@media screen and (max-width: 768px) {
  .new-entry-card-content {
    padding: 0 40px !important;
    box-sizing: border-box !important;
    word-break: break-word;
    overflow-wrap: break-word;
  }

  .new-entry-card-content * {
    box-sizing: border-box !important;
    max-width: 100% !important;
    width: 100% !important;
    word-break: break-word;
  }

  .new-entry-card-content p,
  .new-entry-card-content h1,
  .new-entry-card-content h2,
  .new-entry-card-content h3 {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/*トップページ黄色のエリアスマホ用ズレ防止-end---------*/










/*◆ヘッダーのｃｓｓ◆start*/

.yoshigen-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start; /* ← ここを変更 */
  flex-wrap: wrap;
  gap: 30px;
  padding: 0px 30px;
  max-width: 1100px;
  margin: 0 auto;
  font-family: sans-serif;
  background-color: #fff; /* 確認用 */
}



/* ロゴ（左） */
.logo-area {
  display: flex;
  align-items: center;
}

.logo-area img {
  height: 120px;
  display: block;
}

/* 中央エリア：上下分ける */
.center-area {
  display: flex;
  flex-direction: column;
  align-items: flex-end; /* 中央全体を右寄せ */
  flex: 1;
  gap: 10px;
}

/* NEW: お問い合わせ＋ボタンを一つにまとめて右寄せ */
.button-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
}

/* お問い合わせ（右揃え） */
.contact-area img {
  display: block;
  height: auto;
  width: auto;
}

/* 小ボタン群（右寄せ・下揃え） */
.button-area {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: flex-end;
  gap: 12px;
  margin-top: 10px;
}

.button-area img {
  height: 70px;
  transition: transform 0.2s ease;
}

.button-area img:hover {
  transform: scale(1.05);
}

/* OFFICIAL（右端） */
.official-area {
  display: flex;
  align-items: flex-end;
}

.official-area img {
  height: 110px;
  display: block;
}

/*◆ヘッダーのｃｓｓ◆end*/




/* ▼モバイル用全体のレイアウト調整 -------------------------------------------*/
.simple-mobile-header {
  display: none;
  background: white;
  border-bottom: 1px solid #ccc;
}

@media screen and (max-width: 1099px) {
  .simple-mobile-header {
    display: block;
  }
}

/* ▼ロゴとハンバーガーの配置 */
.mobile-header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px;
}

.mobile-logo img {
  height: 40px;
}

/* ▼ハンバーガーアイコン */
.hamburger {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  width: 30px;
  height: 24px;
  cursor: pointer;
}

.hamburger span {
  display: block;
  height: 3px;
  background: #333;
  border-radius: 2px;
}

/* ▼メニュー非表示デフォルト */
.mobile-menu {
  display: none;
  background-color: #fff;
  border-top: 1px solid #ccc;
}

.mobile-menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.mobile-menu li {
  border-bottom: 1px solid #eee;
}

.mobile-menu a {
  display: block;
  padding: 8px;
  text-decoration: none;
  color: #333;
}

.mobile-menu a {
  display: block;
  padding: 8px;
  text-decoration: none;
  color: #333;
}




/* ▼activeクラスがついたときに表示 */
.mobile-menu.active {
  display: block;
}


/*◆追加CSS引っ越し20251111　START------------------------*/

/* ページ送りナビの左右を反転 start---------*/
.pager-post-navi{
    display: flex!important;
    flex-direction: row-reverse!important;
}
.fa-chevron-left,.fa-chevron-right{visibility: hidden;}

/* 右側のボタン右端に移動 */
.pager-post-navi .prev-post .prev-post-thumb {order: 1; }
/* 右のボタン（古い記事）のテキストを右寄せにする */
.pager-post-navi .prev-post-title {
    text-align: right !important; /* テキストを右寄せに強制 */
    width: 100%; /* タイトル要素の幅を親要素いっぱいにする */
}


.pager-post-navi .next-post .next-post-thumb {order: 1; /* flexアイテムの順番を一番最初（左端）にする */
}

/* 左側のボタン（新しい記事、元の .next-post）の配置を左寄せにする */
.pager-post-navi .next-post {
    text-align: left !important; /* テキストを左寄せに */
    justify-content: flex-start !important; /* コンテンツを左端に詰める */
}


/* 左のボタン（新しい記事）内のタイトル要素を左寄せにする */
.pager-post-navi .next-post-title {
    text-align: left !important; /* テキストを左寄せに */
    width: 100%; /* タイトル要素の幅を親要素いっぱいにする（重要） */
}

/* 左のボタン（新しい記事、元の .next-post）のコンテンツ配置を調整 */
.pager-post-navi .next-post {
    /* これまでの設定に含まれる可能性があるため、再度確認 */
    justify-content: flex-start !important;
}
/* ページ送りナビの左右を反転 end---------*/





/*h2---------------*/
h2 {font-size:1.1em!important;
  color: #222222;/*文字色*/
  padding: 0.2em 0 0 0.5em!important;/*上下の余白*/
  border-top: dotted 2px #000000;/*上線*/
  border-bottom: dotted 2px #000000;/*下線*/
	background-color:#f8d700!important;
	margin-top:25px!important;
	margin-bottom:10px!important;
}






h3{
		border-left: none!important;
	border-right: none!important;
	border-top: dotted 2px #999999!important;/*上線*/
  border-bottom: dotted 2px #999999!important;/*下線*/
	background-color:#f8d700!important;
	margin-top:35px!important;
	margin-bottom:10px!important;
	background-color:#eeeeee!important;
}



/*h3 問い合わせボタン用*/
.h3-inf{
padding:6px 0 0 0;
background-color:#000000!important;
text-align:center!important;
color:white;letter-spacing:0.3em;border-radius: 7px;
}





/*エージング塗装とは*/
.page-id-7760 h2{ margin-top:40px!important;}
.feature-list p{ margin-left:10px!important;}
.feature-list h3{ margin:20px 10px 0 10px!important;}

/*フッター画像ボタン-------------*/
.image-buttons {
display: flex;
gap: 0px; /* ボタン間の余白 */
align-items: left;
}
.image-buttons img {
margin-left:10px!important;
max-height: 28px; /* 必要に応じてサイズ調整 */
height: auto;
}


/* スマホ-コピーライト直前の余白を消す */
@media screen and (max-width: 1099px) {
  .footer-bottom {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}
	
/* フッター内の検索フォーム全体の幅を制限 */
.widget_search .search-box {
  max-width: 360px;       /* 最大幅を指定（お好みで調整） */
  width: 70%;
  margin: 0 auto;         /* 中央寄せ */
  display: flex;
  align-items: center;
	padding:7px!important;
}

/* 入力欄のスタイル */
.footer-left .search-edit {
  width: calc(100% - 40px); /* ボタン分の幅を除く */
  padding: 8px 12px;
  font-size: 15px;
  border: 1px solid #ccc;
  border-radius: 4px 0 0 4px;
  box-sizing: border-box;
}

/* 検索ボタンのスタイル */
.footer-left .search-submit {
  width: 40px;
  height: 68%;
  background-color: #666;
  color: #fff;
  border: none;
  border-radius: 0 4px 4px 0;
  font-size: 16px;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}

/* スマホ非表示 */
@media screen and (max-width: 1099px) {
  .footer-left .widget_search .search-box {
display:none;
  }
}




/* ======================
   ヘッダー表示と固定制御
   ====================== */

/* スマホ（1099px以下）：ヘッダーは表示するが固定しない */
@media (max-width: 1099px) {
  body {
    padding-top: 0;
  }
  .custom-header {
    position: static;
    display: none!important;
    background: #fff;

  }
}

/* PC（1100px以上）：ヘッダーを固定表示 */
@media (min-width: 1100px) {
  body {
    padding-top: 140px; /* ヘッダー高さ分の余白 */
  }
  .custom-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    background: #fff;
  }
.simple-mobile-header{
    display: none!important;
}

}


	
	
/*トップ画面　メイン画像---------start*/
.slider-wrapper {
  max-width: 1150px;
  margin: 0 auto;
  padding: 0 px;
}

.simple-slider {
  position: relative;
 width: 80%;
 aspect-ratio: 300 / 225;
 margin: 0 auto !important;/* ← 中央寄せ */
 overflow: hidden;
}
.simple-slider img {
display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  object-fit: contain;
  opacity: 0;
  visibility: hidden;
  transition: opacity 1s ease-in-out;
}


/*トップ画面　メイン画像　スマホ用調整*/
@media screen and (max-width: 1099px) {
  .simple-slider img {
    width: 100% !important;
    height: auto !important;
    display: block;
  }

  .simple-slider {
    overflow: visible !important;
    height: auto !important;
  }
}



/* トップページ　コンテンツ上（メニュー下）の余白を消す */
.home .content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

@media (max-width: 768px) {
  .home .content,
  .home main#main.main {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
	.entry-content{    margin-top: 0 !important;
    padding-top: 0 !important;}
}





/*ギャラリー*/
.wp-block-gallery {
  max-width: 960px; /* お好みで調整。720px〜960pxが見やすい */
  margin: 0 auto;
  padding: 0 1em;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1em;
}

/*YOUTUBEを単純に挿入したら中央に設定*/
.wp-block-embed-youtube {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 600px; /* 必要に応じて調整 */
  box-sizing: border-box;
}

.wp-block-embed__wrapper {
  width: 100%;
  text-align: center;
}



/*画面の余白ゼロ*/
.main {padding:0;}

/* スマホだけメイン上の余白を詰める */
@media (max-width: 768px) {
  /* メイン領域の上パディングを小さく */
  main#main.main {
    padding-top: 8px !important;   /* 0～12pxで好み調整 */
  }

  /* 本文の最初のブロックの上マージンを消す（画像やグループ等） */
  .entry-content > *:first-child {
    margin-top: 0 !important;
  }

  /* スライダー/メイン画像のラッパーを使っている場合は保険で */
  .slider-wrapper,
  .simple-slider {
    margin-top: 0 !important;
  }
}




/*基本のタグのcss*/
a {/*color:#734e30!important;*/}



.category h2,
.tag h2 {
  background-color:#ffffff!important;
  margin-top:3px!important;
  margin-bottom:3px!important;
  padding:2px 3px!important;
  border-top: dotted 2px #999999;
  border-bottom: dotted 2px #999999;
}


h3{
	margin-top:19px!important;
	margin-bottom:10px!important;
	padding:6px 0px 0px 5px!important; 
 font-weight:nomal!important;}


/*サイドバーの文字*/
.widget-sidebar {font-size:smaller;}
.list-item-caption{margin:0;padding:0;}
.widget-sidebar a{padding:1px!important;}


/* Instagram埋め込みを中央寄せ＆レスポンシブ start*/
.entry-content .wp-block-embed-instagram,
.entry-content .wp-block-embed-instagram .wp-block-embed__wrapper {
  display: flex;
  justify-content: center;
}

.entry-content .instagram-media {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 100% !important;   /* 親幅に合わせる */
}

/* Instagram & Twitter 共通：中央寄せ＋幅制限 */
.entry-content .instagram-media,
.entry-content .twitter-tweet {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 400px !important; /* インスタと同じ幅にする */
}
/* Instagram埋め込みを中央寄せ＆レスポンシブ end*/





/*スマホ　カテゴリーページ　テキスト隙間*/
@media screen and (max-width: 768px) {
  .category-page-content p {
    padding: 0 20px 0 20px;
  }
}

/*スマホメニュー背景---------start*/
@media screen and (max-width: 1099px) {
  .simple-mobile-header {
    background-image: url('https://yojigenkun.com/gallery/wp-content/themes/cocoon-child-master/images/title-bg.png');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    padding: 2px; /* 必要に応じて調整 */
    border-radius: 20px; /* 任意。丸みつけたい場合 */
    background-color: transparent !important; /* Cocoonデフォルトを打ち消す */
  }
}

/*メイン画像---------end*/


/*トップページコピー---------start*/
.content-wrapper {
  max-width: 1050px;
  margin: 0 auto;
  padding: 0 16px;
}
.content-wrapper h2 {
  max-width: 1100px;
  margin: 10px auto;
  padding: 10px 10px 5px;
}

/*スマホボタン---------start*/
.sp-button-grid {
  display: none;
}

@media screen and (max-width: 1099px) {
  .sp-button-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    padding: 20px 6px 0px 6px;
  }

  .sp-btn {
    width: 100%;
    aspect-ratio: 4 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
  }

  .sp-btn img {
    width: 100%;
    height: auto;
    object-fit: contain;
    transition: transform 0.2s ease-in-out;
    display: block;
  }

  .sp-btn:hover img {
    transform: scale(1.05);
  }
}
/*スマホボタン---------end*/




/*トップ画面　メインテキスト　スマホ用調整*/
@media screen and (max-width: 768px) {
  .wp-block-column p {
    padding: 0 15px;
  }
}

/* スマホヘッダー部分の色*/
@media screen and (max-width: 768px) {
  .header-container,
  .simple-mobile-header {
    background-color: #f8d700 !important;
  }
}

/* トップページの日付を削除*/
.page .post-date,
.page .entry-date,
.page .published {
  display: none;
}

/* すべてのボタンをホバー時に少し上に移動 */
.wp-block-button__link {
  transition: transform 0.2s ease;
}

.wp-block-button__link:hover {
  transform: translateY(-2px);
  color: #ddff22 !important;
}

/* トップ波の中のリンクホバー */
.new-entry-card-link {
  transition: all 0.3s ease !important;
}
.new-entry-card-link:hover {
  transform: translateY(-5px) !important;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2) !important;
  background-color: #f6c800;
}



/* お客様の声 -------------*/
.voice {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 20px;
  max-width: 800px;
  margin: 40px auto;
}

.voice img {
  width: 100px;
  height: auto;
  flex-shrink: 0;
}

.voice p {
  max-width: 600px;
  margin: 0;
  line-height: 1.6;
}

@media screen and (max-width: 768px) {
  .voice {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .voice p {
    max-width: 100%;
  }
}

/* お客様の声 -------------*/


/* 作品詳細テーブル */
.tbl-common01 {
  max-width: 1000px;
  margin: 2em auto;
  padding: 15px;
  font-family: sans-serif;
  color: #333;
}
.tbl-common01 dt {
  font-weight: bold;
  padding: 0.5em 0;
  border-bottom: 1px solid #ccc;
}
.tbl-common01 dd {
  padding: 0.5em 0 1em;
  margin: 0;
  border-bottom: 1px solid #eee;
}
@media screen and (min-width: 600px) {
  .tbl-common01 {
    display: grid;
    grid-template-columns: 30% 70%;
    gap: 0;
  }
  .tbl-common01 dt,
  .tbl-common01 dd {
    padding: 0.5em;
    border-bottom: 1px solid #ccc;
    margin: 0;
  }
}

/*フッタの会社情報をスマホでも表示*/
@media screen and (max-width: 834px) {
  .footer-widgets {
    display: block !important;
  }
}


/*メニュー切り替え*/
@media screen and (max-width: 1000px) {
  .custom-header {
    display: none;
  }
}
@media screen and (min-width: 1001px) {
  .mobile-header {
    display: none;
  }
}
.mobile-header-inner {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  height: 80px;
}
.mobile-logo {
  display: block;
}
.mobile-logo img {
  height: 70px !important;
}
.hamburger {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
}

/* 更新日タグを非表示*/
.post-update {
  display: none;
}

/*幅1100　カテゴリー*/
#list {
  max-width: 1100px;
  margin: 0 auto;
}


/*幅1100　固定ページ　お問合専用*/
.page-id-118 .entry-content {
  max-width: 1000px;
  margin: 0 auto;
}



/*トップ　タイトル非表示*/
.page-id-4534 .entry-title {
  display: none;
}

/*トップ　最新リスト６*/
.home .wp-block-latest-posts__list {
  width: 1000px;
}
.home .wp-block-latest-posts__list img {
  width: 100%;
  height: 150px;
  object-fit: cover;
}

/* 投稿ページタイトル */
h1.entry-title,
h1.archive-title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.8rem;
  color: #222;
  text-align: center;
  padding: 1em 0;
  position: relative;
}
h1.entry-title::before,
h1.entry-title::after,
h1.archive-title::before,
h1.archive-title::after {
  content: "";
  display: inline-block;
  width: 40px;
  height: 4px;
  background-color: #f8d700;
  vertical-align: middle;
  margin: 0 12px;
}
@media screen and (max-width: 768px) {
  .entry-title {
    border-top: none !important;
    border-bottom: none !important;
  }
  .entry-title::before,
  .entry-title::after,
  .archive-title::before,
  .archive-title::after {
    display: none !important;
  }
}

/* サムネイル枠 */
.entry-card .entry-card-thumb img,
.widget-entry-card .entry-card-thumb img,
.related-entry-card-thumb img {
  border: 1px solid #f8d700;
  border-radius: 16px;
  box-sizing: border-box;
}

/* 投稿ページのH1とカテゴリH1を共通デザインに */
h1.entry-title,
.category-title {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: 1.8rem;
  color: #222;
  text-align: center;
  padding: 1em 0;
  position: relative;
}
h1.entry-title::before,
h1.entry-title::after,
.category-title::before,
.category-title::after {
  content: "";
  display: inline-block;
  width: 40px;
  height: 4px;
  background-color: #f8d700;
  vertical-align: middle;
  margin: 0 12px;
}

/* テゴリサムネイル群の下の隙間 */
#list {
  padding-bottom: 40px;
}
/*カテゴリーラベル*/
.cat-label {
  position: absolute;
  top: 8px !important;
  left: 8px !important;
  background-color:#f8d700!important;
  color: #fff;
  padding: 4px 12px 2px 12px;
  font-size: 0.75rem;
  border-radius: 6px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
  z-index: 3;
}

.new-entry-card-thumb img {
  border-radius: 12px;
}

/* トップ最新情報サムネイル */
.thumbnail-wrapper {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px;
  padding: 20px 0;
	margin-bottom: 0 !important;
  padding-bottom: 0 !important;
background-color:#f8d700!important;
}


.thumbnail-wrapper > * {
  flex: 0 0 auto;
}
.only-pc {
  display: block;
}
.only-sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .only-pc {
    display: none;
  }
  .only-sp {
    display: block;
  }
	/*スマホ用最新サムネイル少し小さく*/
	.thumbnail-wrapper img{width:85%!important;margin:0 auto;}
}

/* トップサムネイル 波 */
.wave-border {
  display: block;
  line-height: 0;
}
.wave-border img {
  width: 100%;
  height: auto;
  display: block;
}
.wave-border {
  margin: 0;
}

.wave-border {
  margin-top: -1px !important;
  padding-top: 0 !important;
  line-height: 0;
}
.wave-border img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 !important;
  padding: 0 !important;
}
.home .wp-block-columns,
.home .wp-block-column {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* カテゴリー説明文 */
.entry-content p:first-of-type {
  max-width: 1080px;
  margin: 0 auto;
}

/* フッター設定 */
#footer,
#footer-in,
.footer-widgets,
.footer-left,
.footer-info,
.footer-info li,
.footer-left * {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  border: none !important;
}
.footer-left {
  padding: 15px 0 0 0px !important;
}
.footer-left li {
  line-height: 1.5 !important;
  margin: 0 0 0 9px !important;
  font-size: 0.8em;
}
.footer-left strong {
  font-size: 1.2em !important;
}

/*SNSアイコン*/
.social-icons {
  margin-top: 5px !important;
  margin-left: 11px !important;
  display: flex;
  gap: 12px;
}
.social-icons img {
  height: 28px;
  width: auto;
  filter: brightness(0) invert(1);
  transition: opacity 0.3s;
}
.social-icons img:hover {
  opacity: 0.7;
}

/*パンくずリスト*/
#breadcrumb {
  max-width: 1150px;
  margin: 30px auto 0px auto;
  text-align: right;
  padding-right: 20px;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* H1周辺の余白を詰める */
.article-header {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.entry-title {
  margin-top: 5px !important;
  padding-top: 0 !important;
}
.category-header {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.archive-title {
  margin-top: 5px !important;
  padding-top: 0 !important;
}

/* 付箋デザイン */
.fusen-box {
  position: relative;
  width: 90%;
  max-width: 600px;
  margin: 2em auto;
  padding: 1.2em 1em;
  background: #f8d700;
  border: 1px solid #f0e68c;
  box-shadow: 3px 3px 8px rgba(0, 0, 0, 0.2);
  font-size: 1.2rem;
  line-height: 1.6;
  box-sizing: border-box;
  animation: fuwafuwa 3.5s ease-in-out infinite;
  transform-origin: top center;
}
.fusen-tape {
  content: "";
  position: absolute;
  top: -10px;
  left: 20px;
  width: 60px;
  height: 20px;
  background: rgba(200, 200, 200, 0.6);
  transform: rotate(-5deg);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
  pointer-events: none;
}
@keyframes fuwafuwa {
  0% {
    transform: rotate(-0.5deg);
  }
  50% {
    transform: rotate(0.5deg);
  }
  100% {
    transform: rotate(-0.5deg);
  }
}
/* --- YouTubeを中央＆レスポンシブに --- */

/* アーカイブページ、作品カテゴリーだけサイドバーを非表示 start*/
body.categoryid-3 .sidebar,
body.archive .sidebar{
  display: none;
}

body.categoryid-3 .main,
body.archive .main{
  width: 100%;
}


/* アーカイブページ、作品カテゴリーだけサイドバーを非表示 end*/


/*サイドバーありメインエリアの上部隙間削除*/
.main{padding-top:0px;}
.breadcrumb{margin-top:10px!important;}
/*フッターコンテンツの幅*/
.footer-in{width:100%;}




.home .only-sp a{width:80%!important;margin:0 auto;padding-left:0px;}

.home .swiper-button-next{
	display:none;
}
html {
  scroll-behavior: smooth;
}

/*関連用語集のクラス-ウィジェットページ下部登録*/
.zoukei-dictionary{}
/*パンくず*/
.breadcrumb{padding:15px!important;}


/*フッター直前のメニュー---------*/

.sitemap-banner {
background-color: #EEEEEE;
position: relative;
left: 0;
right: 0;
padding: 2px 20px 0 0;
text-align: right;
margin: 0 auto;
box-sizing: border-box;
font-size:0.8em;
}
.sitemap-banner a {
  color: #000;
  text-decoration: underline;
  font-size: 1em;
}

/* ＰＣ　グローバルメニュー全体 ---------*/
.global-header-layout {
  width: 1050px;
  margin: 0 auto;
  position: relative;
  padding: 0px;
}

/* 右上のリンク（隙間なし） */
.utility-links-container {
  display: flex;
  gap: 9px; /* ← 隙間をなくす */
	justify-content: flex-end; /* ← 中身を右寄せ */
}

.utility-links-container a {
    margin: 0;
  padding: 0;
}

.utility-links-container img {

  vertical-align: middle;
  border: none;
}

/* ロゴとメニューの並び */
.gallery-global-menu {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 9px;
}

/* ロゴエリア */
.logo-area {
  flex: 0 0 auto;
}

.logo-area img {
  display: block;
}

/* メニューエリア */
.main-navigation {
  flex: 1;
  text-align: right;
}

.work-categories {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 0px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.work-categories li {
  display: inline-block;
}

.work-categories li img {
  display: block;
}


.work-categories li img {
  display: block;
  height: auto; /* 縦横比を維持 */
  max-width: 100%; /* 親要素からはみ出さない */
}
.global-header-layout img:hover {
  opacity: 0.6;
  transition: opacity 0.3s ease;
}

/* ＰＣ　グローバルメニュー全体　end ---------*/







.top-yellowback
{background-color:#f8d700!important;
margin: 0 !important;
width:100%;}
.top-yellowback p{
	text-align:center;
  animation: float 3s ease-in-out infinite;
}
@keyframes float {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0px);
  }}



/*ページ送り*/
.wp-post-image {
  border-radius: 15px;
	margin-right: 15px!important;
}
.prev-post-title{padding:5px;}
.next-post-title{padding:5px;}
/*関連記事のテキスト非表示*/
.related-entry-card-snippet{display:none;}
.related-entry-card-title {font-size:15px!important;background-color:#ffffff!important;margin:0!important;border:none!important;}
	
/*作品ページのfaq*/
.faq dt{margin:0!important;
	padding:0 0 0 8px!important;
border-top: 2px dotted #333;   
border-bottom: 2px dotted #333;
background-color:#eeeeee;
}
.faq dd{margin:0!important;
	padding:0 0 0 8px!important;}

.cocoon-block-faq{margin:0 auto 20px auto!important;
	padding:0!important;width:90%;}


/*旧　各作品ページのfaq*/
.faq-box{width: 90%;
		margin:0 auto 30px auto;}
.faq-box .faq-item{ 
	  display: inline-block; 
	width: 100%;
	font-size:0.9em!important;
}
.faq-item h3{font-size:1.1em!important;}




/*作品サイトマップ*/
/* 1. Content Viewsで表示されるタイトルの要素を特定する (行数制限) */
.pt-cv-title a {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2; /* 2行で制限する例 */
    overflow: hidden;
} /* ← 最初のブロックの閉じ括弧 */

/* 2. サイズと余白の調整 */
.pt-cv-title a {
    font-size: 12px;
    width: 90%;
    padding: 0 !important;
    margin: 0 !important;
	color:#333333;
} /* ← 2番目のブロックの閉じ括弧 */

.page-id-8164 h4{border-color:#ffffff!important;padding:0!important;}
/*タイトル削除*/
.pt-cv-heading-container{display:none;}




.pt-cv-thumb-wrapper {
    /* 前回の角丸設定 */
    border-radius: 10px; 
    overflow: hidden; 
    
    /* アニメーション（ホバー）を滑らかにする設定 */
    /* transformとbox-shadowの変化に0.3秒かけて変化させます */
    transition: transform 0.3s ease-out, box-shadow 0.3s ease-out; 
    
    /* 拡大・移動時に画像がブレないように、初期状態のtransformを設定（パフォーマンス向上） */
    transform: translateZ(0);
}


.pt-cv-thumb-wrapper:hover {
    /* マウスに引き寄せられるように、1.05倍に拡大します */
    /* scale()の値を大きくすると、より派手な効果になります */
    transform: scale(1.05); 
    
    /* 浮き上がっているように見せるための影（box-shadow）を追加 */
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3);  

}

/*20260520----------------------------*/

.marker-under {
  background: linear-gradient(transparent 60%, #F8D700 60%);
}

/*リンクの色*/
body .entry-content a {
  color: #000000;
  font-weight: 600;
  text-decoration: underline;
  }
body .entry-content a:hover {
color: #999999; /* やや濃い青 */
}

/*トップの作品一覧へのバナー*/
.top-banner{padding-top:30px;}

/* ふわふわ浮遊アニメーション */
@keyframes floaty {
  0%   { transform: translateY(0px); }
  50%  { transform: translateY(-6px); }
  100% { transform: translateY(0px); }
}

.top-banner a {
  display: inline-block;
  animation: floaty 3s ease-in-out infinite;
  transition: filter 0.2s ease, opacity 0.2s ease;
}

/* ホバー：少しだけ薄く */
.top-banner a:hover {
  filter: brightness(1.08); /* ほんのり明るく */
  opacity: 0.9;             /* うっすら透ける感じ */
}

/* クリック時（任意） */
.top-banner a:active {
  opacity: 0.8;
}


/* スマホ用 画像ボタンメニュー20260430 */
.sp-image-button-grid {
  display: none;
}

@media (max-width: 767px) {
  .sp-image-button-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    width: 96%;
    margin: 18px auto;
  }

  .sp-image-btn {
    display: block;
  }

  .sp-image-btn img {
    display: block;
    width: 100%;
    height: auto;
  }
}

.sp-image-btn {
  display: block;
  transition: transform 0.2s ease, filter 0.2s ease;
}

.sp-image-btn:hover {
  transform: translateY(-3px);
  filter: brightness(1.08) saturate(1.05);
}


/*固定ページ共通css*/
.page h3{font-size:1.05em!important;margin-left:1%;}

/* 固定ページ内の本文の見出し(h2)だけに適用 */
.page .entry-content h2,
.type-page .entry-content h2 {
    margin-top: 30px !important;
    padding: 8px 8px 4px 8px !important; 
    background-color: #eeeeee !important;

}
.small-icon img {
    width: 100px!important;
    height: auto;
    display: block;
    margin: 0 auto; /* 中央に寄せて左右に余白を作る */
}

.page p{margin-left:2%;}


/*新しいカテゴリーページ 共通--------*/

/*pcメインイメージ　figureタグにクラスcat-mainimg*/
.cat-mainimg img{width:90%;margin-top:10px;}

.cat-mainimg img {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeUp 0.8s ease-out forwards;
}

@keyframes fadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}



.yoji-reason h3{background-color:white!important;
	border-top: none!important;padding-bottom:5px!important;}
.yoji-reason h3 span{background: linear-gradient(transparent 60%, #f8d700 60%);}

/*事例３種*/
.page .pt-cv-wrapper {
    width: 90% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.pt-cv-title a {
    font-size: 0.8em !important;
}


/* 全て見るボタン：外側 */
.simple-btn-wrap {
  margin: 0 0 16px 0 !important;
  padding: 0 !important;
  text-align: center !important;
  line-height: 1 !important;
}

/* 全て見るボタン：本体 */
.simple-btn {
  display: inline-block;
  padding: 10px 26px !important;
  background: #000;
  color: #fff !important;
  text-decoration: none !important;
  font-size: 16px;
  line-height: 1;

  border-radius: 6px; /* 少し丸み */
  box-shadow: 0 3px 0 #ccc; /* 下に影＝ボタン感 */
  transition: all 0.2s ease;
}

/* 全て見るボタン：スマホ用ｐｃ非表示*/

@media (min-width: 768px) {
	.sp-only{display:none;}
}


.simple-btn:hover {
  transform: translateY(2px);
  box-shadow: 0 1px 0 #c9a800;
}
/*代表事例　h3タイトル*/
.cate-h3{
background-color:#ffffff!important;}





/*古いカテゴリーページ 共通--------*/
.cate-section-title {
  margin: 20px 0 10px 0 ;
}
.cate-section-title h2{
	background-color:#eeeeee!important;
  padding: 10px 0 0 5px !important;
  border-top: none !important;
  font-size: 20px !important;
}
.cate-content {
  margin-top: 20px;
}

/* 本文 */
.cate-content-p {font-size: 18px!important;
  margin: 0 0 10px 10px !important;
  line-height: 1.3;
	}

@media screen and (max-width: 768px) {
.cate-section-title h2{
  font-size: 18px !important;
	padding: 5px 0 5px 5px !important;
}
	
.cate-content .cate-content-h3{
  font-size: 18px!important;
	  padding: 0 0 5px 5px !important;
}

.cate-content-p {font-size: 14px!important;
  margin:0!important;
	padding:0!important;
}
}

/* スマホ用メインイメージ修正版 */
@media (max-width: 767px) {
  .cat-mainimg img {
    display: block;
    width: 270px !important; /* 他のスタイルに上書きされるのを防ぐ */
    height: auto !important;
    margin-left: auto;
    margin-right: auto;
  }
}

/* FAQのアンサー */
.saswp_faq_tiny_content {
  padding:0 0 0 20px;
}


/*カテゴリー01キャラとロボット */
.category-intro-box {
  display: flex;
  align-items: center;
  gap: 28px;
  margin: 20px 0 10px;
}

.category-intro-image {
  flex: 0 0 180px;
}

.category-intro-image img {
  width: 180px;
  height: auto;
  display: block;
}

.category-intro-text {
  flex: 1;
}

.category-intro-text p {
  margin: 0 0 1em;
}
/*content viewsのカテゴリ非表示*/
.category .pt-cv-taxoterm {
  display: none;
}
.category .pt-cv-taxoterm {
  display: none;
}
.category h4.pt-cv-title a {
  font-size: 16px !important;
}


/* 見出し3 */
.category-381 .cate-content .cate-content-h3{
	background-color:#ffffff !important;
border:none !important;
}



/*content viewsの並び */
/* Content Views 3枚をページ中央に寄せる */
.category .pt-cv-wrapper {
  width: fit-content;
  margin-left: auto !important;
  margin-right: auto !important;
}


.category .pt-cv-content-item {
  width: 235px !important;
  flex: 0 0 235px !important;
	margin:20px 10px 0 10px!important;
}




/* スマホ用 */
@media screen and (max-width: 768px) {
  .category-intro-box {
    flex-direction: column;
    align-items: center;
    gap: 16px;
  }

  .category-intro-image {
    flex: none;
  }

  .category-intro-image img {
    width: 160px;
  }

  .category-intro-text {
    width: 100%;
    font-size: 14px;
  }
}


/* カテゴリーページ用 お見積り３種ボタン */
.cat-contact-area {
  clear: both;
  width: 100%;
  max-width: 900px;
  margin: 30px auto;
  padding: 0;
  text-align: center;
}

.cat-contact-title {
  margin: 0 0 18px 0 !important;
  padding: 0 !important;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
}

.cat-contact-list {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 24px;
  margin: 0;
  padding: 0;
}

.cat-contact-item {
  display: block;
  width: 280px;
  margin: 0;
  padding: 0;
  line-height: 0;
  text-decoration: none !important;
}

.cat-contact-item img {
  display: block;
  width: 280px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

/* 外部リンクアイコン消し */
.cat-contact-area a::before,
.cat-contact-area a::after {
  content: none !important;
  display: none !important;
}

/* スマホ */
@media screen and (max-width: 768px) {
  .cat-contact-list {
    flex-direction: column;
    align-items: center;
    gap: 14px;
  }

  .cat-contact-item,
  .cat-contact-item img {
    width: 280px !important;
  }
}
/*カテゴリーページ 共通--------end*/



/*スマホ用トップボタン-------*/
/* デフォルトは非表示（PC） */
.sp-text-button-grid {
  display: none;
}

/* スマホのみ表示 */
@media (max-width: 767px) {
  .sp-text-button-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin: 20px auto;
  }

  .sp-text-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 58px;
    padding: 10px 8px;
    background: #f8d700;
    color: #333 !important;
    text-decoration: none !important;
    font-weight: 700;
    font-size: 14px;
    line-height: 1.35;
    text-align: center;
    border-radius: 10px;
    box-shadow: 0 3px 0 rgba(0,0,0,0.18);
  }

  .sp-text-btn:hover {
    opacity: 0.85;
  }

  /* 外部リンク（紺色） */
  .sp-text-btn.is-external {
    background: #1f2f5c;
    color: #fff !important;
  }
}



/***　ルーズリーフ風ボックス　***/
/*外枠の設定*/
.note-box {
  border: solid 2px #999;
  padding: 0 1em 0 2em;
  position: relative;
  margin: 0 auto 30px auto;
  width: 95%;

  background: #fffbe6; /* うすい黄色 */
  box-shadow: 0 4px 10px rgba(0,0,0,0.15); /* ドロップシャドー */
}

/*文字、罫線の設定*/
.note-box p {
   border-bottom: dashed 1px #ccc; /*罫線*/
   line-height: 1.5; /*行の高さ*/
   padding: 0.5em 0 0.5em 0.5em; /*文字の位置*/
   margin:0;
}
.note-box p:last-of-type {
   border-bottom: none;
}
.note-box .n-title{font-size:1.2em;
padding:10px 0 0 0;
}
/*ドットの設定*/
.note-box::before {
   content: "";
   position: absolute;
   border-right: dotted 10px #ddd; /*ドットの大きさ、高さ*/
   height:90%;
   top:0.5em; /*位置*/
   left:0.5em; /*位置*/
}









