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

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

/*ヘッダー*/
.header-container-in.hlt-top-menu {
  flex-direction: inherit;
  min-height: 70px;
  padding: 10px 0 10px 20px;
}
.header-container-in.hlt-top-menu .site-name-text {
  font-weight: 900;
  font-size: 16px;
}
a.site-name.site-name-text-link:link, a.site-name.site-name-text-link:hover, a.site-name.site-name-text-link:active, a.site-name.site-name-text-link:visited {
  padding: 0;
  text-decoration: none;
}

body.wp-singular .main-before-image {
  display:none;
}

/*サイト全体*/
.wrap {
  width: 100%;
  max-width: 1200px;
  flex-wrap: nowrap;
}

.content {
  margin-top: 0;
}

.main {
  width: 100%;
  padding: 0;
  border: none;
  border-radius: var(--cocoon-basic-border-radius);
  position: relative;
  z-index: 0;
}

.content-in {
  padding: 0 20px;
}


body.home div#content.cf, body.archive.tag div#content.cf, body.error404 div#content.cf {
  margin-top: 25px!important;
}
body.home.tag-searched div#content.cf{
  margin-top: 0px!important;
}





.sidebar {
  flex-shrink: 0;
  width: 330px!important;
  margin-left: 30px!important;
  border: none;
  padding: 0px;
  border-radius: var(--cocoon-basic-border-radius);
  background-color: var(--cocoon-white-color);
}

a:link{color:#0277C6; text-decoration: underline;}
a:visited{color:#002944; text-decoration: underline;}
a:hover{color:#0296f8; text-decoration: underline;}
a:active{color:#0296f8; text-decoration: underline;}

/*トップページ*/
/*メイン画像*/
img.topimagePC{display: inline-block;}
img.topimageSP{display: none;}


.index-new-posts-title {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
}
.index-new-posts-title-left {
  display: flex;
  flex-direction: row;
}
body.home h5, body.wp-singular h5 {
  font-size: 24px;
  font-weight: 800;
  margin: 0 20px 0 0;
  position: relative;
  top: -3px;
}
i.fa.fa-film {
  position: relative;
  top: 7px;
  margin: 0 10px 0 0;
  font-size: 19px;
}
.index-post-title-lastmodified {
  position: relative;
  top: 3px;
}
i.fa.fa-caret-right {
  margin: 0 0 0 5px;
}

body.archive.tag .index-new-posts-title{
  display: none;
}




/*全国の公式観光サイト*/
.kanko-link-page{
  display: block;
  margin: 0 0 0 auto;
  border:0px red solid;
  text-align: right;
}
.kanko-link{
  background-image: url(https://fmv-mypage.fmworld.net/tabi-note/wp-content/uploads/2025/09/bg_japanmap.png);
  background-repeat: no-repeat;
  background-position: center;
  background-color: #F1FAE5;
  border-radius: 10px;
}
.region-selector {
  padding: 10px;
}

.region-group {
  display: flex;
  align-items: flex-start;
  margin-bottom: 11px;
  gap: 10px;
}

.region-label {
  background: #2e7d32;
  color: white;
  padding: 3px 16px;
  border-radius: 6px;
  font-weight: bold;
  font-size: 14px;
  min-width: 124px;
  text-align: center;
  white-space: nowrap;
  flex-shrink: 0;
}

.prefecture-list {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  flex: 1;
}

.prefecture {
  background: white;
  border: 2px solid #818181;
  color: #333;
  padding: 3px 14px;
  border-radius: 20px;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
  min-width: 71px;
  text-align: center;
}

.prefecture:hover {
  background: #f5f5f5;
  border-color: #2e7d32;
  transform: translateY(-1px);
}

.prefecture.selected {
  background: #2e7d32;
  color: white;
  border-color: #2e7d32;
}
a.map-link:visited, a.map-link:link {
  color: white;
  text-decoration: none;
}
a.map-link2:visited, a.map-link2:link {
  color:#333;
  text-decoration: none;
}


/* レスポンシブ対応 */
@media (max-width: 768px) {
  .region-group {
    flex-direction: column;
    gap: 10px;
  }

  .region-label {
    min-width: auto;
    align-self: flex-start;
    width: 100%;
  }

  .prefecture {
    font-size: 13px;
    padding: 5px 12px;
  }
}

/* サイドバー */

/* タグ検索 */
/* 指定ブロックの“タブ見出し”を非表示に */
#tg-c-4 .tag-groups-tabs,
#tg-c-3 .tag-groups-tabs,
#tg-c-2 .tag-groups-tabs,
#tg-c-1 .tag-groups-tabs { display: none; }

/* 余白など微調整（任意） */
.tag-groups-cloud { margin-top: .5rem; }
.tag-groups-cloud a {
  display: inline-block; padding: .35em .6em; border: 1px solid #ddd;
  border-radius: 6px; text-decoration: none; line-height: 1.6;
  margin: 4px 6px 0 0; font-size: 90%;
}
aside#tag_group_search_widget-2, aside#popular_entries-2  {
  border: 1px solid #D0D2D1;
  padding: 0 0px;
  border-radius: 14px;
}

h3.widget-sidebar-title.widget-title {
  padding: 6px 13px;
  margin: 0 0;
  border-radius: 10px 10px 0px 0;
}
form#tag-group-search, .popular-entry-cards.widget-entry-cards.no-icon.cf {
  padding: 14px 10px;
}



/*タグcheckbox > CSS調整 */
.tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 5px;
  margin-left: 0 !important;
}

.tag-list label {
  display: inline-block;
  background: #ffffff;
  border: 1px solid #6b6b6b;
  border-radius: 7px;
  padding: 2px 14px;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  font-size: 14px;
  font-weight: 600;
  color: #495057;
  margin: 0;
  position: relative;
  user-select: none;
}


.tag-list label:hover {
  background: #e9ecef !important;
  border-color: #adb5bd;
  transform: translateY(-1px);
}

.tag-list input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  transform: none; /* 既存のtransformを削除 */
  margin: 0; /* 既存のmargin-rightを削除 */
}

.tag-list input[type="checkbox"]:checked + span {
  /*background: #007cba;
  border-color: #007cba;
  color: white;*/
}

/* ラベルの構造を調整するため、spanでラップ */
.tag-list label span {
  display: block;
}

.tag-list input[type="checkbox"]:checked ~ span {
  /*background: #007cba;
  border-color: #007cba;
  color: white;*/
}

#tag-group-search .button:hover {
  background: #005a87 !important;
}
#tag-group-search #clear-tags:hover {
  background: #bbb !important;
}

/*タグアニメーション*/


.tag-list label:hover {
  background: linear-gradient(135deg, #e9ecef 0%, #dee2e6 100%);
  border-color: #007cba;
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}

.tag-list input[type="checkbox"]:checked + span {
 /*background: linear-gradient(135deg, #007cba 0%, #0056b3 100%);
  border-color: #0056b3;
  color: white;
  box-shadow: 0 4px 12px rgba(0, 124, 186, 0.3);*/
}

/* 新しいスタイル - labelの背景を変更 */
.tag-list label:has(input[type="checkbox"]:checked) {
  background: #000000 !important;
  border-color: #757575;
  color: white;
  box-shadow: 0 4px 12px rgb(161 161 161 / 30%);
}

.tag-list label:has(input[type="checkbox"]:checked) span,
.tag-list label:has(input[type="checkbox"]:checked) small {
  color: white;
}

/* filter box */
#tg_filter_box_toggle_menu {
    width: 290px;
    max-width: none;
  }
form#tag-group-search input[type=submit]{
  padding: 11px;
  width: 69%;
  margin: 0;
  cursor: pointer;
}
.posts-not-found {
  margin: 0 0 30px 0;
}

/*content*/
body.wp-singular .entry-categories-tags.ctdt-one-row, body.wp-singular .date-tags, body.wp-singular header.article-header.entry-header, body.wp-singular .tag-groups-premium-post-tags-div, body.wp-singular .author-info  {
  display:none;
}
body.wp-singular .article h2{
  background-color: unset;
  color: #000;
  padding: 0;
  margin: 15px 0;
}
.wp-block-cocoon-blocks-blank-box-1.blank-box.block-box.box_desc {
  background-color: #F2F2F2;
  border: 0px solid black;
  border-radius: 10px;
}
.wp-block-cocoon-blocks-blank-box-1.blank-box.block-box.box_author {
  border-radius: 10px;
}


.go-to-top-button {
  border-width: 0;
  background-color: #666666;
  color: #fff;
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 56px;
  height: 56px;
  FONT-WEIGHT: 500;
  text-align: center;
  line-height: 1;
  border-radius: 5px;
  font-size: 22px;
}
.fa-angle-double-up:before {
  content: "\f077";
}
.taxonomy-post_tag.wp-block-post-terms a {
  border: 1px solid #ccc;
}


.tag-group h4 {
  border-bottom: 2px solid #0073aa;
  padding-bottom: 5px;
}

div.ytmore__content > p:first-of-type {
  border: 0px solid red;
  margin: 0 0;
  padding: 0 0;
}




/* 既存のcheckbox関連スタイルを削除し、以下に置き換え */
.tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 5px;
  margin-left: 0 !important; /* 既存のmargin-leftを上書き */
}


/*タグ*/
.taxonomy-post_tag.wp-block-post-terms {
  margin: 0 0;
}
span.entry-tag-item {
  border: 1px #BCBCBC solid;
  border-radius: 6px;
  padding: 2px 10px;
  min-width: 103px;
  display: block;
  text-align: center;
  margin: 0px 5px 2px 0;
}
.entry-card-tags.card-tags.e-card-tags {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
}

.entry-tag-item {
  display: inline-block;
  border-radius: 12px;
  padding: 4px 10px;
  margin: 2px 4px 2px 0;
  font-size: 12px;
  text-decoration: none;
  transition: all 0.2s ease;
  border: 1px solid;
}

/* デフォルト（グレー） */
.entry-tag-item.tag-default {
  background: #f8f9fa;
  border-color: #BCBCBC;
  color: #000000;
}

/* お役立ち系（青系） */
.entry-tag-item.tag-useful, .tag-useful {
  background: #E1EFFA;
  border-color: #BCBCBC;
  color: #000000;
}

/* テーマ系（オレンジ系） */
.entry-tag-item.tag-theme, .tag-theme {
  background: #F9E8E1;
  border-color: #BCBCBC;
  color: #000000;
}

/*地域系（緑系） */
.entry-tag-item.tag-area, .tag-area {
  background: #F0FAE2;
  border-color: #BCBCBC;
  color: #000000;
}

/* ホバー効果 */
.entry-tag-item:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}


/*タグの色分け*/
.taxonomy-post_tag.wp-block-post-terms {
  display: flex;
  flex-wrap: wrap;
}

.taxonomy-post_tag a.tag-theme, .taxonomy-post_tag a.tag-area, .taxonomy-post_tag a.tag-useful{
  color: #000000; /* 文字色を白に調整 */
  border-radius: 6px;
  padding: 2px 10px;
  min-width: 103px;
  display: block;
  text-align: center;
  margin: 0px 5px 2px 0;
  font-size: 12px;
}


span.wp-block-post-terms__separator {
  display: none;
}

/*breadcrumb*/

body.page-id-107 #breadcrumb{
  display: none;
}


/* Uncategorizedを含むBreadcrumb項目を非表示 */
.breadcrumb a[href*="uncategorized"],
.breadcrumb span:contains("Uncategorized"),
.breadcrumb-item:contains("Uncategorized") {
  display: none;
}

/* 前後の区切り文字も調整 */
.breadcrumb a[href*="uncategorized"] + .separator,
.breadcrumb a[href*="uncategorized"]::after {
  display: none;
}


/*youtube size*/
.video-container{
  max-width: 840px;
  margin: 30px 0;
}
.youtube iframe {
  position: relative;
  aspect-ratio:9 /16; /* ビデオの横/縦比 */
}
.youtube .video {
  height: 100%;
  margin: 0 auto;
  overflow: visible;
  padding-bottom: 0;
  width: 300px;  /* ビデオ横幅 */
}


/*検索*/
input[type="text"], textarea {
  appearance: none;
  border-radius: 50px;
}
button span.fa.fa-search {
  position: relative;
  top: -4px;
  padding: 0px 13px;
}
.pagination .current {
    background-color: rgba(0, 0, 0, 1);
    border-color: rgba(0, 0, 0, .5);
        color: #ffffff;
}
.pagination-next-link{
    border-color: var(--cocoon-three-d-border-colors);
    border-width: 0px;
    border-style: solid;
    border-radius: 40px;
}
.page-numbers {
    border-color: #252934;
    border-width: 1px;
    border-style: solid;
    border-radius: 8px;
}







/*投稿一覧*/
span.cat-label.cat-label-1 {
  display: none;
}

body.search .index-new-posts-title, body.tag-searched .main-before-image, body.tag-searched .index-new-posts-title, body.search .main-before-image, body.tag-searched h1#archive-title{
  display:none;
}
body.tag-searched div#content-in form.search-box.input-box, body.search div#content-in form.search-box.input-box {
    display:none;
}
.entry-card-meta.card-meta.e-card-meta {
  display:none;
}
div#search-menu-content form.search-box.input-box{
        display:unset;
}

.entry-card-wrap {
  border: 1px solid #e0e0e0!important;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

/*タグ検索*/
main h3 {
  font-size: 23px;
  font-weight: 700;
  margin: 0 0 5px 0;
}
.selected-tags-info{
  background: #f9f9f9; padding: 15px; margin-bottom: 20px; border-left: 0px solid #0073aa;
  border-radius: 10px;
  font-size: 16px;
}
span.tag-name-select {
  background-color: #000;
  color: #ffffff;
  display: inline-block;
  border-radius: 5px;
  padding: 0 10px;
  min-width: 90px;
  text-align: center;
  margin: 2px 0px;
}
form.additional-search-form {
    margin: 10px 0 0 0;
}


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

/*1615px以下*/
@media screen and (max-width: 1615px) {
  .main, .sidebar, .sidebar-left .main, .sidebar-left .sidebar {
    margin: 0%;
  }
}

/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
  .wrap {
    width: auto;
  }
  .main {
    width: auto!important;
    padding: 0;
    border: none;
    border-radius: var(--cocoon-basic-border-radius);
    position: relative;
    z-index: 0;
  }
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
  #header .site-name-text {
    font-size: 16px;
  }
  .wrap {
    width: auto;
  }
  main.main {
    padding: 0px 0px!important;
    /*margin-top: 34px;*/
    border-width: 0;
  }
  div.sidebar {
    padding: 0px 10px!important;
    border-width: 0;
    margin-left: 0px!important;
  }

  /*メイン画像*/
  img.topimagePC{display: none;}
  img.topimageSP{display: inline-block;}
}

/* タブレット用（768px以下） */
@media (max-width: 768px) {
  .header-container-in.hlt-top-menu {
    flex-direction: column;
    min-height: auto;
    padding: 0;
  }
  .header div.header-in {
    align-items: center;
    padding: 15px 0;
  }

  .content-in {
    padding: 0 10px;
  }

  main.main {
    margin-top: 0;
  }

  .menu-close-button {
    display: block;
    cursor: pointer;
    text-align: right;
    font-size: 2em;
    margin: 0 10px 0 0;
  }
  #slide-in-sidebar {
    display: block;
    margin: 0;
    padding-top: 0;
    width: 100%!important;
  }
  a.site-name.site-name-text-link {
    padding: 0 0 0 10px;
  }

  .index-new-posts-title {
    padding: 12px 15px;
    gap: 15px;
  }

  .index-new-posts-title-left {
    flex-wrap: wrap;
    gap: 8px;
  }

  .index-new-posts-title-left h5 {
    font-size: 16px;
  }

  .index-post-title-lastmodified {
    font-size: 11px;
    padding: 3px 6px;
  }

  .index-new-posts-title-right {
    margin-left: auto;
  }

}


/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
  #slide-in-sidebar {
    display: block;
    margin: 0;
    padding-top: 0;
    width: 100%!important;
  }

  div#sidebar-menu-content {
    padding-top: 36px;
  }
  .wrap {
    width: auto;
  }
  .menu-content {
    max-width: 100%;
  }

  .menu-close-button {
    display: block;
    cursor: pointer;
    text-align: right;
    font-size: 2em;
    margin: 0 10px 0 0;
  }
  form#tag-group-search input[type=submit] {
    padding: 11px;
    width: 65%;
    margin: 0;
    cursor: pointer;
  }
  .wp-block-media-text>.wp-block-media-text__content {
    direction: ltr;
    grid-column: 2;
    grid-row: 1;
    padding: 0 0!important;
    word-break: break-word;
  }

  .index-new-posts-title {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    padding: 10px 0px;
    gap: 12px;
  }

  .article ul, .article ol {
    padding-left: 0px;
  }
  .entry-card, .related-entry-card, .e-card-title {
    line-height: 1.3;
    display: flex;
    flex-direction: column;
  }
  .ect-entry-card .a-wrap:not(.ec-big-card-first) .card-thumb, .rect-entry-card .a-wrap:not(.ec-big-card-first) .card-thumb, .ect-big-card-first .a-wrap:not(.ec-big-card-first) .card-thumb {
    margin-bottom: 10px;
    width: auto;
  }
  span.entry-tag-item {
    border: 1px #BCBCBC solid;
    border-radius: 6px;
    padding: 2px 10px;
    min-width: 90px;
    display: block;
    text-align: center;
    margin: 0px 5px 2px 0;
  }

  .index-new-posts-title-right a  {
    font-size: 12px;
  }
  body.home h5 {
    font-size: 20px;
    font-weight: 800;
    margin: 0 -6px 0 0;
    position: relative;
    top: -3px;
  }
}
