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

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



.broken_link, a.broken_link {
    text-decoration: underline !important;
}
.article h4 {
    border-top: none;
    border-bottom: none;
    margin-bottom: 10px !important;
    padding: 9px 0px;
}
.blogcard{
    box-shadow: 3px 3px 10px 0px rgba(0, 0, 0, 0.2);
    border: none;
}
.blogcard-snippet {
    font-size:0.9em;
}
.internal-blogcard-post-date{
    font-size: 0.9em;
    color: #767676;
}
.article h5 {
    border-top: none;
    border-bottom: none;
    width: 125px;
    margin: 60px 5% 5px;!important;
    font-size: 13px;
    font-weight: bold;
    background: #008f9c;
    color: #fff;
    border-radius: 30px;
}
.toc-content, .article ol li {
    list-style: none;
}
.ect-3-columns {
    column-gap: 2%;
}
.ect-3-columns .entry-card-wrap {
    width: 32%;
}
.eye-catch {
    margin: 20px auto;
}
.related-list .e-card-info{margin: 0em 0.4em 0.4em;}
.rect-vertical-card .related-entry-card-meta {
    margin-top: auto;
    padding-top: 0px;
    position: unset;
}
/*ページネーション*/
.pagination-next{display: none;}
.page-numbers{
    border-radius: 23px!important;
    border: 1px solid #ccc;
}
.pagination .current{background: #000; color: #fff;}

.category #archive-title .fas{display: none;}
.category #archive-title{
    margin: 0px 0 30px 0;
    background-image: linear-gradient(90deg, #000 0 20%, #CCC 20%);
    background-repeat: no-repeat;
    background-size: 100% 5%;
    background-position: bottom;
    padding: 0px 0px 12px;
}
/*問い合わせ*/
.wpcf7-not-valid-tip{font-size: 12px; font-weight: bold; color: #fe0000;}
.page-id-45 input[type=text]{
    border: 1px solid var(--cocoon-basic-border-color)!important;
    border-radius: 0px!important;
}
.page-id-45 .separate{
    font-size: 16px;
    font-weight: bold;
    color: #717171;
}
.page-id-45 .separate p{
    margin-bottom: 5px;
}
.required{color:#ffc000}
.page-id-45 form{width: 50%; margin: 0 auto;}
.wpcf7-list-item:first-child{
    margin: 0 0 0 0em;
}
.wpcf7-list-item:hover{
    text-decoration: underline;
}
.page-id-45 input[type=submit] {
    -webkit-appearance: none;
    border: 0px solid var(--cocoon-thin-color);
    background-color: #231816;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
}
.page-id-45 input[type=submit]:hover {
    opacity: 0.7;
}
.entry-categories-tags .tax-icon {
    display: none;
}
.rect-vertical-card .related-entry-card-thumb img {
    border-radius: 10px 10px 0px 0px;
}
.cat-link {
    text-decoration: none;
    display: inline-block;
    margin-right: 5px;
    padding: 2px 12px;
    font-size: 12px;
    background-color:;
    word-break: break-all;
    border-radius: 20px;
    color: #fff;
}
.recb-entry-border .related-entry-card-wrap{
    border:none;
}
.related-entry-card-title{
    font-size: 18px;
    margin: 0.4em 0.4em 0.4em 0.4em;
    line-height: 1.4;
    -webkit-line-clamp: 3;
}
.related-entry-card-snippet{
    margin: 0 0.4em 0.4em 0.4em;
    -webkit-line-clamp: 3;
    opacity: 0.6;
    display: none;
}
.e-card-info {
    margin: 0em 0em 0.4em;
    opacity: 1;
}

.rect-vertical-card .related-entry-card {
    border-radius: 10px;
    box-shadow: 3px 3px 10px 0px rgba(0, 0, 0, 0.2);
}
.toc {
    border:none;
}
.toc-center{
    background: linear-gradient(-45deg, transparent 25%, #f7f7f7 25%, #f7f7f7 50%, transparent 50%, transparent 75%, #f7f7f7 75%, #f7f7f7);
    background-clip: padding-box;
    background-size: 4px 4px;
}
.article h2{
    color: #fff;
    background-color: #000;
    font-size: 28px;
}
.article h3 {
    background-image: linear-gradient(90deg, #000 0 20%, #CCC 20%);
    background-repeat: no-repeat;
    background-size: 100% 5%;
    background-position: bottom;
    border-left: none;
    border-right: none;
    border-top: none;
    border-bottom: none;
    padding: 12px 0px;
}
.copyright {
    font-size: 13px;
    color: #B2B2B2;
}
/* --- テーブル --- */
.body div.scrollable-table table, .body .wp-block-table table {
    width: 100%;
}
table tr {
    background-color: #f7f7f7;
}
table tr:nth-of-type(2n+1) {
    background-color: #f7f7f7;
}

/* --- スクロール --- */
.fa-angle-double-up:before {
    content: "\f077";
}
.fa-angle-double-up{
    border: #CECECE solid 1px;
    box-shadow: 3px 3px 10px 0px rgba(0, 0, 0, 0.2);
    width: 52px;
    height: 52px;
    border-radius: 26px;
    padding-top: 15px;
}
.go-to-top-button {
    border-width: 0;
    background-color: #eee;
    color: #333;
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 52px;
    height: 52px;
    cursor: pointer;
    text-align: center;
    line-height: 1;
    font-size: 22px;
    border-radius: 26px;
}
.go-to-top-button:hover {
    opacity: 0.7;
}
.go-to-top {
    z-index: 1;
}

/* --- パンくず --- */
.fa-home, .fa-file{display: none;}
#breadcrumb {
    background-color: #F7F7F7;
    width: 100%;
    box-shadow: 0 5px 5px -5px rgba(0,0,0,0.3) inset, 0 -5px 5px -5px rgba(0,0,0,0.3) inset;
}
.breadcrumb div {
    display: flex;
}
.breadcrumb-width {
    width: 1354px;
    margin: 0 auto;
    padding-left: 10px;
}
.breadcrumb {
    margin: 0 auto;
    width: 1354px;
}
.breadcrumb.sbp-main-before, .breadcrumb.sbp-footer-before, .breadcrumb.pbp-main-before, .breadcrumb.pbp-footer-before {
    margin: 0px auto 0;
}
.breadcrumb .icon {
    display: none;
}
.breadcrumb-caption {
    margin: 0 0px;
    color: #252525;
}
.breadcrumb-caption:hover {
    color: #000;
    text-decoration: underline;
}
.breadcrumb .sp {
    margin: 0 5px;
}
#post-45 .read-time, .sns-follow, .date-tags{display: none;}
#post-43 .read-time, .sns-follow, .date-tags{display: none;}
#post-3 .read-time, .sns-follow, .date-tags{display: none;}

/* --- サイドバーサムネイル --- */
.widget-entry-cards:not(.large-thumb-on) .card-title {
    -webkit-line-clamp: 3;
}
.card-arrow .card-content {
    margin-right: 12px;
    font-size: 16px;
}
.card-arrow .a-wrap::after {
    right: 0px;
    color: #ccc;
}
.sidebar .card-thumb img {
    border-radius: 10px;
    box-shadow: 3px 3px 10px 0px rgba(0, 0, 0, 0.2);
}
/* --- サイドバー見出し --- */
.border-partition .a-wrap:first-of-type {
    border-top: none;
}
.border-partition .a-wrap  {
    border-bottom: 1px solid var(--cocoon-x-thin-color);
}
.sidebar h3 {
    background-color: #fff;
    padding: 5px;
    margin: 5px 0;
    font-size: 18px;
    background-image: linear-gradient(
      90deg, 
      #000 0 42%, 
      #CCC 42%
    );
    background-repeat: no-repeat;
    background-size: 100% 7%;
    background-position: bottom;
}
/* --- 検索 --- */
.search-no-results .search-close{display: none;}
.search-results .search-close{display: none;}
.body input[type=text]{
    border: 2px solid var(--cocoon-basic-border-color);
    border-radius: 40px;
}
.sidebar .search-close{display: none;}
.search-box {
    margin: 1em 0 1em;
}
.sidebar-scroll {
    top: 40px;
}
/* --- SNSボタン --- */
.widget_sns_follow_buttons h3{
    background: none;
    text-indent: -9999px;
    height: 2px;
    margin: 0;
    padding: 5px;
}
.sidebar .sns-follow-buttons .icon-corp{
    border: none;
}
.icon-corp{
    background: url(http://sosoweb.jp/wp-content/uploads/2025/06/u2k_logo.png) top left no-repeat;
    width: 100px!important;
    height:  50px!important;
    background-size: 100px 50px!important;
}
.icon-corp-logo{
    background: url(http://sosoweb.jp/wp-content/uploads/2025/06/u2k_logo.png) top left no-repeat;
    width: 100px!important;
    height:  50px!important;
    background-size: 100px 50px!important;
}
.sidebar .sns-follow-buttons a {
  width: 50px; /*ボタンの幅*/
  height: 50px;
}
.sidebar .sns-follow {
  margin: 0 0 24px 0;
}
.sidebar .sns-follow-buttons a {
  background: none !important;
  border: 2px solid #444d53;
  color: #444d53;
  border-radius: 50px;
}
.sidebar .twitter-button:hover {
  background-color: #000 !important;
  color: #fff;
  border-color: #000;
}
.sidebar .feedly-button:hover {
  background-color: #2bb24c !important;
  color: #fff;
  border-color: #2bb24c;
}
.sidebar .rss-button:hover {
  background-color: #f26522 !important;
  color: #fff;
  border-color: #f26522;
}
.sidebar .facebook-button:hover {
  background-color: #3b5998 !important;
  color: #fff;
  border-color: #3b5998;
}
.sidebar .instagram-button:hover {
  background-color: #ca15f7 !important;
  color: #fff;
  border-color: #ca15f7 ;
}

/* --- MetaSlider ID:26 専用カルーセル表示スタイル --- */

/*
 *【最重要】スライダーの表示領域の「overflow: hidden」を強制的に無効化します。
 * これにより、コンテナからはみ出した左右の画像が見えるようになります。
 */
#metaslider_container_26,
#metaslider_26 .flex-viewport {
}

/*
 * スライダー全体のコンテナを少し狭めて、左右に余白を作ります。
 * この max-width の値を調整すると、左右の画像の見える部分が変わります。
 */
/*
.content-top .content-top-in {
    width: 100%;
}
*/
#metaslider_26.flexslider {
    max-width: 100%!important; /* 例：サイトの幅の80%に */
    margin: 0 auto;
}
/*
 * すべてのスライドの基本スタイル（中央以外）
 */
#metaslider_26 .slides  {
    height: 400px;
}
#metaslider_26.flexslider .slides li {
    box-shadow: 3px 3px 10px 0px rgba(0, 0, 0, 0.2);
    height: 95%;
}
.metaslider .flex-viewport {
}
.metaslider .flexslider .flex-direction-nav li a {
}
.flex-control-paging li a {
    width: 8px!important;
    height: 8px!important;
}
/* パンくずリストの2番目の項目を非表示にする */
.breadcrumb-item:nth-of-type(2) {
  display: none;
}

/* パンくずリストの2番目の項目を非表示にする */
.page .breadcrumb-item:nth-of-type(2) {
  display:contents;
}

/* 3番目の項目の前にある区切り文字「>」を非表示にする */
.breadcrumb-item:nth-of-type(3)::before {
  content: none;
}
#metaslider-id-26 .flexslider .flex-direction-nav li a {
    background: rgb(51, 51, 51, 0.7)!important;
}
.metaslider .caption-wrap {
    background: rgba(0,0,0,0.0)!important;
    opacity: 1!important;
    text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
    font-weight: bold;
}
.metaslider .caption{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2; /* 任意の行数を指定 */
    height: auto;
    overflow: hidden;
    padding: 3px 10px!important;
}
/*ヘッダー*/
#header-container{box-shadow: 3px 3px 10px 0px rgba(0, 0, 0, 0.2);}
.header-container-in.hlt-top-menu .navi {
    border: none;
}
.navi {
    background-color: var(--cocoon-white-color);
    border-bottom: 1px solid #ccc;
}
.navi .item-label, .navi .item-description {
    font-size: 14px;
}
.navi-in a{
    position: relative;
    z-index: 0;
}
.navi-in a:hover{
    background: #fff;
}
.navi-in .current-menu-item{
    background: #ff0!important;
    background: linear-gradient(transparent 95%, rgba(0,0,0,0.8)  5%)!important;
}
.navi-in a::before{
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: 0;
    background: #000 ;
    background: linear-gradient(transparent 95%, rgba(0,0,0,0.8)  5%);
    -webkit-transition: .5s;
    -moz-transition: .5s;
    -o-transition: .5s;
    transition: .5s;
}
.navi-in a:hover::before{
    opacity: 1;
}

/*エントリーカード*/
.a-wrap {
    padding: 0%;
}
.ect-3-columns .entry-card-wrap {
    padding: 0px;
}

.blogcard, .ecb-entry-border .entry-card-wrap, .page-numbers, .pagination-next-link, .comment-btn, .index-tab-buttons .index-tab-button, .border-square .a-wrap, .author-box {
    border-radius: 10px;
    overflow: hidden;
}

.entry-card-thumb .entry-card-title {
    width: 100%;
    font-size: 14px;
    position: absolute;
    bottom: 0px;
    line-height: 18px;
    background: rgba(0,0,0,0.65);
    color: #fff;
    padding: 5px 10px 0 10px;
    overflow: hidden;
}
.titl-line-clamp{
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2; /* 任意の行数を指定 */
}
.ect-vertical-card .entry-card-wrap .entry-card-meta {
    margin-top: auto;
    padding-top: 5px;
    position: unset;
    padding-bottom: 5px;
}
.e-card-info {
    justify-content: flex-start;
}
.ect-vertical-card .entry-card-wrap .entry-card-thumb img {
}
.entry-card-thumb, .carousel-entry-card-thumb, .related-entry-card-thumb, .widget-entry-card-thumb, .entry-card-thumb {
    margin-top: 0px;
    margin-bottom: 0em;
}
.entry-card-thumb .entry-card-title {
    margin: 0 0  0;
}
.cat-label {
    position: absolute;
    top: 0.5em;
    left: auto;
    right: 0.5em;
    border: none;
    font-size: 11px;
    background-color: rgba(0, 0, 0, 0.65);
    padding: 1px 5px;
    max-width: 70%;
    color: #fff!important;
    border-radius: 10px;
}
.ecb-entry-border .entry-card-wrap{
    box-shadow: 3px 3px 10px 0px rgba(0, 0, 0, 0.2);
    border: none;
}
.ecb-entry-border .entry-card-wrap:hover{
    opacity: 0.7;
}
.entry-card-meta {opacity: 0.6;}
.entry-card-thumb, .entry-date{font-size: 12px;}
.entry-card-content .entry-card-title {display: none;}
.entry-card-content .entry-card-meta {display: none;}

.content-bottom {
   display: none;
}
/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
.slide-menu {
    background-color: #fff;
    padding: 5px;
    margin: 10px 15px;
    font-size: 18px;
    background-image: linear-gradient(90deg, #000 0 42%, #CCC 42%);
    background-repeat: no-repeat;
    background-size: 100% 7%;
    background-position: bottom;
    font-weight: bold;
}
.menu-close-button {
    text-align: left;
    padding: 0 0 0 10px;
}
.menu-drawer li {
    border-bottom: 1px solid #ccc;
    font-size: 16px;
}
.menu-drawer a {
    padding: 10px 5px;
}
.menu-content .menu-drawer {
    padding: 0 20px 50px 20px;
    font-size: 18px;
}
.mobile-menu-buttons .menu-caption{
    display: none;
}
.mobile-menu-buttons .menu-icon {
    font-size: 30px;
}
.mobile-header-menu-buttons {
    top: 8px;
}
#breadcrumb{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2; /* 任意の行数を指定 */
    overflow: hidden;
}
.breadcrumb.sbp-main-before, .breadcrumb.sbp-footer-before, .breadcrumb.pbp-main-before, .breadcrumb.pbp-footer-before {
    padding: 0.4em 1em;
    }
.breadcrumb div {
    display: contents;
}
.breadcrumb-width {
    width: 100%;
}
.mobile-menu-buttons {
    box-shadow: 0 0 0px #fff;
}
.mobile-header-menu-buttons{}
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
.blogcard-content {
    max-height: 180px;
}
.article h5 {
    border-top: none;
    border-bottom: none;
    width: 125px;
    margin: 60px 0 5px;!important;
}
.blogcard-title {
    font-size: 1.2em;
    padding-bottom: 5px;
}
.blogcard-snippet {
    font-size: 0.9em;
    line-height: 1.4em;
}
.internal-blogcard-post-date{
    font-size: 1em;
    color: #767676;
}
.ect-3-columns .entry-card-wrap {
    width: 49%;
}
.page-id-45 form{width: 100%; margin: 0 auto;}
table th, table td {
     font-size: 14px;
}
.scrollable-table td {
    white-space: normal;
    /* width: 100%; */
}
.search-menu-content, .share-menu-content, .follow-menu-content {
    top: 60%;
    -webkit-transform: translateY(1000%);
    transform: translateY(1000%);
    opacity: 0;
}
main.main, div.sidebar {
     padding: 0px 16px;
     margin: 00px 0;
     border-width: 0;
}
.content-bottom {
    margin: 0em 15px!important;
    display: block;
}
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
.related-entry-heading, .comment-title {
        margin: 1.2em 0 0.5em;
}

.category #archive-title{font-size: 20px;}

/*問い合わせ*/
.page-id-45 .fz-16px{font-size: 15px;line-height:1.6;}
    .wpcf7 {padding-top: 30px;}
.page-id-45 input[type=text]{
    border: 1px solid var(--cocoon-basic-border-color)!important;
    border-radius: 0px!important;
}
.page-id-45 .separate{
    font-size: 16px;
    font-weight: bold;
    color: #717171;
}
.page-id-45 .separate p{
    margin-bottom: 5px!important;
}
.page-id-45 .article p{
    margin-bottom: 10px;
}
.required{color:#ffc000}
.wpcf7-list-item:first-child{
    margin: 0 0 0 0em;
}
.wpcf7-list-item:last-child{
    margin: 0 0 0 0em;
}
.wpcf7-list-item:hover{
    text-decoration: underline;
}
.page-id-45 input[type=submit] {
    -webkit-appearance: none;
    border: 0px solid var(--cocoon-thin-color);
    background-color: #231816;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
}
.page-id-45 input[type=submit]:hover {
    opacity: 0.7;
}
.cat-label {
    max-width: 80%;
}
.entry-title, .article h2 {
    font-size: 24px;
}
.entry-title{
    padding: 0.6em 0;
}
.body .widget {
    margin-bottom: 0em!important;
}
.search-close{color: #fff; margin: 0px auto; width: 70px;}
.navi {
    border-bottom: none;
}
#header-container {
    box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2); 
}
.mobile-header-menu-buttons{
    box-shadow: 3px 3px 10px 0px rgba(0, 0, 0, 0.2);
}
.mobile-menu-buttons .menu-button {
    padding-bottom: 10px;
}

.fa-times:before {
    font-weight: 500;
    content: "\f057";
}

.mobile-header-menu-buttons .fas {
    font-size: 24px;
    padding-top: 7px;
}
.search-box .fa-search{
    font-size: 24px;
}
.mobile-menu-buttons .menu-caption {
    display: none;
}
#list, .list-wrap {
    margin-bottom: 0em;
}
.content-bottom {
    margin: 0em 15px!important;
    display: block;
}
#content-bottom h2 {
    background-color: #fff;
    padding: 5px;
    margin: 5px 0;
    font-size: 18px;
    background-image: linear-gradient(90deg, #000 0 42%, #CCC 42%);
    background-repeat: no-repeat;
    background-size: 100% 7%;
    background-position: bottom;
}
.widget-entry-cards .a-wrap {
    padding: 5px 0;
}
#content-bottom .card-thumb img {
    border-radius: 10px;
    box-shadow: 3px 3px 10px 0px rgba(0, 0, 0, 0.2);
}
#header-container {
    height: 15px;
}
.mobile-header-menu-buttons {
    padding-top: 5px;
}

.content-top, .content-bottom {
    margin: 0em 0;
}
.entry-card-thumb .entry-card-title {display: none;}
.entry-card-thumb .entry-card-meta {display: none;}
.entry-card-content .entry-card-title {
    display: block;
    font-size: 16px;
    line-height: 20px;
    bottom: 0px;
    background-color: #fff;
    color: #000;
    padding: 5px 10px 0 10px;
    margin: 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3; /* 任意の行数を指定 */
}
.entry-card-content .entry-card-meta {display: block;padding-left: 8px;opacity: 0.6;}
.ect-3-columns {
    column-gap: 1.5%;
}
.navi-footer-in > .menu-footer li.menu-item {
    width: auto;
}
.body .widget{margin-bottom: 1.8em;}
}
