/*
  Skin Name: TEPgineering for TALEPOT2025
  Description: Cocoonスキン。TALEPOT2025のリニューアル向け調整版。
  Skin URI: https://wp-cocoon.com/
  Author: 迅徹
  Author URI: https://tepgineering.com/
  Screenshot URI: https://im-cocoon.net/wp-content/uploads/skin-template.png
  Version: 1.0.2
  Priority: 9999000000
*/
/*以下にスタイルシートを記入してください*/

/*マテリアル*/
.notice-area-link:hover,
a.appeal-button:hover,
a.box-menu:hover {
  opacity: 1;
}

/*下線*/


/*全般*/
body {
  color: #ffffff;
  background: #fff;
}

a {
  transition: all 0.3s ease-out;
}

a:hover {
  opacity: 0.7;
}

.a-wrap,
.a-wrap:hover {
  color: inherit;
}

.main,
.sidebar,
.breadcrumb.sbp-main-before,
.breadcrumb.sbp-footer-before,
.breadcrumb.pbp-main-before,
.breadcrumb.pbp-footer-before {
  background: transparent;
}

body p.has-background {
  padding: 0em;
}

/*ヘッダー*/
.header-container {
  position: relative;
}

.header {
  background-color:#2f5597;
}

a.site-name:hover {
  opacity: 1;
}

.site-name-text-link,
.site-name-text-link:hover {
  color: #ffffff;
}

.logo-image {
  line-height: 1;
}

.tagline {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0;
  padding: 0 8px;
  height: 0px;
  line-height: 0px;
  font-size: 12px;
  font-weight: bold;
}

.header-container:not(.fixed-header)
  .header-container-in.hlt-top-menu
  .tagline {
  display: block;
  text-align: left;
}

/*グローバルメニュー*/
.navi-in > ul .sub-menu {
  display: block;
  visibility: hidden;
  opacity: 0;
  margin-top: 8px;
  transition: all 0.3s ease-out;
}

.navi-in > ul li:hover > ul {
  visibility: visible;
  opacity: 1;
  margin-top: 0;
}

.navi-in a {
  color: #ffffff;
}

.navi-in a:hover {
  color: #ffffff;
  background: inherit;
  opacity: 1;
}

.navi-in a::after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  width: 0;
  transition: all 0.3s ease-out;
  border-bottom: 2px solid currentColor;
  display: block;
}

.navi-in a:hover::after {
  width: 100%;
  border-bottom: 2px solid currentColor;
}

.sub-caption:before,
.sub-caption:after {
  content: "\2212";
  margin: 0 3px;
}

.navi-in .has-icon {
  right: 10px;
  opacity: 1;
  font-size: 14px;
}

.navi-in .has-icon .fa-caret-down,
.navi-in .has-icon .fa-caret-right {
  transition: all 0.3s ease-out;
}

.navi-in a:hover .has-icon .fa-caret-down {
  transform: translateY(3px);
}

.navi-in a:hover .has-icon .fa-caret-right {
  transform: translateX(3px);
}

/*サイドバー*/
.sidebar aside {
  margin-bottom: 2.5em;
}

.sidebar > *:last-child,
.sidebar-scroll > *:last-child {
  margin-bottom: 0;
}

.sidebar h2,
.sidebar h3 {
  padding: 0.4em;
  background: repeating-linear-gradient(
    -45deg,
    rgba(187, 187, 187, 0.1),
    rgba(187, 187, 187, 0.1) 3px,
    rgba(221, 221, 221, 0.1) 3px,
    rgba(221, 221, 221, 0.1) 6px
  );
  text-align: center;
  font-size: 1.05em;
  font-weight: 500;
  border-width: 2px 0 0 0;
  border-style: solid;
  border-radius: 2px;
}

/*フォーム*/
.search-edit,
input[type="text"],
input[type="password"],
input[type="date"],
input[type="datetime"],
input[type="email"],
input[type="number"],
input[type="search"],
input[type="tel"],
input[type="time"],
input[type="url"],
textarea,
select {
  border-radius: 2px;
  border-width: 2px;
  border-color: rgba(153, 153, 153, 0.4);
}

input[type="submit"] {
  padding: 1em;
  color: #fff;
  font-size: 0.85em;
  font-weight: bold;
  border-width: 0;
  border-radius: 4px;
}

/*フッター*/
.footer-bottom {
  margin: 0;
  padding-top: 0;
}

.footer {
  background-color:#2f5597;
}

.navi-footer {
  margin-top: 8px;
}

.navi-footer-in > .menu-footer li.menu-item {
  display: inline-block;
  width: auto;
  margin: 0;
  flex: none;
  text-align: left;
}

.navi-footer li:not(:last-child):after {
  content: "\002f";
  margin: 0 12px;
}

.navi-footer-in > .menu-footer li,
.navi-footer-in > .menu-footer li:last-child {
  border: none;
}

.navi-footer-in > .menu-footer li.menu-item a {
  display: inline-block;
  width: auto;
  padding: 0 10px;
}

.navi-footer-in a {
  color: #484848;
}

.navi-footer-in a:hover {
  color: #2f5597;
  background-color: inherit;
  opacity: 1;
}

.navi-footer li a i {
  margin-right: 8px;
}

.copyright {
  font-size: 0.85em;
}

/*見出し*/
.article h1,
.article h3 {
  font-weight: 500;
}

.article h1 {
  font-size: 1.6em;
}

.article h2 {
  position: relative;
  display: inline-block;
  font-size: 37px;
  font-weight: bold;
  text-indent: 0.4em;
  line-height: 1.35;
  margin: 0 atuo 50px;
  padding: 5px 0 3px 0;
  background-color: #ffffff;
  background-image: url(https://talepot.co.jp/wp-content/uploads/2025/07/h2image.png);
  background-repeat: no-repeat;
  background-size: auto 64px;
  background-position: left -2px bottom -9px;
}

.article h2::before {
  position: absolute;
  display:block;
  content: "";
  width: 2px;
  height: 66px;
  background-color: #000000;
  bottom: -6px;
  left: -6px;
}

.article h2::after {
  position: absolute;
  content: "";
  display: block;
  border-bottom: solid 10px #f8b62c;
  bottom: -3px;
  width: 33%;
  left: 2px;
}

.article h3 {
  padding: 0.2em 0.5em;
  font-size: 1.25em;
  border-width: 0 0 0 5px;
  border-style: solid;
  border-color: #f8b62c;
}

.article h4 {
  padding: 0;
  font-size: 1.05em;
  border-width: 0;
}

.article h4 > span::before {
  content: "\f061";
  margin-right: 0.5em;
}

.article h5,
.article h6 {
  padding: 0;
  font-size: 1em;
  border-width: 0;
}

/*引用*/
blockquote {
  background: rgba(153, 153, 153, 0.2);
  padding: 1.2em;
  border-width: 0;
  border-radius: 2px;
  opacity: 0.9;
}

blockquote::before,
blockquote::after {
  content: none;
}

blockquote p:first-of-type::before {
  position: absolute;
  content: "\f10d";
  top: 0;
  left: 0;
  padding: 3px 8px;
  font-size: 16px;
  line-height: 1;
  border-radius: 2px 0;
}

blockquote cite {
  display: block;
  text-align: right;
}

/*画像*/
img {
  vertical-align: bottom;
}

.wp-block-image figure {
  position: relative;
}

.wp-block-image figure figcaption {
  position: absolute;
  width: 100%;
  left: 0;
  bottom: 0;
  margin: 0;
  color: #fff;
  background: rgb(0 0 0 / 0.7);
  text-align: right;
  opacity: 1;
}

.no-sidebar .wp-block-image {
  text-align: center;
}

.iwe-border .blogcard img,
.iwe-border-bold .blogcard img {
  border: 0;
}

.iwe-shadow .blogcard img,
.iwe-shadow-paper .blogcard img {
  box-shadow: none;
}

/*リスト*/
ul.is-style-link,
ol.is-style-link {
  list-style: none;
  padding-left: 0;
}

.is-style-link ul,
.is-style-link ol {
  list-style: none;
}

ul.is-style-link li,
ol.is-style-link li {
  margin: 0;
  border-top: 1px dashed #ddd;
}

ul.is-style-link > li:first-child,
ol.is-style-link > li:first-child {
  border-top: 0;
}

ul.is-style-link li a,
ol.is-style-link li a {
  display: block;
  padding: 0.5em;
  text-decoration: none;
}

ul.is-style-link li a::before,
ol.is-style-link li a::before {
  content: "\f0c1";
  margin-right: 0.5em;
  opacity: 0.8;
}

/*コード*/
pre {
  padding: 0.5em;
  color: #ddd;
  background: #2d2d2d;
  border: 0;
  border-radius: 2px;
}

pre,
pre * {
  line-height: 1.4;
}

code,
.is-code-row-number-enable pre::before {
  font-family: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace;
}

pre.wp-block-code code {
  display: block;
  font-size: 0.8em;
  white-space: pre;
}

.is-code-row-number-enable pre::before {
  color: inherit;
  font-size: 0.8em;
  opacity: 0.7;
}

p code {
  color: #ddd;
  background: #2d2d2d;
}

p code,
p code.hljs {
  display: unset;
  margin: 0 0.1em;
  padding: 0.1em;
  font-size: 0.8em;
  border-radius: 2px;
}

/*ボタン*/
.btn.btn-circle,
.btn-wrap.btn-wrap-circle > a {
  border-radius: 99px;
}

.btn:before,
.ranking-item-link-buttons a:before,
.btn:after,
.ranking-item-link-buttons a:after,
.btn-wrap > a:before,
.btn-wrap > a:after {
  margin-right: 18px;
}

.wp-block-button .wp-block-button__link {
  padding: 0.7em 1.5em;
  font-size: 0.9em;
  font-weight: bold;
  line-height: 1;
}

.wp-block-button .anchor-icon {
  display: none;
}

/*アイコンボックス*/
.is-style-information-box,
.is-style-question-box,
.is-style-alert-box,
.is-style-memo-box,
.is-style-comment-box,
.is-style-ok-box,
.is-style-ng-box,
.is-style-good-box,
.is-style-bad-box,
.is-style-profile-box,
.information-box,
.question-box,
.alert-box,
.information,
.question,
.alert,
.memo-box,
.comment-box,
.common-icon-box {
  padding: 1em;
  border-width: 2px;
  border-radius: 2px;
}

.is-style-information-box::before,
.is-style-question-box::before,
.is-style-alert-box::before,
.is-style-memo-box::before,
.is-style-comment-box::before,
.is-style-ok-box::before,
.is-style-ng-box::before,
.is-style-good-box::before,
.is-style-bad-box::before,
.is-style-profile-box::before,
.information-box::before,
.question-box::before,
.alert-box::before,
.information::before,
.question::before,
.alert::before,
.memo-box::before,
.comment-box::before,
.common-icon-box::before {
  width: 2em;
  top: -1em;
  left: 1em;
  padding: 0.5em;
  margin: 0;
  color: #fff;
  font-size: 1em;
  border-right: 0;
  border-radius: 1em;
  box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14),
    0 1px 5px 0 rgba(0, 0, 0, 0.12);
  box-sizing: border-box;
}

.is-style-information-box,
.information-box,
.information {
  background: rgba(225, 245, 254, 0.2);
  border-color: #4fc3f7;
}

.is-style-information-box::before,
.information-box::before,
.information::before {
  background: #4fc3f7;
}

.is-style-question-box,
.question-box,
.question {
  background: rgba(255, 248, 225, 0.2);
  border-color: #ffca28;
}

.is-style-question-box::before,
.question-box::before,
.question::before {
  background: #ffca28;
}

.is-style-alert-box,
.alert-box,
.alert {
  background: rgba(251, 233, 231, 0.2);
  border-color: #ff7043;
}

.is-style-alert-box::before,
.alert-box::before,
.alert::before {
  background: #ff7043;
}

.is-style-memo-box,
.memo-box {
  background: rgba(241, 248, 233, 0.2);
  border-color: #9ccc65;
}

.is-style-memo-box::before,
.memo-box::before {
  background: #9ccc65;
}

.is-style-comment-box,
.comment-box {
  background: rgba(236, 239, 241, 0.2);
  border-color: #90a4ae;
}

.is-style-comment-box::before,
.comment-box::before {
  background: #90a4ae;
}

.is-style-profile-box,
.profile-box {
  background: rgba(232, 234, 246, 0.2);
  border-color: #7986cb;
}

.is-style-profile-box::before,
.profile-box::before {
  background: #7986cb;
}

.is-style-ok-box,
.ok-box {
  background: rgba(224, 247, 250, 0.2);
  border-color: #26c6da;
}

.is-style-ok-box::before,
.ok-box::before {
  background: #26c6da;
}

.is-style-ng-box,
.ng-box {
  background: rgba(255, 235, 238, 0.2);
  border-color: #ef5350;
}

.is-style-ng-box::before,
.ng-box::before {
  background: #ef5350;
}

.is-style-good-box,
.good-box {
  background: rgba(224, 242, 241, 0.2);
  border-color: #4db6ac;
}

.is-style-good-box::before,
.good-box::before {
  background: #4db6ac;
}

.is-style-bad-box,
.bad-box {
  background: rgba(253, 234, 235, 0.2);
  border-color: #ee6e73;
}

.is-style-bad-box::before,
.bad-box::before {
  background: #ee6e73;
}

/*アイコンリスト*/
.blank-box {
  position: relative;
  border-width: 2px;
}

.article .is-style-compare .is-style-no-icon ul li:not(:last-child) {
  border-bottom: 0;
}

.iconlist-box.is-style-no-icon li::before {
  content: none;
}

.iconlist-box.is-style-no-icon li a {
  display: block;
  padding: 0.3em 1em;
  color: #fff;
  background: #42a5f5;
  font-weight: bold;
  border-radius: 4px;
  text-align: center;
  text-decoration: none;
}

.iconlist-title {
  text-align: left;
  position: absolute;
  top: -1em;
  left: 1em;
  padding: 0 8px;
  line-height: 2;
}

/*下線*/
.span-underline {
  text-decoration: underline;
}

/*マーカー*/
.marker {
  background: rgba(255, 235, 59, 0.5);
}

.marker-under {
  background: linear-gradient(transparent 60%, rgba(255, 235, 59, 0.5) 60%);
}

.marker-red {
  background: rgba(243, 152, 155, 0.5);
}

.marker-under-red {
  background: linear-gradient(transparent 60%, rgba(243, 152, 155, 0.5) 60%);
}

.marker-blue {
  background: rgba(100, 181, 246, 0.5);
}

.marker-under-blue {
  background: linear-gradient(transparent 70%, rgba(100, 181, 246, 0.5) 70%);
}

/*検索窓*/
div.search-form {
  margin: 2em 0;
  padding: 8px 12px;
  font-size: 16px;
  border: 1px solid #ccc;
  border-radius: 40px;
}

.search-form > div {
  border: 0;
}

.search-form div.sform {
  background: transparent;
  text-decoration: underline;
}

.search-form div.sbtn {
  color: #666;
  background: #f1f1f1;
  font-weight: bold;
  border-radius: 2px;
  margin: 0 10px 0 0;
}

.search-form div.sbtn::after {
  content: "\f245";
  right: 0;
  bottom: -12px;
  font-size: 14px;
  font-weight: 900;
  transition: all 0.3s ease-out;
}

.search-form div.sbtn:hover::after {
  bottom: -9px;
}

/*シャア・フォローボタン*/
.sns-share .button-caption {
  display: none;
}

.ss-top .sns-share-buttons {
  justify-content: flex-end;
}

.sns-share.ss-top .sns-buttons a {
  width: 40px;
  height: 40px;
  margin-left: 8px;
  font-size: 20px;
  border-radius: 20px;
}

.ss-bottom {
  position: relative;
  padding: 2em 0.5em 0.2em;
  background: rgba(176, 190, 197, 0.2);
  border-radius: 2px;
}

.sns-share-message {
  position: absolute;
  top: -15px;
  left: 15px;
  padding: 0 1.2em;
  height: 30px;
  line-height: 30px;
  font-size: 15px;
  font-weight: bold;
  border-radius: 15px;
}

.sns-share-message i {
  margin-right: 8px;
}

.sns-share.ss-col-6 a {
  width: 15%;
}

.ss-bottom .sns-share-buttons.sns-buttons a {
  height: 36px;
  margin-bottom: 15px;
  font-size: 20px;
}

.sns-share-buttons a .share-count,
.sns-follow-buttons a .follow-count {
  top: -8px;
  right: auto;
  bottom: auto;
  line-height: 16px;
  padding: 0 9px;
  border-radius: 9px;
  color: #fff;
  background: #f9a825;
}

.ss-bottom .sns-share-buttons a .share-count {
  right: -6px;
}

.sns-follow-message {
  font-size: 14px;
  font-weight: bold;
}

.sns-follow-message::before {
  display: inline-block;
  content: "\002f";
  margin-right: 8px;
  transform: rotateY(180deg);
}

.sns-follow-message::after {
  content: "\002f";
  margin-left: 8px;
}

.sns-follow-buttons.sns-buttons {
  justify-content: center;
}

.sns-follow-buttons a {
  width: 36px;
  height: 36px;
  margin-right: 5px;
  font-size: 18px;
  line-height: 2;
  border-radius: 18px;
}

/*スクロールボタン*/
.go-to-top-button,
.go-to-top-button:hover {
  width: 50px;
  height: 50px;
  border-radius: 25px;
  font-size: 16px;
}

/*コピー*/
.copy-info {
  background: rgba(0, 0, 0, 0.8);
  border-radius: 4px;
  box-shadow: 0 5px 5px -3px rgba(0, 0, 0, 0.2),
    0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12);
  opacity: 1;
}

/*モバイルボタン*/
.mobile-header-menu-buttons,
.mobile-footer-menu-buttons {
  box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.2), 0 4px 5px 0 rgba(0, 0, 0, 0.14),
    0 1px 10px 0 rgba(0, 0, 0, 0.12);
}

.search-menu-content .search-edit {
  background: #fff;
}

.follow-menu-content .sns-buttons a {
  width: 36px;
}

.menu-drawer > li:not(:last-child) {
  border-bottom: 1px dashed currentColor;
}

.menu-drawer a {
  padding: 0.7em 0;
}

.menu-drawer > li > a::before {
  content: "\f138";
}

.menu-drawer a::before {
  content: "\f0da";
  margin-right: 0.5em;
}

.mobile-menu-buttons .menu-button > a,
.mobile-menu-buttons .menu-button > a:hover {
  color: inherit;
}

@media screen and (max-width: 834px) {
  /* ヘッダーモバイル */
  #navi .navi-in > .menu-mobile {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
  }

  #navi .navi-in > .menu-mobile li {
    display: inline-block;
    width: auto;
  }

  .navi-in > .menu-mobile::-webkit-scrollbar {
    height: 6px;
  }

  .navi-in > .menu-mobile::-webkit-scrollbar-track {
    background: #fff;
    box-shadow: inset 0 0 2px #999;
    border-radius: 3px;
  }

  .navi-in > .menu-mobile::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 3px;
  }

  /* 幅広 */
  .article .entry-content .alignwide:not(.wp-block-table) {
    margin-left: -16px;
    margin-right: -16px;
  }

  /* 目次 */
  .toc {
    width: 100%;
  }

  /* シェアボタン */
  .sns-share.ss-bottom.ss-col-6 a {
    width: 28%;
  }
}

/* 独自カラム */
@media screen and (min-width: 600px) {
  .is-style-compare > *,
  .is-style-columns-card {
    flex-wrap: nowrap;
  }

  .is-style-compare > div > *,
  .is-style-columns-card > * {
    flex-basis: 0;
    flex-grow: 1;
  }

  .is-style-columns-card > *:not(:first-child) {
    margin-left: 1em;
  }

  .is-style-compare .blank-box {
    border-width: 2em 1px 2px;
  }

  .is-style-compare .blank-box:first-child {
    border-left-width: 2px;
    border-radius: 4px 0 0 4px;
  }

  .is-style-compare .blank-box:last-child {
    border-right-width: 2px;
    border-radius: 0 4px 4px 0;
  }

  .article .is-style-columns-card .blogcard-wrap {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 781px) {
  .is-style-mobile-columns .wp-block-column {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 599px) {
  .is-style-compare > div > *,
  .is-style-columns-card > * {
    flex-basis: 100% !important;
  }
}

@media screen and (max-width: 480px) {
  /* 見出し */
  .article h1 {
    padding-left: 0;
    padding-right: 0;
    font-size: 1.38em;
  }

  .article h2 {
    font-size: 27px;
    background-size: auto 50px;
  }
  .article h2::before {
    width: 2px;
    height: 51px;
    bottom: -3px;
    left: -3px;
  }

  .article h2::after {
    border-bottom: solid 8px #f8b62c;
    bottom: -2px;
    width: 27%;
    left: 2px;
  }

  .article h3 {
    font-size: 1.15em;
  }

  /* タイムライン */
  .timeline-item::before {
    left: -8px;
    top: 24px;
    width: 12px;
    height: 12px;
  }

  /* プロフィール */
  .author-box .author-content {
    margin-left: 0;
  }

  /* ページ送りナビ */
  .pager-post-navi.post-navi-square a {
    margin: 10px 0;
  }

  .pager-post-navi.post-navi-square a:last-child {
    border-top-width: 1px;
  }

  /* サムネイル画像 */
  .ect-entry-card .card-thumb,
  .rect-entry-card .card-thumb,
  .ect-big-card-first .card-thumb {
    margin-bottom: 0;
  }

  /* カテゴリーラベル */
  .entry-card .cat-label,
  .related-entry-card .cat-label {
    line-height: 1.8;
  }
}

/*追加Class*/
/*余白ツメ*/
.block-tume {
  margin-bottom: 0 !important;
  line-height: 0 !important;
}

/*画像のホバー差し替え*/
.switch_image {
    position: relative;
}

.switch_image img {
    transition: opacity 0.5s;
}
.switch_image:hover img:first-of-type {
    opacity: 0;
}
.switch_image img:last-of-type {
    position: absolute;
    top: 0px;
    left: 0px;
    opacity: 0;
}
.switch_image:hover img:last-of-type {
    opacity: 1;
}