/*
Template: jin
Theme Name: jin-child
Author: CrossPiece
Version: 1.00
*/

/*  base start */
.fz-12 {
  font-size: 12px;
}

@media (min-width: 768px) {
	.content-homepage #main-contents {
	  margin: 30px 0 0 !important;
	  width: 100% !important;
	}
}

@media (max-width: 767px) {
  .sp {
    display: block !important;
  }
  .pc {
    display: none !important;
  }
}

.sp {
  display: none;
}
/* base end */

/* header start */
#header-box {
  background-color: #3e8691 !important;
}

@media (min-width: 768px) {
  #header-box .header-box10-bg:before,
  #header-box .header-box11-bg:before {
    border-radius: 2px;
  }
}
#header-box {
  width: 100%;
  padding: 0;
}
@media (max-width: 767px) {
  #header-box {
    position: relative;
    z-index: 2;
    min-height: 46px;
    padding: 10px 0;
    padding-bottom: 0px;
    transition: 0.6s;
    overflow: hidden;
  }
}
@media (min-width: 768px) {
  #header-box {
    min-height: 60px;
  }
}

#header {
  margin: 0 auto;
  padding: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#headmenu .headsns,
#headmenu .headsearch {
  margin-top: 0;
}

#headmenu .headsearch .search-box:before {
  top: -2px !important;
}
@media (max-width: 767px) {
  #header {
    margin-bottom: 10px;
  }
}
@media (min-width: 768px) {
  #header {
    width: 100%;
    padding: 0 20px;
  }
}
@media (min-width: 1200px) {
  #header {
    width: 1200px;
  }
}
#header #site-info {
  font-feature-settings: "palt";
}
@media (max-width: 767px) {
  #header #site-info {
    max-width: 75%;
    text-align: center;
    font-weight: 700;
    margin-top: 1px;
    letter-spacing: 1px;
    margin: 0 auto;
  }
}
@media (min-width: 768px) {
  #header #site-info {
    letter-spacing: 3px;
    color: #fff;
    font-weight: normal;
    font-size: 0.85rem;
    margin-right: 20px;
    min-width: 100px;
    max-width: 140px;
  }
}
@media (min-width: 1200px) {
  #header #site-info {
    letter-spacing: 3px;
    color: #fff;
    font-weight: normal;
    font-size: 0.85rem;
    margin-right: auto;
    min-width: 100px;
    max-width: 310px;
  }

  #site-info span a {
    font-size: 18px;
  }
}
@media (min-width: 768px) {
  #header #site-info .tn-logo-size {
    overflow: hidden;
  }

  #site-info span a {
    font-size: 18px;
  }
}
#header #site-info img {
  height: auto;
}
@media (max-width: 767px) {
  #header #site-info img {
    margin-bottom: -5px;
    max-width: 100%;
  }
}
/* header end */

/* main img start */
#main-image {
  position: relative;
}
.logo-pr-item {
	max-width: 220px;
	position: absolute;
}

.wall-mate {
	top: 5%;
	left: 10px;	
}

.trinity-fund {
	top: 5%;
	right: 10px;	
}

.ubiqs {
	top: calc(5% + 60px);
	right: 10px;
}

#main-image img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
  transition: color 0.4s ease, background 0.4s ease, transform 0.4s ease,
    opacity 0.4s ease, border 0.4s ease, padding 0.4s ease, left 0.4s ease,
    box-shadow 0.4s ease;
}

@media (max-width: 767px) {
  #main-image {
    overflow: hidden;
    box-shadow: 0px 1px 6px rgba(0, 0, 0, 0.15);
  }
	
	#main-image > img {
        height: 300px;
		object-fit: cover;
  }
}

#main-image a:hover img {
  opacity: 0.8;
}
#main-image .top-image-meta {
  position: absolute;
  text-align: center;
}
@media (max-width: 767px) {
  #main-image .top-image-meta {
    top: 50%;
    width: 90%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
  }
}
@media (min-width: 768px) {
  #main-image .top-image-meta {
    left: 50%;
    top: 50%;
    width: 100%;
    transform: translateY(-50%) translateX(-50%);
  }
}
#main-image .main-image-text {
  display: block;
  text-align: center;
  font-feature-settings: "palt";
}
@media (max-width: 767px) {
  #main-image .main-image-text {
    font-size: 1.25rem;
    line-height: 1.75rem;
    letter-spacing: 2px;
  }
}
@media (min-width: 768px) {
  #main-image .main-image-text {
    font-size: 1.65rem;
    max-width: 85%;
    line-height: 2.15rem;
    letter-spacing: 3px;
    margin: 0 auto;
  }
}
@media (min-width: 1024px) {
  #main-image .main-image-text {
    font-size: 2.4rem;
    max-width: 1000px;
    line-height: 3rem;
    letter-spacing: 4px;
  }
}
#main-image .main-image-text-sub {
  display: block;
}
@media (max-width: 767px) {
  #main-image .main-image-text-sub {
    margin-top: 20px;
    font-size: 0.75rem;
  }
}
@media (min-width: 768px) {
  #main-image .main-image-text-sub {
    font-size: 0.85rem;
    max-width: 85%;
    margin: 0 auto;
    margin-top: 15px;
  }
}
@media (min-width: 1024px) {
  #main-image .main-image-text-sub {
    margin-top: 30px;
    font-size: 1rem;
    max-width: 700px;
  }
}
#main-image .top-image-text-option-border {
  text-shadow: white 2px 0px, white -2px 0px, white 0px -2px, white 0px 2px,
    white 2px 2px, white -2px 2px, white 2px -2px, white -2px -2px,
    white 1px 2px, white -1px 2px, white 1px -2px, white -1px -2px,
    white 2px 1px, white -2px 1px, white 2px -1px, white -2px -1px;
}
#main-image .top-image-text-option-shadow {
  text-shadow: 0 3px 8px #aaa;
}
#main-image .top-image-subtext-option-border {
  text-shadow: white 2px 0px, white -2px 0px, white 0px -2px, white 0px 2px,
    white 2px 2px, white -2px 2px, white 2px -2px, white -2px -2px,
    white 1px 2px, white -1px 2px, white 1px -2px, white -1px -2px,
    white 2px 1px, white -2px 1px, white 2px -1px, white -2px -1px;
}
#main-image .top-image-subtext-option-shadow {
  text-shadow: 0 1px 3px #555;
}
@media (max-width: 767px) {
  #main-image .top-image-btn-color {
    margin-top: 30px;
  }
}
@media (min-width: 768px) {
  #main-image .top-image-btn-color {
    margin-top: 30px;
  }
}
@media (min-width: 1024px) {
  #main-image .top-image-btn-color {
    margin-top: 50px;
  }
}
#main-image .top-image-btn-color a {
  font-weight: 300;
  letter-spacing: 1px;
}
@media (max-width: 767px) {
  #main-image .top-image-btn-color a {
    font-size: 0.8rem;
  }
}
@media (min-width: 768px) {
  #main-image .top-image-btn-color a {
    padding: 10px 30px;
  }
}
@media (min-width: 1024px) {
  #main-image .top-image-btn-color a {
    padding: 15px 60px;
  }
}

@media (max-width: 767px) {
	.logo-pr-item img {
		width: 100px;
	}
	
	.ubiqs {
		top: calc(5% + 30px);
		width: 80px;
	}
}

/* main img end */

/* footer start */
footer {
  padding: 0;
}

.footer__top {
  margin-top: 30px;
  background-color: #8ca5b7;
}

.footer__top-inner {
  width: min(90%, 1200px);
  margin: 0 auto;
  padding: clamp(40px, 8vw, 80px) 0;
  display: flex;
  justify-content: space-between;
}

.footer__top-item {
  width: 31%;
  padding-top: 10px;
  text-align: center;
}

.footer__top-item:first-child {
  padding: 20px 30px;
  text-align: left;
  background-color: white;
}

.footer__top-item h2 {
  font-weight: bold;
  font-size: 21px;
  margin-bottom: 40px;
}

.footer__top-item h2:last-child {
  margin-top: 40px;
  margin-bottom: 0;
}

.footer__top-item p {
  margin: 5px 0;
  font-size: 14px;
}

.footer__top-logoWrapper {
  width: 70%;
  margin: 0 auto;
}

.footer__top-logoWrapper a,
.footer__top-logoWrapper img {
  display: block;
  width: 100%;
}

.footer__top-address {
  font-size: 14px;
  margin-top: 1em;
  color: #fff;
}

.footer__top-sns {
  margin-top: 10px;
}

.footer__top-sns a {
  display: inline-block;
  width: 60px;
}

.footer__top-sns a img {
  display: block;
  width: 100%;
}

.footer__top-menuLink {
  display: block;
  font-size: 16px;
  color: #fff !important;
  padding: 0.5em 0;
  border-bottom: solid 1px #fff;
  text-align: left;
}

.footer__top-search .wp-block-search__button {
  margin-left: 0;
}

.footer__top-search svg {
  color: #acacac;
}

.footer__top-catWrapper {
  margin-top: 20px;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 5px;
}

.footer__top-catWrapper a {
  display: inline-block;
  background-color: #fff;
  font-size: 14px;
  padding: 0.2em 0.5em;
  border-radius: 0.3em;
  border: solid 1px #000;
}

.footer__menu {
  display: flex;
  justify-content: space-between;
}

.footer__menu a {
  color: #fff !important;
  font-size: 14px;
}

.footer__bottom-copy {
  font-size: clamp(10px, 2vw, 12px);
  color: #fff;
  text-align: center;
  margin-top: 3em;
}

@media (max-width: 767px) {
  .footer__top-inner {
    display: block;
  }

  .footer__top-item {
    width: 100%;
  }

  .footer__top-search {
    margin: 10px 0;
  }

  .footer__menu {
    display: block;
    margin-top: 20px;
  }

  .footer__menu a {
    display: block;
    text-align: center;
    margin: 5px 0;
  }
}
/* footer end */

.swiper-container-horizontal > .swiper-pagination-bullets,
.swiper-pagination-custom,
.swiper-pagination-fraction {
  bottom: 0 !important;
}

/* top__postList start */
.top__postList-head {
  font-size: clamp(20px, 5vw, 30px);
}
.top__postList-head2 {
  font-weight: normal;
  font-size: max(12px, 0.7em);
  margin-left: 2em;
}
.top__postList {
  margin-top: clamp(20px, 4vw, 40px);
}
.top__postList-title {
  font-size: clamp(22px, 4vw, 35px);
  font-weight: normal;
  border-bottom: solid 3px #ccc;
  position: relative;
}
.top__postList-title:after {
  content: "";
  display: block;
  width: 20%;
  height: 3px;
  background-color: #3b4675;
  position: absolute;
  left: 0;
  bottom: -3px;
}
.top__postList-flex {
  display: flex;
  justify-content: space-between;
  margin-top: clamp(20px, 4vw, 30px);
}
.top__postList-link {
  width: 30%;
  text-decoration: none;
}
.top__postList-link:hover {
  opacity: 0.5;
	color: #008db7;
}
.top__postList-imgWrapper img {
  width: 100%;
  height: clamp(60px, 15vw, 150px);
  object-fit: cover;
  object-position: center;
}
.top__postList-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.top__postList-psotTitle {
  font-size: clamp(14px, 2vw, 18px);
  line-height: 1.4;
  width: 100%;
}
.top__postList-cat,
.top__postList-date {
  margin-top: 0.5em;
  font-size: clamp(10px, 1vw, 16px);
  color: #7f7f7f;
}
.top__postList-archiveBtnWrapper {
  margin-top: clamp(10px, 2vw, 20px);
}
.top__postList-archiveBtnWrapper a {
  border: solid 1px #000;
  font-size: clamp(16px, 3vw, 20px);
  text-decoration: none;
  color: #000;
  padding: 0.5em 1.5em;
  border-radius: 4px;
  margin-left: auto;
  display: block;
  width: fit-content;
  font-weight: bold;
  transition: all 0.3s;
}
.top__postList-archiveBtnWrapper a:hover {
  background-color: #000;
  color: #fff;
}
.top__postList-archiveBtnWrapper a i {
  margin-left: 1em;
}
@media screen and (max-width: 600px) {
  .top__postList-head {
    margin-top: 0;
  }
  .top__postList-head span {
    display: block;
    text-align: center;
  }
  .top__postList-head2 {
    margin-left: 0em;
  }
  .top__postList-flex {
    display: block;
  }
  .top__postList-link {
    width: 100%;
    display: flex;
    margin-bottom: 10px;
  }
  .top__postList-imgWrapper {
    width: 30%;
  }
  .top__postList-meta {
    flex: 1;
    padding-left: 10px;
  }
}
/* top__postList end  */

/* pref start */
.pref {
  width: min(90%, 1200px);
  margin: 20px auto;
}
.pref__title {
  font-weight: bold;
  font-size: clamp(16px, 3vw, 18px);
}
.pref__ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  row-gap: clamp(5px, 1vw, 10px);
  margin-top: clamp(10px, 2vw, 20px);
}
.pref__li {
  display: flex;
  width: 48%;
  column-gap: clamp(5px, 1vw, 10px);
}
.pref__li-head {
  background-color: #ededed;
  font-size: clamp(14px, 2vw, 16px);
  width: 22%;
  text-align: center;
  padding: 0.5em;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pref__li-linkWrapper {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
}
.pref__li-linkWrapper a {
  text-decoration: underline;
  padding: 0 0.3em;
  position: relative;
}
.pref__li-linkWrapper a:not(:last-child):after {
  content: "|";
  color: #6c6c6c;
  position: absolute;
  right: -0.3em;
}
@media (max-width: 767px) {
  .pref__li {
    width: 100%;
  }
  .pref__li-head {
    width: 30%;
  }
}
/* pref end */

.liquid-speech-balloon-wrap {
    margin-bottom: 2rem;
    flex-direction: row;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
}

.liquid-speech-balloon-avatar {
    position: relative;
    width: 64px;
    height: 64px;
    line-height: 1;
    flex-shrink: 0;
    background-position: left top;
    background-repeat: no-repeat;
    -webkit-background-size: 100% auto;
    -moz-background-size: 100% auto;
    -ms-background-size: 100% auto;
    -o-background-size: 100% auto;
    background-size: 100% auto;
}

.liquid-speech-balloon-avatar img {
	margin-bottom: 0;
}

.liquid-speech-balloon-avatar span {
    position: absolute;
    content: '';
    display: block;
    width: 110%;
    left: -5%;
    top: 69px;
    font-size: 12px;
    text-align: center;
    font-weight: bold;
    letter-spacing: -0.3px;
}

.liquid-speech-balloon-text {
    position: relative;
    z-index: 1;
    border-radius: 5px;
    padding: 20px 30px;
    width: 100%;
    margin-left: 20px;
    background-color: #fff;
    border: 1px solid rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
}

.liquid-speech-balloon-text p {
    color: #3b4675;
}

.liquid-speech-balloon-wrap:not(.liquid-speech-balloon-vertical) .liquid-speech-balloon-arrow {
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    border-right: 10px solid rgba(0, 0, 0, 0.2);
}

.liquid-speech-balloon-arrow {
    position: absolute;
    z-index: 2;
    content: '.';
    line-height: 1;
    width: 0;
    height: 0;
    top: 25px;
    left: -11px;
    color: transparent;
}
/* =====================================
   WALLMATE Sidebar Styles
   ===================================== */
.wm-sidebar {
  width: 100%;
}

.wm-sidebar-section {
  margin-bottom: 30px;
  background: #fff;
  overflow: hidden;
}

.wm-sidebar-title {
  background: #8CA5B7;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  padding: 12px 15px;
  margin: 0;
  letter-spacing: 1px;
}

/* 新着記事 */
.wm-recent-posts-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.wm-recent-post-item {
  border-bottom: 1px solid #eee;
}

.wm-recent-post-item:last-child {
  border-bottom: none;
}

.wm-recent-post-item a {
  display: flex;
  align-items: flex-start;
  padding: 12px 0px;
  text-decoration: none;
  color: #333;
  transition: background-color 0.3s ease;
}

.wm-recent-post-item a:hover {
  background-color: #f8f9fa;
}

.wm-recent-post-thumb {
  width: 80px;
  height: 60px;
  flex-shrink: 0;
  margin-right: 12px;
  overflow: hidden;
}

.wm-recent-post-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.wm-recent-post-content {
  flex: 1;
}

.wm-recent-post-title {
  font-size: 13px;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-weight: 700;
}

/* カテゴリー */
.wm-categories-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.wm-category-item,
.wm-categories-list > li {
  border-bottom: 1px solid #eee;
}

.wm-category-item:last-child,
.wm-categories-list > li:last-child {
  border-bottom: none;
}

.wm-category-item a,
.wm-categories-list > li > a {
  display: flex;
  align-items: center;
  padding: 12px 15px;
  text-decoration: none;
  color: #333;
  font-size: 14px;
  transition: background-color 0.3s ease;
}

.wm-category-item a:hover,
.wm-categories-list > li > a:hover {
  background-color: #f8f9fa;
}

.wm-category-arrow {
  display: inline-block;
  width: 0;
  height: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 7px solid #333;
  margin-right: 10px;
  font-size: 0;
}

.wm-category-name {
  flex: 1;
}

/* OTHER */
.wm-other-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.wm-other-item,
.wm-other-list > li {
  border-bottom: 1px solid #eee;
}

.wm-other-item:last-child,
.wm-other-list > li:last-child {
  border-bottom: none;
}

.wm-other-item a,
.wm-other-list > li > a {
  display: flex;
  align-items: center;
  padding: 12px 15px;
  text-decoration: none;
  color: #333;
  font-size: 14px;
  transition: background-color 0.3s ease;
}

.wm-other-item a:hover,
.wm-other-list > li > a:hover {
  background-color: #f8f9fa;
}

.wm-other-arrow {
  display: inline-block;
  width: 0;
  height: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 7px solid #333;
  margin-right: 10px;
  font-size: 0;
}

.wm-other-name {
  flex: 1;
}

/* Sidebar responsive */
@media (max-width: 767px) {
  .wm-sidebar {
    margin-top: 30px;
    padding: 0 15px;
  }
  
  .wm-sidebar-section {
    margin-bottom: 20px;
  }
  
  .wm-sidebar-title {
    font-size: 13px;
    padding: 10px 12px;
  }
  
  .wm-recent-post-thumb {
    width: 70px;
    height: 50px;
  }
  
  .wm-recent-post-title {
    font-size: 12px;
  }
  
  .wm-category-item a,
  .wm-other-item a {
    font-size: 13px;
    padding: 10px 12px;
  }
}


/* =====================================
   Sidebar Layout
   ===================================== */
.wm-content-sidebar-wrapper {
  display: flex;
  flex-wrap: nowrap;
  max-width: 1400px;
  margin: 0 auto;
  padding: 20px;
  box-sizing: border-box;
  align-items: flex-start;
  gap: 40px;
}

.wm-main-content {
  flex: 1;
  min-width: 0;
  max-width: calc(100% - 340px);
  box-sizing: border-box;
}

.wm-main-content #contents {
  width: 100%;
  margin: 0;
  padding: 0;
}

.wm-main-content #main-contents {
  width: 100%;
  margin: 0 !important;
}

.wm-sidebar-wrapper {
  width: 300px;
  min-width: 300px;
  flex-shrink: 0;
  box-sizing: border-box;
  position: sticky;
  top: 100px;
  align-self: flex-start;
  margin-top: 0;
}

@media (max-width: 1200px) {
  .wm-content-sidebar-wrapper {
    gap: 30px;
  }
  
  .wm-main-content {
    max-width: calc(100% - 290px);
  }
  
  .wm-sidebar-wrapper {
    width: 260px;
    min-width: 260px;
  }
}

@media (max-width: 767px) {
  .wm-content-sidebar-wrapper {
    flex-direction: column;
    padding: 15px;
    gap: 30px;
  }
  
  .wm-main-content {
    width: 100%;
    max-width: 100%;
  }
  
  .wm-sidebar-wrapper {
    width: 100%;
    min-width: 100%;
    position: relative;
    top: 0;
  }
}


/* Fix pickup contents width */
.wm-main-content .pickup-contents-box,
.wm-main-content .swiper-container,
.wm-main-content .pickup-contents-post-type,
.wm-main-content .pickup-contents-box-post-type {
  max-width: 100% !important;
  width: 100% !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.wm-main-content .swiper-wrapper {
  max-width: 100% !important;
}

/* Ensure main content doesn't overflow */
.wm-main-content {
  overflow: hidden !important;
  position: relative;
}

.wm-main-content #contents,
.wm-main-content .content-homepage {
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Sidebar wrapper positioning */
.wm-sidebar-wrapper {
  z-index: 10;
  background: #fff;
}

/* Override Jin theme pickup styles */
.wm-content-sidebar-wrapper .pickup-contents-box-post-type {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.wm-content-sidebar-wrapper .pickup-contents-box-post-type .swiper-slide {
  box-sizing: border-box !important;
}

/* Fix any absolute positioned elements */
.wm-main-content .pickup-contents-box-post-type,
.wm-main-content .pickup-contents-box {
  position: relative !important;
}

/* Override Jin parent theme styles that may cause overflow */
.wm-main-content .pickup-contents-box-post-type .pickup-title,
.wm-main-content .pickup-contents-box .pickup-title {
  max-width: 100% !important;
}

/* Ensure swiper doesn't overflow */
.wm-main-content .swiper-container {
  margin: 0 !important;
}

.wm-main-content .swiper-slide {
  flex-shrink: 0;
}

/* Fix content-homepage width */
.content-homepage {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.content-homepage #main-contents {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  float: none !important;
}

.c-cta__catch p, .c-prad p, .c-note-box p, .c-callout p, .c-review-card p, .c-flow p, .c-review-slider p, .c-breadcrumb p, .c-checklist p {
    display: none;
}

/* h2 标题 - 左侧装饰线 + 横线 */
.cps-post-main-box .cps-post-main h2 {
    background-color: #8CA5B7 !important;
    padding: .75em 1em !important;
    color: #fff !important;
    font-size: 1.4em !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    margin: 4em 0 2em !important;
    position: relative;
    z-index: 1;
}
.cps-post-main-box .cps-post-main h2::before {
    position: absolute;
    display: block;
    pointer-events: none;
    content: "";
    top: -4px;
    left: 0;
    width: 100%;
    height: calc(100% + 4px);
    box-sizing: content-box;
    border-top: solid 2px #8CA5B7;
    border-bottom: solid 2px #8CA5B7;
}
/* h3 标题 - 左侧装饰线 + 横线 */
.cps-post-main-box .cps-post-main h3 {
    padding: 0 .5em .5em !important;
    font-size: 1.3em !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    margin: 3em 0 2em !important;
    position: relative;
    border: none !important;
}
.cps-post-main-box .cps-post-main h3::before {
    content: "";
    width: 100%;
    height: 2px;
    background: repeating-linear-gradient(90deg, #8CA5B7 0%, #8CA5B7 29.3%, rgba(150, 150, 150, .2) 29.3%, rgba(150, 150, 150, .2) 100%);
    bottom: 0;
    display: block;
    left: 0;
    position: absolute;
    z-index: 0;
    box-sizing: inherit;
    text-decoration: inherit;
    vertical-align: inherit;
}
/* h4 标题 - 横线 */
.cps-post-main-box .cps-post-main h4 {
    padding: 0 0 0 16px !important;
    border-left: solid 2px #8CA5B7 !important;
    font-size: 1.2em !important;
    font-weight: 700 !important;
    line-height: 1.4 !important;
    margin: 3em 0 1.5em !important;
}
/* 普通表格样式 */
.c-table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
    margin-bottom: 1em;
    border: none;
    line-height: 1.8;
    color: #666;
}
.c-table thead tr,
.c-scroll-table__table thead tr {
    border: 1px solid #ddd;
}
.c-table thead th,
.c-scroll-table__table thead th {
    background-color: #3E8691;
    font-weight: 700;
    border-right: 1px solid #fff;
    vertical-align: top;
    font-size: 12px;
    color: white;
    -webkit-text-size-adjust: 100%;
    border-bottom: 1px solid #ddd;
    padding: 8px 8px 8px 10px;
    text-align: left;
}
.c-table tbody tr:first-child td,
.c-scroll-table__table tbody tr:first-child td {
    border-top: 0;
}
.c-table tbody td,
.c-scroll-table__table tbody td {
    white-space: nowrap;
    border: 1px solid #ddd;
    line-height: 1.8;
    color: #666;
    background-color: #fff;
    font-size: 13px;
    vertical-align: top;
    padding: 8px;
    text-align: left;
}
.c-table tbody tr:nth-child(even) td,
.c-scroll-table__table tbody tr:nth-child(even) td{
    background-color: #f9f9f9;
}
.c-table tbody tr:hover td,
.c-scroll-table__table tbody tr:hover td{
    background-color: #ecfcfe !important;
}
.c-table tbody tr td:first-child,
.c-scroll-table__table tbody tr td:first-child{
    background-color: #FDF9EE;
}
/* 滚动表格整体 */
.c-scroll-table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
    margin-bottom: 1em;
    border: none;
    line-height: 1.8;
    color: #666;
}
.c-scroll-table__scroller {
    overflow-x: auto;
}
.c-scroll-table__scroller::-webkit-scrollbar {
    height: 6px;
}
.c-scroll-table__scroller::-webkit-scrollbar-track {
    background: #f0f0f0;
    border-radius: 3px;
}
.c-scroll-table__scroller::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 3px;
}
.c-scroll-table__scroller::-webkit-scrollbar-thumb:hover {
    background: #999;
}
.c-scroll-table__table {
    min-width: 100%;
    border-collapse: collapse;
    position: relative;
}
.c-scroll-table__table th,
.c-scroll-table__table td {
    min-width: 200px;
}
.c-scroll-table__table thead tr th:first-child,
.c-scroll-table__table tbody tr td:first-child {
    position: sticky;
    left: 0;
    max-width: 100px;
}
.c-scroll-table__table thead tr th:first-child::after,
.c-scroll-table__table tbody tr td:first-child::after{
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 100%;
    background-color: #ddd;
    z-index: 1;
    box-sizing: border-box;
}

.c-scroll-table__table:not(.is-hidden)::before {
    content: "スクロールできます";
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: end;
    top: 50%;
    left: 40%;
    transform: translate(-50%, -50%);
    width: 9rem;
    height: 6rem;
    letter-spacing: 0.05em;
    line-height: 1.8em;
    font-size: 0.75rem;
    color: white;
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.5);
    pointer-events: none;
    transition: opacity 0.3s ease;
}

.c-scroll-table__table:not(.is-hidden)::after {
    content: "";
    position: absolute;
    display: block;
    top: 50%;
    left: 40%;
    transform: translate(-50%, -65%);
    width: 3rem;
    height: 3rem;
    pointer-events: none;
    transition: opacity 0.3s ease;
    background: url('/media/wp-content/uploads/2026/03/hand-pointer.png') center/contain no-repeat;
}

.c-cta {
    width: 100%;
    max-width: 820px;
    margin: 30px auto;
    text-align: center;
}

.c-cta p {
/* 	line-height: 1 !important; */
}

.c-cta__catch-text {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.35;
    color: #333;
    display: block !important;
}

.c-cta__catch-em {
    display: inline-block;
    padding: 0 6px;
    background: linear-gradient(transparent 55%, #fff2a8 55%);
}

.c-cta__btn {
    display: block;
    text-decoration: none !important;
    background: #FF8600;
    color: #fff !important;
    border-radius: 999px;
    box-shadow: 0 6px 0 rgba(0, 0, 0, 0.12);
    transition: all .3s ease;
}

.c-cta__btn-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 5px 22px;
}

.c-cta__btn-text {
    display: inline-block;
    font-size: 20px;
    font-weight: 800;
    line-height: 1.25;
}

.c-cta__btn-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.18);
    font-size: 18px;
    line-height: 1;
}

.c-cta__btn:hover {
    box-shadow: none;
    transform: translateY(6px);
}

@media (max-width: 768px) {
    .c-cta__catch-text {
        font-size: 16px;
    }

    .c-cta__btn-text {
        font-size: 18px;
    }

    .c-cta__btn-inner {
        padding: 18px 18px;
    }
}

.c-cta__btn {
    transition: transform .12s ease, box-shadow .12s ease, filter .12s ease;
    will-change: transform;
}

.c-cta__btn:hover {
    filter: brightness(1.02);
}

.c-cta__btn:active {
    transform: translateY(4px);
    box-shadow: 0 2px 0 rgba(0, 0, 0, 0.12);
}

.c-cta__btn:focus-visible {
    outline: 3px solid rgba(255, 134, 0, 0.35);
    outline-offset: 4px;
}

.c-prad {
    border: 2px solid #666;
    border-radius: 26px;
    padding: 18px;
    background: #fff;
    max-width: 760px;
    margin: 30px auto;
}

.c-prad__inner {
    padding: 6px 10px 14px;
}

.c-prad__head {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 12px;
}

.c-prad__label {
    font-weight: 700;
    color: #111;
    white-space: nowrap;
}

.c-prad__title {
    margin: 0;
    font-size: 22px;
    font-weight: 800;
    line-height: 1.35;
    color: #111;
    display: block !important;
	padding-bottom: 0 !important;
}

.c-prad__media {
    border: 2px solid #ff2b2b;
    padding: 8px;
    margin: 10px 0 14px;
}

.c-prad__media-img {
    display: block;
    width: 100%;
    height: auto;
}

.c-prad__desc {
    margin: 0 0 14px !important;
    font-size: 16px;
    line-height: 1.6;
    color: #111;
    display: block !important;
	padding-bottom: 0 !important;
}

.c-prad__points {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
    margin: 12px 0 18px;
}

.c-prad__point {
    background: #f7f5ee;
    border-radius: 14px;
    padding: 10px 10px;
    display: flex;
    align-items: center;
    gap: 20px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
	position: relative;
}

.c-prad__point:not(:last-child)::after {
	content: "";
	width: 2px;
	height: 100%;
	position: absolute;
	right: -8px;
	background: linear-gradient(to bottom, #AAA697, #E2DFC8, #AAA697);
}

.c-prad__point-icon {
    width: 44px;
    height: 44px;
    object-fit: contain;
    flex: 0 0 auto;
	margin-bottom: 0 !important;
}

.c-prad__point-text {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
    color: #111;
    display: block !important;
	padding-bottom: 0 !important;
}

.c-prad__cta {
    margin-top: 8px;
}

.c-prad__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    text-decoration: none !important;
    background: #FF8600;
    color: #fff !important;
    border-radius: 999px;
    padding: 18px 20px;
    box-shadow: 0 6px 0 rgba(0, 0, 0, 0.12);
    transition: all .3s ease;
}

.c-prad__btn:hover {
    box-shadow: none;
    transform: translateY(6px);
}

.c-prad__btn-text {
    font-size: 18px;
    font-weight: 800;
    line-height: 1.25;
    text-align: center;
}

.c-prad__btn-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.18);
}

@media (max-width: 768px) {
    .c-prad {
        border-radius: 20px;
        padding: 14px;
    }

    .c-prad__title {
        font-size: 18px;
    }

    .c-prad__points {
        grid-template-columns: 1fr;
    }
}

.c-note-box {
    margin: 30px 0;
}

.c-note-box__frame {
    position: relative;
    border: 2px solid #4FB06A;
    padding: 28px 22px 22px;
    background: #fff;
}

.c-note-box__label {
    position: absolute;
    top: -20px;
    left: 25px;
    background: #4FB06A;
    padding: 10px 16px;
    min-width: 260px;
}

.c-note-box__label-text {
    color: #111;
    font-weight: 700;
    font-size: 16px;
    line-height: 1;
}

.c-note-box__body {
    margin-top: 6px;
}

.c-note-box__text {
    margin: 0;
    color: #111;
    font-size: 16px;
    line-height: 1.7;
    display: block !important;
	padding-bottom: 0 !important;
}

@media (max-width: 768px) {
    .c-note-box__frame {
        padding: 26px 16px 18px;
    }

    .c-note-box__label {
        min-width: 200px;
        padding: 9px 12px;
    }

    .c-note-box__label-text {
        font-size: 15px;
    }
}

.c-callout {
    background: #fbf1e8;
    padding: 18px 18px;
    margin: 28px 0;
    border-radius: 6px;
}

.c-callout__inner {
    display: flex;
    align-items: center;
    gap: 14px;
}

.c-callout__icon {
    flex: 0 0 auto;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 2px;
}

.c-callout__icon-img {
    width: 26px;
    height: 26px;
    object-fit: contain;
	margin-bottom: 0 !important;
}

.c-callout__divider {
    width: 2px;
    background: #f1b79b;
    border-radius: 2px;
    align-self: stretch;
}

.c-callout__body {
    flex: 1 1 auto;
}

.c-callout__text {
    margin: 0;
    font-size: 16px;
    line-height: 1.7;
    color: #111;
    display: block !important;
	padding-bottom: 0 !important;
}

@media (max-width: 768px) {
    .c-callout {
        padding: 16px 14px;
    }

    .c-callout__text {
        font-size: 15px;
    }
}

.c-review-card {
    background: #fef3eb;
    border-radius: .8rem;
    padding: 1.6rem;
    margin: 30px 0;
    gap: 1.2rem;
    display: flex;
    flex-direction: column;
    color: #1f1f1f;
    font-weight: 700;
    font-size: 1rem;
    max-width: 350px;
}

.c-review-card__header {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.c-review-card__avatar {
    width: 45px;
}

.c-review-card__avatar-img {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: auto;
    border-radius: 50%;
	margin-bottom: 0 !important;
}

.c-review-card__title {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.5;
    color: #ed6103;
}

.c-review-card__meta-item {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 8px;
    font-size: 1rem;
    line-height: 1.6;
    color: #111;
}

.c-review-card__meta-item:last-child {
    margin-bottom: 0;
}

.c-review-card__meta-label {
    font-weight: 400;
}

.c-review-card__meta-text {
    font-weight: 400;
}

.c-review-card__text {
    margin: 0;
	padding-bottom: 0 !important;
    font-size: 1rem;
    line-height: 1.6;
    color: #111;
    display: block !important;
	font-weight: normal !important;
}

.c-review-card__rating-label {
    margin-bottom: .6rem;
    font-size: .9rem;
    font-weight: 500;
    color: #111;
}

.c-review-card__rating-row {
    display: flex;
    align-items: center;
    gap: 12px;
}

.c-review-card__rating-stars {
    font-size: 1.2rem;
    line-height: 1;
    letter-spacing: 4px;
    color: #f26a00;
    display: flex;
    align-items: center;
}

.c-review-card__rating-divider {
    width: 1px;
    height: 30px;
    background: #111;
}

.c-review-card__rating-score {
    font-size: 24px;
    font-weight: 400;
    line-height: 1;
    color: #111;
}

@media (max-width: 768px) {
    .c-review-card {
        padding: 20px 16px 18px;
        border-radius: 14px;
		width: 100%;
		max-width: 100%;
    }

    .c-review-card__header {
        align-items: flex-start;
        gap: 14px;
        margin-bottom: 20px;
    }

    .c-review-card__avatar {
        flex: 0 0 84px;
        width: 84px;
    }

    .c-review-card__title {
        font-size: 18px;
    }

    .c-review-card__meta-item,
    .c-review-card__text,
    .c-review-card__rating-label {
        font-size: 16px;
    }

    .c-review-card__rating-stars {
        font-size: 24px;
        letter-spacing: 2px;
    }

    .c-review-card__rating-score {
        font-size: 22px;
    }
}

.c-review-slider {
    width: 100%;
    margin: 30px 0;
}

.c-review-slider__scroller {
    padding-bottom: 14px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.c-review-slider__list {
    display: flex;
    gap: 12px;
    min-width: max-content;
}

.c-review-slider__list .c-review-card {
    margin: 0;
}

.c-breadcrumb {
    width: 100%;
    background: #e5e5e5;
    border-top: 1px solid #d8d8d8;
    border-bottom: 1px solid #d8d8d8;
}

.c-breadcrumb__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 6px 20px;
    box-sizing: border-box;
}

.c-breadcrumb__list {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0;
    font-size: 13px;
    line-height: 1.5;
    color: #111;
}

.c-breadcrumb__item {
    display: inline-flex;
    align-items: center;
}

.c-breadcrumb__item br {
	display: none;
}

.c-breadcrumb__link {
    color: #111;
    text-decoration: none;
}

.c-breadcrumb__link:hover {
    text-decoration: underline;
	color: #0094c8 !important;
}

.c-breadcrumb__separator {
    display: inline-flex;
    align-items: center;
    margin: 0 4px;
    color: #111;
    font-size: 12px;
}

.c-breadcrumb__current {
    color: #111;
}

@media (max-width: 768px) {
    .c-breadcrumb__inner {
        padding: 6px 12px;
    }

    .c-breadcrumb__list {
        font-size: 12px;
        line-height: 1.5;
    }

    .c-breadcrumb__separator {
        margin: 0 3px;
        font-size: 11px;
    }
}

.c-flow {
    margin: 40px 0;
}

.c-flow__list {
    position: relative;
	overflow: hidden;
}

.c-flow__item {
    position: relative;
    padding-left: 80px;
    margin-bottom: 50px;
}

.c-flow__line {
    position: absolute;
    left: 34px;
    top: 0;
    bottom: -50px;
    width: 2px;
    background: #cfcfcf;
}

.c-flow__step {
    position: absolute;
    left: 10px;
    top: 0;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #3d79a8;
    color: #fff;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.c-flow__step br {
	display: none;
}

.c-flow__step-label {
    font-size: 10px;
    line-height: 1;
}

.c-flow__step-number {
    font-size: 16px;
    font-weight: bold;
}

.c-flow__content {
    padding-top: 4px;
}

.c-flow__title {
    background: #e9e9e9;
    padding: 10px 14px;
    font-weight: bold;
    margin-bottom: 14px;
}

.c-flow__text {
    margin: 0;
    line-height: 1.8;
    font-size: 16px;
    display: block !important;
	padding-bottom: 0 !important;
}

.c-flow__item:last-child .c-flow__line {
    bottom: 0;
}

.c-checklist {
    margin: 30px 0;
}

.c-checklist__list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.c-checklist__item {
    display: flex;
    align-items: center;
    gap: 10px;
}

.c-checklist__icon {
    width: 25px;
    height: 25px;
    background: #6b6b6b;
    color: #fff;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
}

.c-checklist__text {
    font-size: 18px;
    line-height: 1.6;
}

@media (max-width: 768px) {
    .c-checklist__icon {
        width: 38px;
        height: 38px;
        font-size: 22px;
    }

    .c-checklist__text {
        font-size: 16px;
    }
}