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

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

/* svgファイルの色指定 */
.black-icon svg {
  fill: #000; /* 黒色 */
}

/* hoverのリセット */
.a-wrap:hover{
  background-color: #fff;
}

/* ヘッダー画像の透過 */
#header, #header-container {
  background-color: transparent !important;
  background-image: none !important;
}

.logo-image{
  padding:0;
}

.entry-content{
  margin:2em 0;
}


/* 画面幅が1480px以下のときに背景を切り替える */
@media (max-width: 1280px) {
  body.public-page {
    background-image: url('/wp-content/themes/cocoon-child-master/images/bg_sp.jpg') !important;
  }
}

/* スマホメニューの閉じるボタン位置 */
.menu-close-button{
  text-align: right;
}

.tag-link, .comment-reply-link{
  border-radius: 24px;
  padding:6px 16px !important;
  margin-right: 8px;
  background-color: #f0f0f0;
  border: none;
}

.entry-tags a{
  transition: background-color 0.2s, color 0.2s;
}

.entry-tags a:hover{
  background-color: #e0e0e0;
  color: #000;
}

/* カテゴリリンクタグ */
.cat-link{
  padding:8px 16px;
  border-radius: 32px;
  margin-bottom: 4px;
}

.cat-link a:hover{
  background-color: #f0f0f0 ;
}


/* カルーセルの幅調整ここから */
/* 中央寄せ＋左右に余白 */
/* カルーセルスライドの左右に余白 */
.carousel{
  margin-top:0;
  padding:0 16px 14px 16px;
}


.carousel-entry-card-wrap {
  padding: 0 10px; /* 必要に応じて調整 */
  box-sizing: border-box;
  display: block;
  border-radius: 12px;
  overflow: hidden;
  text-decoration: none;
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}

/* 角丸と影の対象：article全体（中身） */
.carousel-entry-card {
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  transition: inherit;
}

/* hoverで影と浮き効果を出す */
.carousel-entry-card-wrap:hover .carousel-entry-card {
  box-shadow: 0 8px 24px 4px rgba(0, 0, 0, 0.12);
  transform: translateY(-3px);
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.carousel-entry-card-thumb {
  margin-top:0px;
}

.carousel-entry-card {
  background: #fff;
}

/* slick の wrapper 調整 */
#carousel-in .carousel-content {
  margin: 0 -10px; /* 上記paddingとバランス */
  padding-bottom: 0px;
}

.carousel-entry-card-wrap,
.slick-slide {
  overflow: visible;
}

/* サムネイル画像も角丸にしたい場合 */
.carousel-entry-card-thumb-image {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* テキスト部分のパディング */
.carousel-entry-card-content{
  padding: 0 8px;
}

.carousel-content .a-wrap{
  margin:0 6px 0 0;
}

/* タイトルの調整 */
.carousel-entry-card-title {
  font-weight: bold;
  font-size: 1rem;
  color: #333;
}

/* slick-center効果（オプション） */
@media screen and (max-width: 768px) {
  .carousel .slick-slide {
    opacity: 0.6;
    transition: opacity 0.3s ease;
  }

  .carousel .slick-center {
    opacity: 1;
  }
}
/* カルーセルの幅調整ここまで */


/* ジャンルカルーセルここから */

.content-top-in .slick-track{
  margin-top:6px;
}

/* スライドの余白（影とは分離） */
.pickup-carousel .pickup-item {
  padding: 0 8px;        /* スライド間余白 */
  box-sizing: border-box;
}

/* hoverアニメーションと影は item 本体で制御 */
.pickup-carousel .pickup-item a {
  display: block; /* 影と一緒に動かすため block 化 */
  border-radius: 12px; /* 丸枠にしたい場合 */
  overflow: hidden;    /* 角丸からはみ出さない */
  transition: transform 0.4s, box-shadow 0.4s;
  box-shadow: 0px 4px 15px -5px rgba(85,85,85,0.75);
}

.pickup-carousel .pickup-item a:hover {
  box-shadow: 0px 8px 18px -5px rgba(85,85,85,0.75);
}

/* 画像は枠いっぱいに広げるだけ */
.pickup-carousel .pickup-item img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

.content-top{
  background-color: rgba(0, 0, 0, 0) !important;
}

.pickup-item {
  list-style: none;
  transition: transform 0.4s, box-shadow 0.4s;
  /*box-shadow: 0px 4px 15px -5px rgba(85,85,85,0.75);*/
  border-radius: 10px;
  overflow: hidden;
}

.pickup-item:hover {
  transform: translateY(-6px);
}

.pickup-item img {
  width: 100%;
  vertical-align: bottom;
  display: block;
  border-radius: 10px;
}
/* ジャンルカルーセルここまで */

/* カルーセル外枠レイアウト調整ここから */

#content-top-in .widget{
  margin-bottom:0;
}

.carousel-in{
  border-radius: 10px;
  box-shadow:0px 4px 15px -5px rgba(85,85,85,0.75);
  padding:0 40px;
}

.carousel-entry-card-title{
  font-size: 12px;
  line-height: 1.34;
}

.carousel-entry-card-title{
  height:4em;
}

.carousel-entry-card-thumb{
  margin-bottom:0;
}

.carousel-entry-card-thumb-image,
.carousel-entry-card-no-image {
  border-radius: 8px 8px 0 0;
} 

.carousel-entry-card-thumb .cat-label{
  display:none;
}
/* カルーセルレイアウト調整ここまで */





/* 本文レイアウト調整 ここから */
.content{
  margin-top: 0px;
  padding:0 12px;
}
/* 本文レイアウト調整 ここまで */


/* 3カラム調整ここから */

.list-columns.fpt-3-columns {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

.ect-3-columns > *, .fpt-3-columns > *{
  width:100%;
}


/* 3カラム調整ここまで */

/* トップ取材一覧表示ここから */
.ect-vertical-card .entry-card-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.ect-vertical-card .entry-card-thumb img, .related-entry-card-thumb img{
  width: 100%;
  height: auto;
}

.ect-vertical-card .entry-card-content{
  padding-top: 10px;
}

.ect-vertical-card .entry-card-title {
  font-size: 16px;
  line-height: 1.4;
  margin: 0;
}

/* 本文非表示 */
.no-excerpt .entry-card-snippet {
  display: none !important;
}
/* トップ取材一覧表示ここまで */


/* サイドバー店舗一覧ここから */
.interview-parlor-list {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.interview-parlor-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  border-bottom: 1px solid #ddd;
  padding-bottom: 10px;
}

.parlor-thumb-small {
  width: auto;
  height: 50px;
  border-radius: 6px;
  flex-shrink: 0;
  display: block;
}

.parlor-title {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  margin: 0;
  word-break: break-word;
  max-width: 100%;
}

.interview-parlor-item a {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: inherit;
  gap: 10px;
}

/* サイドバー店舗一覧ここまで */

/* ページ別サイドバー調整ここから */
.custom-sidebar {
  margin-top: 40px;
  padding: 20px;
  background: #f8f8f8;
}
/* ページ別サイドバー調整ここまで */


/* トップページhtmlウィジェットここから */
.content-top {
  background: #ececec;
  margin: 0;
  padding: 0 16px 20px 16px;
}
.pickup-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0;
  padding: 0;
}

#custom_html-3{
  margin-bottom:0;
}
/* トップページhtmlウィジェットここまで */


/* トップページスケジュール2カラム表示 ここから */
/* 2カラム調整ここから */
.list-schedule .fpt-2-columns {
  margin:0 8px;
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 32px;
  line-height: 1.28;
}

.list-schedule .list-columns{
  display: flex;
  justify-content: center;
  gap:2%;
}

.list-schedule .list-colum{
  flex: 1;
  display: flex;
  flex-direction: column;
}

.list-schedule .custom-schedule-entry-card{
  flex: 1;
  display: flex;
  flex-direction: column;
  height: 88%;
}

.list-schedule .list-title{
  margin-bottom:0.6em !important;
}

.list-schedule .custom-title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2 !important;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  max-height: calc(1.3em * 2);
  box-sizing: border-box;
  padding: 0;
}

/* 2カラム調整ここまで */


.list-schedule .list-title{
  margin-top: -4px;
}

.list-schedule .post-date{
  margin:0 12px 8px 0;
}

.custom-entry-card {
  text-align: center;
}

.custom-entry-link {
  text-decoration: none;
  display: block;
}

.custom-thumb img {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}

.custom-title {
  font-size: 1rem;
  font-weight: bold;
  margin-top: 0.5em;
  color: #333;
}
/* トップページスケジュール2カラム表示　ここまで */

/* サイドバージャンル別一覧　ここから */
.sidebar-genre-list-with-thumb {
  display: flex;
  flex-direction: column;
  gap: 12px;
}


.sidebar-genre-link {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: inherit;
  gap: 10px;
}

.sidebar-genre-thumb img {
  width: auto;
  height: 50px;
  max-width: 80px;
  object-fit: contain;
  border-radius: 4px;
}

.sidebar-genre-title {
  font-size: 14px;
}
/* サイドバージャンル別一覧　ここまで */

/* サイドバーレイアウト調整ここから sidebar-custom-list.php */
.sidebar {
  border-radius: 10px;
  box-shadow:0px 4px 15px -5px rgba(85,85,85,0.75);
}

.sidebar h2, .sidebar h3, .common-list-sidebar h3, .custom-sidebar h3, .under-entry-content h3{
  background-color: #fff;
  margin:0;
  padding:12px 12px 12px 0;
}

.sidebar a, .common-list-sidebar a, .custom-sidebar a, .under-entry-content a{
  color:#000;
  text-decoration: none;
  transition: opacity 0.4s ease;
}

.sidebar h2 a:hover, .sidebar h3 a:hover, .common-list-sidebar h3:hover, .custom-sidebar h3:hover, .under-entry-content h3:hover {
  opacity: 0.6;
}


/* 取材結果一覧 */
.custom-interview-area-list .area-group ul{
  margin-bottom:16px;
}

.custom-interview-area-list .area-group li{
  margin-left:16px;
}

.custom-interview-area-list .area-group i{
  margin-right:4px;
}

.custom-interview-area-list .area-group p{
  font-weight: 900;
}

.custom-interview-area-list .area-group a{
  padding:4px 4px 4px 0;
}

.custom-interview-area-list{
  margin-top:-12px;

}

/* TOPページここから */


/* タイトル */
.list-title-in:before, .list-title-in:after{
  display: none;
}

.list-title-in {
  font-size:1.74rem;
}

.list-title-in-en{
  font-size:0.92rem;
  margin-top:-12px;
}


/* エントリーカード */

.entry-card , .custom-schedule-entry-card, .related-entry-card, .area-item, .genre-list-item, .parlor-item, .area-item{
  border: 1px solid #e2e2e2;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  transition: box-shadow 0.3s;
  height:100%;
}

.entry-card-wrap a, .custom-entry-card a, .related-entry-card a, .area-item a, .genre-list-item a, .parlor-item a, .area-item a{
  text-decoration: none;
  color:#333;
}


.entry-card:hover, .custom-schedule-entry-card:hover, .related-entry-card:hover, .area-item:hover:has(a), .genre-list-item:hover:has(a), .parlor-item:hover:has(a), .area-item:hover:has(a){
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}


.entry-card-thumb, .related-entry-card-thumb{
  margin: 0px;
}

.ect-vertical-card .entry-card-wrap .entry-card-content{
  text-align: left;
  padding:8px 10px;
}

.cat-label, .eye-catch .cat-label{
  border:none;
  top:0em;
  left:0.01em;
  padding:4px 12px;
}

.eye-catch .cat-label{
  border-radius:16px 0 0 0;
}


.entry-card-title{
 font-size:0.98rem !important;
}

.list-interview .post-date{
  margin-bottom:-4px;
}

.list-interview-columns .list-more-button{
  padding: 8px 48px;
}

.list-columns.fpt-3-columns{
  margin:0 6px;
}

/* もっと見るボタン */

.list-more-button-wrap {
  text-align: center;
}

.list-more-button {
  position: relative;
  display: inline-block;
  padding: 10px 70px 10px 70px;
  background: #f0f0f0;
  color: #333;
  text-decoration: none;
  border: none;
  border-radius: 10px;
  font-size: 0.98rem;
  font-weight: bold;
  overflow: hidden;
  transition: color 0.3s ease;
  z-index: 0;
}

.list-more-button::before {
  content: "";
  position: absolute;
  top: 0;
  left: -101%;
  width: 100%;
  height: 100%;
  background: #333;
  transition: left 0.4s ease;
  z-index: -1;
}

.list-more-button:hover::before {
  left: 0;
}

.list-more-button:hover {
  color: #fff;
}

.list-more-button i {
  position: absolute;
  right: 12px;
  top: 34%;
  /*transform: translateY(-50%);*/
  z-index: 1;
  transition: transform 0.3s ease;
}

.list-more-button:hover .fa-chevron-right {
  transform: translateX(3px);
}


.list-more-button-wrap a:hover{
  background-color: #333;
  color: #fff;
  background-position: left;
}

/* ページ送りここから */
.pagination-next a {
  position: relative;
  display: inline-block;
  padding: 10px 20px;
  background: #f0f0f0;
  color: #333;
  text-decoration: none;
  border: none;
  border-radius: 8px;
  overflow: hidden;
  transition: color 0.3s ease;
  z-index: 0;
  font-size: 0.98rem;
  font-weight: bold;
}

.pagination-next a::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: #333;
  transition: left 0.4s ease;
  z-index: -1;
}

.pagination-next a:hover::before {
  left: 0;
}

.pagination-next a:hover {
  color: #fff;
}


.pagination-next {
  width:32%;
  margin-left: auto;
  margin-right: auto;
}

.pagination-next i{
  position: absolute;
  right: 12px;
  top: 34%;
  /*transform: translateY(-50%);*/
  z-index: 1;
  transition: transform 0.3s ease;
}

.pagination-next :hover .fa-chevron-right {
  transform: translateX(3px);
}

.page-numbers{
  border-radius: 24px;
  border:0px solid;
  background-color: #fff;
  font-size: 1rem;
  font-weight:bold;
}

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

.page-numbers .fa-chevron-right, .fa-chevron-left{
  transition: transform 0.3s ease;
}

.page-numbers .fa-chevron-right:hover{
  transform: translateX(3px);
}

.page-numbers .fa-chevron-left:hover{
  transform: translateX(-3px);
}

.pagination .current{
  background-color: #333;
  color: #fff;
}

/* ページ送りここまで */

/* 次へ戻るリンクここから */
.next-post:hover, .prev-post:hover{
  border-radius: 8px;  
  box-shadow: 0 8px 24px 4px rgba(0, 0, 0, 0.12);
  transform: translateY(-3px);
  transition: box-shadow 0.3s ease, transform 0.3s ease;
  background-color: #fff;
}

.next-post img, .prev-post img{
  border-radius: 8px;
}

.post-navi-default.post-navi-border a{
  border:none;
}
/* 次へ戻るリンクここまで */


/* 検索 */
.search-submit{
  margin:-14px 8px 0 0;
}

/* スケジュール */
.list-schedule .custom-title{
  padding:0 16px 8px 16px;
  text-align: left;
  font-size: 22px;
}

.list-schedule .list-more-button-wrap{
  margin-top:12px;
}


/* 取材結果一覧 */
.interview-area-inline-links{
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  justify-content: center; 
  text-align:center;
  font-size: 1.04rem;
  font-size: 14px;
  font-weight: bold;
}

.interview-area-inline-links a{
  display: inline-block;
  background-color: #f0f0f0;
  color: #333;
  text-decoration: none;
  padding: 4px 16px;
  border-radius: 9999px;
  font-size: 14px;
  transition: background-color 0.2s, color 0.2s;
}

.interview-area-inline-links a:hover,
.interview-area-inline-links a:focus,
.interview-area-inline-links a.active {
  background-color: #e0e0e0;
  color: #000;
}

.fpt-3-columns .list-title-in{
  font-size:1.4rem ;
}

.list-column .list-title{
  margin-bottom: 0.2em;
}

.interview-area-inline-links .entry-card-info{
  padding-right:8px;
}

.genre-thumb-only-list img{
  border-radius: 10px;
}

.genre-thumb-only-list img:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  transition: background-color 0.2s, color 0.2s;
  transition: box-shadow 0.3s;
}


/* 共通：4カラム（デスクトップ） */
.list-columns.fpt-4-columns {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin:0 8px;
}
/* TOPページここまで */


/* 最新取材スケジュール */
.sidebar-title{
  line-height: 90%;

}

.schedule-updated {
  font-size: 12px;
}

.sidebar-schedule-item a{
  padding:6px 0;
}

.sidebar-schedule-area-link {
  display: block;
  margin: 5px 0;
  text-decoration: none;
}

.sidebar-schedule-area-link:hover, .custom-interview-area-list li:hover{
  opacity: 60%;
}

.custom-interview-area-list .area-group a:hover{
  background-color: transparent;
}


/* 最新取材一覧 */
.upw-posts {
  margin-top: -4px;
}

.upw-posts article.type-interview {
  padding: 0px;
  margin-bottom: 16px;
}

.upw-posts article.type-interview header {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 12px;
  margin-bottom:16px;
}

.upw-posts article.type-interview header:hover {
  box-shadow: 0 8px 24px 4px rgba(0, 0, 0, 0.12);
  transform: translateY(-3px);
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.upw-posts .entry-image {
  flex-shrink: 0;
  padding-bottom: 0px;
  margin-bottom: 0 !important;
}

.upw-posts .entry-image img {
  width: 120px !important;
  height: 68px !important;
  border-radius: 8px 0 0 8px;
}

.upw-posts .entry-title {
  font-size: 0.8rem;
  font-weight: bold !important;
  line-height: 1.4;
  font-weight: 400;
  margin: 4px 8px 0 0;
  flex: 1;

}

.upw-posts header:hover {
  border-radius: 0 8px 8px 8px;
}

.upw-posts .entry-title a {
  text-decoration: none !important;
}

.upw-posts .entry-title a:hover {
  text-decoration: none !important;
}

/* アクセスランキング */
.popular-entry-cards{
  margin-top:-16px;
}

.popular-entry-cards .a-wrap{
  padding:8px 0 !important;
  line-height: 1.4;
}

.popular-entry-cards .a-wrap{
  margin-bottom:10px;
}

.border-partition .a-wrap{
  border-bottom: 1px solid #ddd !important;
}

.popular-entry-cards img{
  border-radius: 8px 0 0 8px;
}

.popular-entry-card-thumb{
  margin:0px;
}

.widget-entry-cards.ranking-visible .card-thumb::before{
  border-radius: 8px 0 0 0;
}

.popular-entry-card{
  margin:0 0 8px 0;
}

.popular-entry-card:hover{
  border-radius: 0 8px 8px 8px;  
  box-shadow: 0 8px 24px 4px rgba(0, 0, 0, 0.12);
  transform: translateY(-3px);
  transition: box-shadow 0.3s ease, transform 0.3s ease;
  background-color: #fff;
}

.popular-entry-card-title{
  margin:0 0 0 5px;
  font-size: 0.8rem;
  font-weight: bold;
}

.widget-entry-card-content{
  padding:4px 8px 0 0;
}

.border-partition .a-wrap:first-of-type{
  border-top:none;
}

.border-partition .a-wrap:last-of-type{
  border-bottom: none !important;
}


.sidebar-parlor-list-with-thumb {
  margin-top: -6px;
}

.sidebar-parlor-item {
  display: flex;
  align-items: center;
  margin-bottom: 12px;
  border-radius: 8px;
  transition: box-shadow 0.3s ease;
  background-color: #fff;
  overflow: hidden;
}

.sidebar-parlor-item:hover {
  box-shadow: 0 8px 24px 4px rgba(0, 0, 0, 0.12);
  transform: translateY(-3px);
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}

.sidebar-parlor-link {
  display: flex;
  text-decoration: none;
  width: 100%;
}

.sidebar-parlor-thumb img {
  max-width: 80px;
  height: auto;
  border-radius: 6px 0 0 6px;
  object-fit: cover;
}

.sidebar-parlor-info {
  padding: 10px;
}

.sidebar-parlor-title {
  font-size: 0.8rem;
  font-weight: bold;
  color: #333;
}


/* 店舗別一覧ここまで */



/* 月別一覧ここから */
.monthly-archive-list{
  margin-top: -14px !important;
}

.monthly-archive-list li{
  font-size:16px;
}

.monthly-archive-list a{
  padding:4px 0 0 0px !important;
}

.monthly-archive-list a:hover{
  background-color: transparent !important;
  opacity: 60%;
}



/* ジャンル一覧ここから */
.sidebar-genre-item {
  border-radius: 8px;
  transition: box-shadow 0.3s ease;
}

.sidebar-genre-item:hover {
  box-shadow: 0 8px 24px 4px rgba(0, 0, 0, 0.12);
  transform: translateY(-3px);
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}


.sidebar-genre-thumb img {
  width: auto;
  height: auto;
  border-radius: 6px 0 0 6px;
  box-shadow: none;
}

.sidebar-genre-title {
  font-size: 0.8rem;;
  font-weight: bold;
}

.sidebar-genre-list-with-thumb {
  margin-top: -6px;
}
/* ジャンル一覧ここまで */


/* 検索 */
.wp-block-search__label{
  font-size: 1.17em;
  font-weight: bold;
}

.wp-block-search__inside-wrapper{
}

.wp-block-search__inside-wrapper{

}

.wp-block-search__inside-wrapper input,button{
 height:54px;
 border:0;
 background-color: #f0f0f0;
}

.widget_search .wp-block-search__input{
  border-radius: 8px 0 0 8px;
}

.wp-block-search__inside-wrapper button{
  background-color: #2d2d2d;
  border:0;
  border-radius:0 8px 8px 0;
  outline: 8;
  padding:0px 4px 0 8px;
}

:root :where(.wp-element-button, .wp-block-button__link){
  background-color: #f3f7f9;
  margin-left: 0px;
}

/* サイドバーレイアウト調整ここまで sidebar-custom-list.php */


.main{
  border-radius: 10px;
  box-shadow:0px 4px 15px -5px rgba(85,85,85,0.75);
}

/* 取材一覧ページ */

.category-page-content{
  padding: 0 8px;
}

.ranking .entry-content{
  margin:32px 0 0 0 ;
}

.ranking .popular-entry-cards{
  margin-left:8px;
}

.ranking .popular-entry-card-title{
  font-size: 0.98rem;
}

/* 月別一覧ページ */
.yearmonth .term-list a{
  text-decoration: none;
  color:#000;
}

.yearmonth .term-list a:hover{
  opacity: 60%;
}



/* 店舗一覧ページpage-parlor.phpここから */
.category-content.article {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  padding: 0 16px; /* 必要に応じて調整 */
  box-sizing: border-box;
}

.parlor-grid {
  width: 100%;
  max-width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.parlor-item, .area-item, .genre-list-item {
  margin:0 0 6px 0;
  text-align: center;
}

.parlor-thumb img, .area-thumb img {
  width: 100%;
  height: auto;
}

.parlor-item a, .area-item a, .genre-list-item a{
  display: block;
  width:100%;
  height: 100%;
}

.parlor-name, .area-name ,.genre-name{
  margin-top: 8px;
  font-size: 0.98rem;
  font-weight: bold;
  line-height: 1.4;
}
/* 店舗一覧ページpage-parlor.phpここまで */

/* エリア一覧ページpage-area.phpここから */
.area-grid ,.genre-list-grid{
  width: 100%;
  max-width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

/* エリア一覧ページpage-area.phpここまで */

/* ジャンル一覧ページpage-genre.phpここから */

.genre-thumb {
  width: 100%;
  height: auto;
  object-fit: cover;
}

/* ジャンル一覧ページpage-genre.phpここまで */


/* 記事ページここから */

.related-entry-heading{
  margin-bottom:4px;
}

.related-entry-card-title{
  font-size:0.86rem !important;
  line-height:1.4 !important;
}

.related-entry-card-content{
  text-align: left;
  padding:4px 8px;
}

.eye-catch img{
  border-radius: 16px;
}


/* タイトル */

.archive-title{
  font-size:1.74rem;
  margin:16px 0 16px 8px;
}

.archive-title i{
  margin-right:10px;
}

.category-content.article{
  padding:0px;
}

/* 記事ページここまで */


/* パンくずリスト */
.breadcrumb{
  border-radius: 8px;
  margin-top: 32px !important;
}


/* TOPへ戻るアイコンここから */
.go-to-top-button{
  display:block !important;
}

.go-to-top{
  bottom: 40px;
  right:40px;
}

.go-to-top-visible .go-to-top{
  visibility: visible;
  opacity: 1;
}

/* TOPへ戻るアイコンここまで */

.custom-sidebar{
  display: none;
}

/* footerレイアウト調整 footer-bottom.php ここから */
.footer{
  padding:8px 0 0 0;  
}

.footer-bottom{
  padding:0 0 40px 0;
  background-color: #fff;
  /*wrap*/
  margin-left: calc(50% - 50vw);  /* 画面の左端に揃える */
  margin-right: calc(50% - 50vw); /* 画面の右端に揃える */
  width: 100vw;                   /* ビューポート幅にする */
}

.footer-sns{
 margin:24px 0;
}

.footer-sns-x{
  width:54px;
}

.footer-sns-note{
  width:130px;
  margin-left:8px;
}
/* footerレイアウト調整 footer-bottom.php ここまで */



/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/



.list-columns.fpt-4-columns .list-column {
  flex: 0 0 calc(25% - 15px); /* 4カラム時の幅 */
  box-sizing: border-box;
}

/* ★ サイドバー非表示1024px以下用 */
@media screen and (min-width: 1024px) {

  /*ウィジェットの非表示*/
  .common-list-sidebar, .widget-below-related-entries{
    display: none !important;
  }

  /* 3列レイアウト */
  .list-columns.fpt-3-columns{
    gap:24px;
  }


}

/* ★ サイドバー非表示1024px以下用 */
@media screen and (max-width: 1024px) {

  /* TOPへ戻るボタン */
  .go-to-top{
    bottom: 70px;
    right:20px;
  }

  .go-to-top-visible .go-to-top{
    visibility: visible;
    opacity: 1;
  }

  /* 投稿関連記事PCなどは非表示 */
  .custom-sidebar{
    display: block;
  }

}

/* ★ 834px以下用のカラム落ち対策 */
@media screen and (max-width: 834px) {

  .main{
    margin:0 !important;
  }

  .list-columns.fpt-4-columns {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
  }

  .list-columns.fpt-4-columns .list-column{
    flex: 0 0 calc(50% - 8px);
    box-sizing: border-box;
  }

  .list-columns{
    flex-direction: row !important;
  }

    .list-columns .a{
    flex-direction: column !important;
  }

  .list-columns.fpt-4-columns{
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
  }

  .list-columns.fpt-4-columns .list-column{
    flex: 0 0 calc(50% - 8px); /* gap:16px の半分ずつ引く */
    box-sizing: border-box;
  }

  .ect-vertical-card .list-interview{
  width:100%;
  }

  /* 店舗一覧を2カラムに変更 */
  .parlor-grid, .genre-list-grid, .area-grid{
    grid-template-columns: repeat(2, 1fr);
  }

  .list-schedule .fpt-2-columns{
    width:100%;
  }

  .list-schedule .list-columns .list-column{
  width:calc(50% - 12px);;
  }

}

/* スマホ（max-width:767px）で表示 */
@media screen and (max-width: 767px) {


/* ジャンルカルーセル調整ここから */
.pickup-carousel .pickup-item {
  padding: 0 4px;     /* 左右に8px余白 */
  box-sizing: border-box;
}
/* ジャンルカルーセル調整ここまで */

  .carousel{
    padding:0 8px 12px 8px;
  }

  .carousel-content .a-wrap{
    margin:0px;
  }

  .carousel-entry-card-title{
    margin:0 !important;
    height:3em !important;
  }

  .carousel-content .slick-track{
    padding:6px 0 0 0;
  }

  .custom-sidebar {
    display: block;
    margin-top: 40px;
    padding: 16px;
    background-color: #f9f9f9;
    border-top: 1px solid #ddd;
  }

  /* 3カラムを1カラムに変更 */
  .list-columns.fpt-3-columns {
    grid-template-columns: 1fr;
    gap:0;
  }

/* カテゴリロゴ */
  .content-top {
    padding: 0px 8px 0px 8px;
  }

/* メイン */

.content{
  padding:0 8px;
}

 .main{
   margin:0 !important;
   padding:8px 0 !important;
 }

.pickup-item {
  width: 48.5%;
  margin-bottom: 16px;
}


.list-title{
  margin:16px 0 8px 0;
}

.list-title-in{
  font-size: 1.4rem;
}

.list-title-in-en{
  font-size:0.76rem;
}

.list{
  row-gap: 0;
}

.ect-3-columns{
  /*column-gap:0%;*/
  /*padding-left:6px;*/
}

.ect-3-columns .entry-card-wrap{
  width:48.8%;
  padding: 0px;
}


.entry-card, .custom-schedule-entry-card, .related-entry-card, .area-item, .genre-list-item, .parlor-item, .area-item{
  border-radius: 8px;
}


.entry-card-content{
  padding:4px !important;
}


.entry-card-title{
  font-size:0.74rem !important;
  line-height: 1.28;
}

/* TOP最新取材結果flex調整 */
.ect-vertical-card{
   /*justify-content: center;*/
   gap:8px !important;
   padding: 0 8px 8px 8px;
}

.a-wrap{
  padding:0;
}

.list-more-button{
  padding:6px 32px;
  font-size:0.74rem;
  border-radius: 8px;
}

.list-more-button i{
  right:6px;
}

#list, .list-wrap{
  margin-bottom: 1em;
}

.list-schedule .list-columns{
   justify-content: center;
   gap:8px !important;
}

.list-schedule .custom-schedule-entry-card{
  height:auto;
  padding: 0 0 4px 0;
}

.list-schedule .list-title-in{
  padding:0;
}

.list-schedule .list-title{
  margin-bottom: 4px !important;
}

.list-schedule .fpt-2-columns .list-title-in{
  font-size:1.14rem;
}

.list-schedule .custom-title{
  font-size: 0.74rem;
  margin:0;
  padding:4px;
}

.list-schedule .post-date{
  padding:0;
  margin:0 4px;
}

.list-schedule .list-more-button-wrap{
  margin:4px 0 0 0;
}


.list-interview-columns .fpt-3-columns .list-title-in{
  font-size:1.14rem;
}

.list-interview-columns .ect-vertical-card .list-interview{
  width:48.8%;
}

.list-interview-columns .ect-vertical-card{
  margin-bottom: 6px;
  padding:0;
}

.list-interview-columns .list-more-button{
  padding:6px 32px;
}


.list-columns.fpt-4-columns{
  justify-content:center;
  gap:8px;
}

.list-columns.fpt-4-columns .list-column{
  flex: 0 0 calc(50% - 4px); 
}

.genre-list-wrap .list-more-button-wrap{
  margin-top:8px !important;
}

.popular-entry-card{
  margin:0;
}

.ranking .popular-entry-cards{
  margin:-8px 0 0 0;
}

.custom-sidebar .popular-entry-cards, .common-list-sidebar .popular-entry-cards{
  margin:-16px 0 0 0;
}

.common-list-sidebar{
  margin: 0 8px;
}

.footer-bottom-content{
  padding:0 8px;
}


.article{
  margin:0 8px;
}

.entry-title, .article h2{
  padding:16px 4px;
}

.under-entry-content{
  margin:0 8px;
}


.related-entry-heading, .comment-title{
  font-size:20px;
}

.archive-title{
  font-size:1.4rem;
  padding-left:8px;
}

.category-content .entry-content{
  margin-bottom:8px;
}

.pagination-next{
  margin-top:0;
}

.pagination-next a{
  padding:6px 20px;
  font-size: 0.74rem;
}

.pagination-next i{
  top:32%;
  right:6px;
}

.pagination{
  margin:8px 0 24px 0;
}

.page-numbers{
  width:32px;
  height:32px;
  line-height: 32px;
  font-size:0.76rem;
}

.ranking .popular-entry-cards{
  margin-left:0;
}

.ranking .popular-entry-card-title{
  font-size:0.8rem;
  font-weight: bold;
}


.custom-sidebar{
  padding:0;
  margin: 0 8px;
}


.parlor-name, .area-name, .genre-name{
  font-size: 0.74rem;
}


.parlor-grid,.area-grid, .genre-list-grid{
  gap:8px;
}

/* アクセスランキング */
.popular-entry-cards{
  margin:0px;
}

.ranking .entry-content{
  margin: 0;
}


}

/* 2カラム構成 */
@media screen and (min-width: 768px) {
  .list.ect-vertical-card.no-excerpt {
    display: flex;
    flex-direction: column !important;
    gap: 16px; /* アイテム間の余白 */
  }
  
  /* 子要素を横幅いっぱいに */
  .list.ect-vertical-card.no-excerpt .entry-card-wrap {
    width: 100%;
  }

}

/* スマホサイズの取材2カラム調整 */
@media screen and (max-width: 480px) {
    .ect-vertical-card .list-interview{
  width:49%;
  }
}


