/* ============================================
   1. Animations & Base Definitions
   ============================================ */

/* Slide Up Animation */
@keyframes shortSlideUp {
  0% { transform: translateY(30px); opacity: 0; }
  100% { transform: translateY(0); opacity: 1; }
}

@keyframes smTitleSlideUp {
  0% { transform: translateY(100%); opacity: 0; }
  100% { transform: translateY(0); opacity: 1; }
}

@keyframes loop-text {
  0% { transform: translateX(0%); }
  100% { transform: translateX(-50%); }
}

/* Base Settings */
body {
  background-color: #fff;
  background-image: url('https://www.cpa-ishiwari.jp/wp-content/uploads/header-title-bg-img.png');
  background-repeat: no-repeat;
  background-position: right -300px top -50px;
  background-size: 600px auto;
}
body .home {
  background-color: #fff;
}

/* Typography Base */
.c-page-header__title::before,
.c-entry__title::after,
.c-page-header__subtitle,
.smb-section__subtitle,
.gf {
  font-family: "Figtree", sans-serif;
  font-weight: 300;
}
h2, h3 {
  color: #333;
}
.text-underline {
  display: inline-block;
  border-bottom: 1px solid #fff;
}
.container-center {
  text-align: center;
}

/* Utility */
.mt0, .wp-block-spacer { margin-top: 0 !important; }
.title-m0 { margin: 0 !important; }
.wrapper {
  display: flex;
  animation: loop-text 10s linear infinite;
  margin-top: 0;
}


/* ============================================
   2. Layout: Header & Navigation
   ============================================ */

.l-header { background-color: initial; }

/* Site Branding */
.c-site-branding.c-site-branding--has-logo {
  display: flex;
  flex-direction: column-reverse;
}
.l-1row-header__branding {
  padding-top: 0;
  padding-bottom: 0;
}
.c-site-branding__description {
  color: #333;
  font-size: .7rem;
}

/* Global Nav */
.p-global-nav { margin-right: -1.2rem; }
.p-global-nav .c-navbar__item > a {
  padding-top: 1.6rem !important;
  padding-bottom: 1.6rem !important;
}
.p-global-nav .c-navbar__item > a:hover {
	color: #1a4282!important;
}
.header-cta-nav-mail a {
    transition: background-color 0.3s ease;
}
.p-global-nav .c-navbar__item.header-cta-nav-mail > a:hover {
background: #16386e!important;
	color: #fff!important;
}

/* Dropdown / Mega Menu */
.p-drop-nav .p-global-nav { display: flex; justify-content: flex-end !important; }
.p-drop-nav .c-container { max-width: 100% !important; padding: 0; }
.p-drop-nav ul { margin-right: 350px; }
.p-drop-nav .p-global-nav .c-navbar__item > a {
  font-size: .88rem;
  padding: 2rem 2rem !important;
}
ul.c-navbar__submenu {
  justify-content: center;
}
.snow-monkey-mega-menu--mega-menu-1 > .c-navbar__submenu > .c-navbar__subitem {
  flex: 1 1 33%!important;
  max-width: 33%!important;
}
.snow-monkey-mega-menu > .c-navbar__submenu:before {
  background-color: #1c3151d4;
}

/* Header CTA Buttons */
.header-cta-nav-mail { 
  background: linear-gradient(to right, rgb(34, 59, 101) 0%, rgb(28 49 81) 43%);
	margin-left: 1rem;
}
.header-cta-nav-mail a {
  display: flex;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center;
  gap: 10px;
  background: linear-gradient(to right, rgb(34, 59, 101) 0%, rgb(28 49 81) 43%);
  width: 190px;
  padding: 1rem 1rem 1rem 2rem;
  font-size: 1rem;
  font-weight: bold;
  color: #fff !important;
}


.header-cta-nav-mail a::before {
  content: "";
  display: block !important;
  width: 24px;
  height: 18px;
  background-image: url('https://www.cpa-ishiwari.jp/wp-content/uploads/cta-btn-icn.png');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  margin: 0 !important;
}
.header-cta-nav-mail a span {
  display: block !important;
  margin: 0 !important;
  padding-left: .6rem;
  position: relative;
}

.header-cta-nav-phone > a {
  flex-direction: column;
  gap: 0 !important;
  padding: 4px 10px 0 4px;
}
.header-cta-phone-num {
  font-size: 1.8rem;
  font-weight: bold;
  color: var(--accent-color) !important;
  position: relative;
}
.header-cta-phone-num::before {
  content: "";
  background-image: url(https://www.cpa-ishiwari.jp/wp-content/uploads/phone-icn-img.png);
  background-size: contain;
  position: absolute;
  top: 7px; left: -22px; width: 18px; height: 20px;
}
.header-cta-phone-time {
  color: #333;
  margin-top: 2px;
  padding-right: 1rem;
}

.header-cta-nav-line > a {
  color: #fff !important;
  margin-left: .6rem;
  font-size: 1rem;
  width: 170px;
  padding: .8rem .8rem .8rem 2rem;
  background-color: #07C655;
  font-weight: bold;
  position: relative;
}
.header-cta-nav-line a::before {
  content: "";
  background-image: url(https://www.cpa-ishiwari.jp/wp-content/uploads/line-icn-img.png);
  background-size: contain;
  position: absolute;
  top: 15px; left: 20px; width: 29.5px; height: 28px;
}




/* ============================================
   3. Layout: Footer
   ============================================ */

.footer-section { border-top: 3px solid var(--accent-color); }
.l-footer { border-top: 0; }
.l-footer__header { display: none; }
.l-footer--footer-3 .l-footer__footer { background-color: #F7F7F7; }
.l-footer__footer .c-container { padding-top: 2rem; border-top: 1px solid #ccc; }

/* Footer Logo & Menu */
.footer-logo-text { margin-top: 0; }
.footer-logo-text a {
  margin-top: 0;
  color: #333;
  text-decoration: none;
  font-weight: 700;
  font-size: 2rem;
}
.footer-menu li { list-style: none; font-weight: 700; }
.footer-menu li ul { padding-left: 5px; }
.footer-menu > li > ul > li {
  position: relative;
  font-size: .88rem;
  font-weight: 400;
  padding-left: .9rem;
}
.footer-menu > li > ul > li::before {
  content: "";
  display: inline-block;
  background-color: #233A65;
  width: 5px; height: 5px;
  position: absolute; top: 11px; left: 0;
}
.footer-menu li a, .sns-nav a { text-decoration: none; color: #333; transition: color 0.4s ease; }
.footer-menu li a:hover { color: var(--accent-color) !important; }

/* Footer Buttons & SNS */
.footer-group-btn .smb-btn {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px;
}
.footer-group-btn .smb-btn::after,
.company-link:after {
  content: "";
  display: block !important;
  width: 20px; height: 15px;
  background-image: url('https://www.cpa-ishiwari.jp/wp-content/uploads/blank-icn.png');
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.company-link {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  vertical-align: middle;
}
.menu-insta.sp-nav-sns { border: none; }
.menu-insta.sp-nav-sns svg, .menu-insta.sp-nav-sns a { color: #fff !important; }

/* Sticky Footer Nav */
.p-footer-sticky-nav:before {
  content: "＼ ご相談は無料です ／";
  display: block; text-align: center;
  font-size: .88rem; font-weight: bold; padding: 3px;
}
.p-footer-sticky-nav a { display: flex; align-items: center; gap: 0px; }
.p-footer-sticky-nav a > svg { margin: 0; padding-right: .4rem; }
.p-footer-sticky-nav .c-navbar__item[data-active-menu] { color: #fff !important; }

.sticky-tel { background: #5EB52F; color: #fff; font-weight: bold; }
.sticky-tel a { font-size: 1.1rem; padding-top: .8rem; padding-bottom: .8rem; }
.sticky-tel a svg { font-size: 1.4rem; }

.sticky-mail { background: var(--accent-color); color: #fff; font-weight: bold; }
.sticky-mail a { font-size: .88rem; padding-top: .8rem; padding-bottom: .8rem; }
.sticky-mail a svg { font-size: 1.3rem; }

/* Page Top Button */
#page-top.c-page-top {
  right: 1rem; bottom: 1rem;
  border: 1px solid #6c7d95; background-color: initial; border-radius: 100px;
}
.c-page-top svg { color: #6c7d95; height: .7em; }


/* ============================================
   4. Common Components
   ============================================ */

/* Buttons (Generic & Variations) */
.gm-btn .smb-btn {
  font-size: .88rem;
  border-bottom: 1px solid var(--accent-color) !important;
  padding: 0 5px 2px 5px;
  border-radius: 0;
}

/* Button 01 */
.btn01.is-style-snow-monkey-143789 .smb-btn {
  justify-content: start; position: relative; border: 1px solid;
  padding-top: 1rem; padding-bottom: 1rem;
  --btn--arrow-area-width: 40px;
}
.btn01.is-style-snow-monkey-143789 .smb-btn:before {
  background: var(--accent-color); border-left: 1px solid #ffb066;
}
.btn01.is-style-snow-monkey-143789 .smb-btn__label { margin-right: 1.4rem; }

/* Button 02 */
.btn02.is-style-snow-monkey-143795 .smb-btn {
  border-bottom: 1px solid var(--accent-color);
  padding-left: 10px; padding-bottom: 1rem; padding-right: 6rem;
}
.btn02.is-style-snow-monkey-143795 .smb-btn .smb-btn__label { color: #333; font-size: 1rem; }
.btn02.is-style-snow-monkey-143795 .smb-btn::before {
  position: absolute; right: 5px; width: 24px !important; height: 28px !important;
  border-radius: 0; background-color: var(--accent-color);
}
.btn02.is-style-snow-monkey-143795 .smb-btn::after { right: 14px; }
.btn02.is-style-snow-monkey-143795 .smb-btn:hover::before { background-color: #395886 !important; }

/* Main Button */
.main-btn .smb-btn { position: relative; padding-top: 1rem; padding-bottom: 1rem; }
.main-btn .smb-btn::before { right: 13px; width: 14px; height: 1px; background: #fff; }
.main-btn .smb-btn::after {
  right: 14px; width: 10px; height: 10px;
  border-top: 1px solid #fff; border-right: 1px solid #fff;
  transform: rotate(45deg);
}
.main-btn .smb-btn::before, .main-btn .smb-btn::after {
  position: absolute; top: 0; bottom: 0; margin: auto; content: ""; vertical-align: middle;
}

/* Service Header Button */
.service-other-header-menu .smb-btn {
  padding-top: .8rem; padding-bottom: .8rem;
  background-color: var(--accent-color) !important; color: #fff !important;
  border-radius: 0; border: 1px solid; font-weight: bold;
}
.service-other-header-menu .smb-btn__label {
  position: relative; display: inline-block; padding-right: 1.6rem;
}
.service-other-header-menu .smb-btn__label::before {
  content: ''; position: absolute; top: 50%; right: -5px; transform: translateY(-50%);
  width: 22px; height: 22px; background-color: #4a6184; border-radius: 50%;
}
.service-other-header-menu .smb-btn__label::after {
  content: ''; position: absolute; top: 50%; right: 3px;
  width: 6px; height: 6px; border-bottom: 1px solid #fff; border-right: 1px solid #fff;
  transform: translateY(-65%) rotate(45deg);
}

/* Lists */
li::marker { color: var(--accent-color); }
.list-2col {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 !important;
  margin: 0; align-items: start;
}
.list-2col > li { margin-top: .8rem; padding: 0 1rem .4rem 0; }
ol.is-style-sme-ordered-list-square li::before {
  background-color: var(--accent-color); color: #fff;
}
.smb-list ul>li .smb-list__icon { left: -1.7em; position: absolute; }
.smb-list__icon svg { font-size: 1.1rem; }

/* List Box 01 */
.list-box01 { margin-top: 2rem; padding-left: 0; margin-left: 1rem !important; }
.list-box01 > li {
  position: relative; list-style: none; width: 70%; margin-top: 0;
  padding: 1rem 0 1rem 1.6rem; background-color: #f9f9f9; border-bottom: 1px solid #ddd;
}
.list-box01 > li:first-child { border-top: 1px solid #ddd; }
.list-box01 li:before {
  content: ""; display: inline-block; background-color: #223962;
  width: 6px; height: 6px; margin-right: 10px; position: absolute; top: 28px; left: 10px;
}

/* Tables (Info Profile & Custom) */
.smb-info-profile .c-row .smb-information__item__label {
  display: flex !important; flex-direction: row !important;
  align-items: center !important; justify-content: flex-start !important;
  width: 90% !important; margin: 0 !important; padding: 0 !important; text-align: left !important;
}
.smb-info-profile .c-row__col--md-1-4 { --_item-width: 20%; }

.table01.smb-information .smb-information__item__label,
.smb-information__item__body {
  border-left: none !important; border-right: none !important;
}
.table02 .smb-information__item__label { position: relative; }
.table02 .smb-information__item__label::after {
  content: ''; position: absolute; top: 4px; bottom: 0; width: 60%; height: 1px;
  margin: auto auto auto 5rem; background-color: var(--accent-color);
}
.wp-block-flexible-table-block-table tfoot td { border-top: 3px double #ccc !important; }

/* Accordion */
.smb-accordion__item__title__label { color: #333; }
.smb-accordion__item__title { font-weight: bold; padding: 0 1rem 0 0; font-size: 1.14rem; }
.smb-accordion__item__title::before {
  width: 3rem !important; height: 3rem !important; border-radius: 0 !important; font-size: 1.4rem;
}
.smb-accordion__item__title__icon::before {
  width: 15px !important; height: 15px !important; background-color: var(--accent-color) !important;
}
.smb-accordion__item__body { background: #fff; margin-top: 5px; }

/* Badges & Highlighter */
.sme-badge { border-radius: 0; font-size: .88rem; font-weight: bold !important; }
.badge01 .sme-badge { padding: .2rem 1rem; }
.contact-attention-badge .sme-badge { padding: .6rem 2rem; }
.sme-highlighter { background-image: linear-gradient(transparent 74%, #ffac5e 74%) !important; }


/* ============================================
   5. Snow Monkey Components Overrides
   ============================================ */

/* Article/Item Figures (Global) */
.c-entry-summary__figure,
.smb-items__item__figure {
    position: relative;
    overflow: hidden !important;
    transform: translateZ(0);
    border-radius: 0;
}
.c-entry-summary__figure img,
.smb-items__item__figure img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    vertical-align: bottom;
    will-change: transform;
    backface-visibility: hidden;
    transition: transform 0.4s ease-out !important;
}
.smb-items__item__figure { margin: 0; width: 100%; }

/* Hover Effects */
.c-entries__item>a:hover .c-entry-summary__figure>img { filter: initial; }
.c-entries__item:hover .c-entry-summary__figure img,
.smb-items__item:hover .smb-items__item__figure img,
.wp-block-snow-monkey-blocks-items-item-block-link:hover .smb-items__item__figure img {
    transform: scale(1.05) translateZ(0) !important;
}
.smb-items__item:hover .smb-items__item__figure img { transform: scale(1.1); }

/* Section Headers */
.section-title-center > .smb-section__inner > .c-container > .smb-section__contents-wrapper--left > .smb-section__header > .smb-section__subtitle {
  position: relative; padding-bottom: 40px;
}
.section-title-center > .smb-section__inner > .c-container > .smb-section__contents-wrapper--left > .smb-section__header > .smb-section__subtitle:after {
  content: ''; position: absolute; right: 0; bottom: 0; left: 0;
  width: 1px; height: 30px; margin: auto; background-color: var(--accent-color);
}
.section-cta .smb-section__subtitle,
.smb-section__contents-wrapper--left .smb-section__subtitle {
  position: relative; display: inline-block; padding-right: 4rem;
}



/* Background Text */
.smb-section__background-text__text { white-space: nowrap; }
.section-bt-center .smb-section__background-text__text {
  position: absolute; top: 0; left: 50%; transform: translateX(-50%);
}

/* Steps (Flow) */
.smb-step__body:before { left: 24px; }
.smb-step__item__number {
  background-color: var(--accent-color); width: 50px; height: 50px;
  flex-direction: column-reverse; gap: 1px !important;
}
.smb-step__item__number:before { color: #fff; font-size: .88rem; line-height: 1; }
.home .smb-step__item__number:after { content: "STEP"; color: #fff; font-size: .6rem; }
.smb-step__item { margin-top: 3rem; }
.smb-step__item__title { font-size: 1.14rem; }

/* Page Header */
.c-page-header { border-bottom: 1px solid #ececec; padding-bottom: 6rem; }
.c-page-header[data-has-image=true] { height: clamp(200px, 30vw, 360px); }
.c-page-header__bgimage img { opacity: .1; }
.c-page-header__subtitle {
  padding: 1px; font-size: 1rem; line-height: 1; color: var(--accent-color); position: relative;
}
.c-page-header__subtitle::after {
  content: ''; position: absolute; top: 2px; bottom: 0; width: 50px; height: 1px;
  margin: auto auto auto .8rem; background-color: #677d9f;
}
.c-page-header__title {
  margin-top: .6rem; font-size: 2.4rem; color: #333;
  /* Animation */
  display: block; transform: translateY(100%); opacity: 0;
  animation: smTitleSlideUp 2.0s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
.c-page-header__content {
  flex-direction: column-reverse; overflow: hidden;
}
.c-page-header__content > :not(.c-page-header__title) {
  display: block; transform: translateY(100%); opacity: 0;
  animation: smTitleSlideUp 2.0s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  animation-delay: 0.3s;
}

/* Breadcrumbs */
.p-breadcrumbs-wrapper { position: relative; padding: 0 !important; }
.c-breadcrumbs {
  position: absolute; top: -80px; right: 0; padding-bottom: 7px;
  border-bottom: 1px solid var(--accent-color);
}
.c-breadcrumbs a { text-decoration: none; color: #333; }

/* Entries & Meta */
.c-meta__term { font-size: .8rem; }
li.c-meta__item.c-meta__item--author,
li.c-meta__item.c-meta__item--modified,
li.c-meta__item.c-meta__item--categories svg { display: none; }
li.c-meta__item.c-meta__item--categories {
  background-color: #f7f7f7; border: 1px solid #738fbb; padding: 0 14px 1px;
}
li.c-meta__item.c-meta__item--published { color: var(--accent-color); }

/* Related Posts */
.p-related-posts .c-entries__item { padding-right: 1px; padding-left: 1px; }
.p-related-posts .c-entries { margin: 0; }
.p-related-posts .c-entry-summary__body { padding-right: 1rem; }
.c-entry-aside__title:before { display: none; }
.c-entry-aside__title:after { background-color: #ccc; }
.c-entries-carousel__item img { transition: .8s; }
.c-entries-carousel__item:hover img { filter: brightness(.8); }

/* Widgets */
.c-widget > h2 {
  font-size: 1.14rem !important; padding: 0 .5rem; line-height: 1.5 !important;
  border-left: 3px solid var(--accent-color);
}
.c-widget > h2::before { display: none; }
.c-widget > h2:after { background-color: #8c9db8; }


/* ============================================
   6. Archive, Single & News Specifics
   ============================================ */

/* Archive */
.p-archive { padding-top: 3rem; }
.widget_nav_menu li { padding-bottom: 5px; position: relative; padding-left: 1rem; }
.widget_nav_menu li::before {
  content: ""; width: .4rem; height: 2px; background-color: var(--accent-color);
  display: grid; place-content: center; position: absolute; top: 50%; left: 0%;
  transform: translateY(-50%);
}

/* News Archive */
.tax-news_category .c-entry__header,
.post-type-archive-news .c-entry__header { margin-bottom: 0; }
.tax-news_category .l-contents__inner,
.post-type-archive-news .l-contents__inner { padding-bottom: 5rem; }
.tax-news_category .c-breadcrumbs,
.post-type-archive-news .c-breadcrumbs {
  margin-top: 2rem; position: initial; border: initial;
}
.post-type-archive-news .c-entry__title::after {
  content: "News"; font-size: 1rem; margin-left: 1rem; color: var(--accent-color);
}

/* Single Post */
.single .c-breadcrumbs { margin-top: 2rem; position: initial; border: none; }
.single .c-entry__content.p-entry-content ul.wp-block-list {
  margin-left: 0 !important; padding: 1rem 1rem 1rem 2.2rem !important;
  background-color: #f3f6fc !important; border: 1px solid #7f899a;
}
.single .c-entry__content.p-entry-content h2 {
  font-size: 1.5rem; position: relative; border-bottom: 1px solid #ccc;
  padding-bottom: .4rem; padding-left: .8rem;
}
.single .c-entry__content.p-entry-content h2::before {
  content: ""; display: block; position: absolute; height: 2px; left: 0; bottom: -1px;
  width: 6em; background-color: var(--accent-color);
}
.single .c-entry__content.p-entry-content h3 {
  border-left: 3px solid var(--accent-color); padding: 0 .4rem; line-height: 1.6;
}

/* Profile Box */
.wp-profile-box { margin-top: 4rem; }
.wp-profile-box__title {
  border-top: 1px solid var(--accent-color); border-bottom: none;
  font-size: 1.14rem; padding: 1rem .4rem 0 1rem; display: flex; align-items: center;
}
.wp-profile-box__title::after {
  content: "Profile"; font-size: .7rem; margin-left: 1rem; color: var(--accent-color);
}
.wp-profile-box__buttons { display: none; }
.wpaw-term { padding-top: 0; padding-bottom: 0; }


/* ============================================
   7. Top Page / LP Specific Sections
   ============================================ */

/* MV (Key Visual) & Animation classes */
.mv { min-height: 90vh !important; }
.mv .wp-block-columns.is-layout-flex {
  display: flex; justify-content: flex-start; max-width: 700px !important; margin: 0 !important;
}
.mv-copy01, .mv-copy02 {
  display: block; opacity: 0;
  animation: shortSlideUp 2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
.mv-copy02 { margin-top: 0; animation-delay: .5s; }
.kv-btn .smb-btn {
  border: 1px solid var(--accent-color);
  padding: 1.6rem 2.6rem 1.6rem 1.2rem !important;
}
.kv-btn .smb-btn__label { position: relative; line-height: 1; }
.kv-btn .smb-btn__label::after {
  content: ''; position: absolute; top: 4px; right: -24px; display: block;
  color: #fff !important; margin: auto; width: .6rem; height: .6rem;
  border-top: 2px solid var(--accent-color); border-right: 2px solid var(--accent-color);
  transform: rotate(45deg);
}

/* Top Achievements */
.top-achievements .smb-items__item {
  position: relative; isolation: isolate; min-height: 80px;
  display: flex; align-items: center; justify-content: center;
}
.top-achievements .smb-items__item::before {
  content: ""; position: absolute; width: 260px; height: 190px;
  top: 50%; left: 50%; transform: translate(-50%, -50%);
  background-image: url('https://www.cpa-ishiwari.jp/wp-content/uploads/archive-deco-bg.png');
  background-repeat: no-repeat; background-position: center; background-size: contain;
  z-index: 0; pointer-events: none;
}
.top-achievements .smb-items__item__body { position: relative; z-index: 1; width: 100%; text-align: center; }
.achievement-copy-title {
  display: inline-block; background-color: #e7f0ff; padding: 0px 10px; border-radius: 50px;
}
.top-achievements .c-row { align-items: center; }

/* Top Feature */
.top-feature .smb-media-text__title { line-height: 1; font-size: 1.6rem !important; }
.top-feature .smb-media-text__title::before {
  font-size: .88rem; font-weight: normal; position: absolute;
  top: -1px; left: -1.6rem; color: var(--accent-color);
}
.top-feature .mt-feature01 .smb-media-text__title::before { content: "01"; }
.top-feature .mt-feature02 .smb-media-text__title::before { content: "02"; }
.top-feature .mt-feature03 .smb-media-text__title::before { content: "03"; }
.top-feature .mt-feature04 .smb-media-text__title::before { content: "04"; }
.top-feature .mt-feature05 .smb-media-text__title::before { content: "05"; }

/* Top Group / Blog / News */
.top-group .smb-items__item__body { position: relative; }
.top-group .smb-section__background-text__text {
  font-weight: normal !important; bottom: -10px !important; top: initial !important;
}
.top-group .sme-badge {
  color: var(--accent-color); border: 1px solid var(--accent-color); background-color: #fff !important;
}
.top-group .smb-items__item { box-shadow: 2px 4px 8px 0px rgba(0, 0, 0, 0.06); }
.diamond {
  position: absolute; top: -26px; left: 50%; transform: translateX(-50%) rotate(45deg);
  width: 50px; height: 50px;
  background: linear-gradient(to right, rgb(34, 59, 101) 0%, rgb(28 49 81) 43%);
  overflow: hidden; color: #fff;
}
.diamond .text_box {
  width: 50px; height: 50px; padding: 10px; text-align: center; box-sizing: border-box;
  transform: rotate(-45deg);
}

.top-blog { box-shadow: 0px 4px 10px 4px rgba(0, 0, 0, 0.04); }
.top-blog .smb-buttons { position: absolute; top: 1.8rem; right: 2rem; }
.top-blog .wp-block-group > h3 { margin-left: 10px; }

.top-news .smb-buttons { position: absolute; top: 7rem; left: 2rem; }
.top-news .c-entries--text { border-top: 1px solid #fff; }
.top-news .c-entries--text .c-entries__item { border-bottom: 3px solid #fff; }
.top-news .c-entries--text .c-entries__item>a { background-color: #f7f7f7; padding: 2rem; }

/* Top Service & Prices */
.top-service-main { position: relative !important; border-top: 1px solid #2a4369; }
.top-service-main .smb-section__header > h2.smb-section__title { margin-top: ; line-height: 1.4; }
.top-service-main .smb-buttons { position: absolute !important; top: 0; right: 0; }
.top-service-main h3.smb-items__item__title {
  font-size: 1.14rem; font-weight: normal !important; padding-left: 1rem;
}
.top-service-main .smb-items__item__figure { border: 10px solid #2a4369; }
.top-service-price-title { font-weight: normal; }


/* Other Sections (Profile, Service Flow, CTA) */
.section-profile h2 {
  position: relative; padding-left: .4rem; padding-bottom: .3rem; border-bottom: 2px solid #ccc;
}
.section-profile h2::before {
  content: ""; width: 30%; height: 2px; background-color: var(--accent-color);
  display: inline-block; position: absolute; bottom: -2px; left: -.4rem;
}
.service-other-title {
  padding: 1.4rem 1rem 1.5rem 3.4rem; font-size: 2rem;
  border-top: 2px solid var(--accent-color); border-bottom: 1px solid #ccc !important;
  position: relative; line-height: 1; margin-bottom: 1px;
}
.service-other-title::before {
  content: ''; position: absolute; top: 30px; left: 1rem; width: 20px; height: 20px;
  background-color: var(--accent-color);
}

.section-service-flow .smb-step__item__number:before { font-size: 1.14rem; }
.section-service-cta { margin-bottom: -50px; }

.service-box01 .smb-information { margin-top: 2rem; }
.service-box01 { border-top: 1px solid var(--accent-color); }
.box-title01 {
  padding: 3px 1rem; position: absolute; top: -3.2rem; left: -1.2rem;
  background-color: var(--accent-color); color: #fff;
}
.smb-info-table01 .c-row__col--md-1-4 { --_item-width: 15%; }
.smb-info-table01 .smb-information__item__label {
  padding: .4rem 1rem !important; font-weight: bold; background-color: #f5f5f5;
}
.smb-info-table01 .smb-information__item__body { padding: .3rem 1rem !important; }

.service-title02 {
  font-size: 1.6rem; position: relative; border-top: 1px solid #ccc;
  padding-top: 1.4rem; margin-top: 3.4rem !important;
}
.service-title02::after {
  content: ""; height: 2px; background: var(--accent-color); width: 20px;
  position: absolute; top: 0; left: 0rem;
}

.merit-title-box { border-top: 1px solid var(--accent-color); }
.merit-title-wrap {
  position: absolute; top: -3rem; left: -1.2rem;
  background: linear-gradient(to right, rgb(34, 59, 101) 0%, rgb(28 49 81) 43%);
  color: #fff; padding: 2px 10px;
}
.section-service .smb-media-text { padding-top: 2.4rem; border-top: 1px solid #ccc; }
.section-service .smb-media-text::before {
  content: ""; height: 2px; width: 50px; background-color: #333;
  position: absolute; top: 0; left: 0;
}
.service-list-num {
  display: flex; justify-content: center; align-items: center; width: 36px; height: 36px;
  background: linear-gradient(to right, rgb(51 80 129) 0%, rgb(39 64 102) 43%); color: #fff;
}

.section-service-flow .smb-section-side-heading__title,
.section-service-list .smb-section-side-heading__title {
  font-size: 1.6rem; margin-top: 0;
}
.section-service-list .smb-items .c-row__col { border-bottom: 1px solid #ddd; }
.section-service-list .smb-items__item--free>.smb-items__item__body { padding-bottom: 1.4rem; }

.section-service-flow .smb-step__item__title { font-size: 1.33rem; }
h4.service-flow-title {
  border-left: 3px solid var(--accent-color); padding-left: 10px; line-height: 1.4; margin-bottom: .6rem;
}

.section-cta .smb-section__background { margin: 1rem; }
.section-cta .c-row__col--md-1-3 { --_item-width: 36%; }
.section-cta .c-row__col--md-2-3 { --_item-width: 45%; }
.cta-btn.btn02.is-style-snow-monkey-143795 .smb-btn {
  padding-top: 0; padding-bottom: 1.4rem !important; border-bottom: 1px solid #5b6b83 !important;
}
.cta-btn.btn02.is-style-snow-monkey-143795 .smb-btn::before { background-color: #274268; }
.cta-btn-mail .smb-btn__label::before {
  content: "";
  background-image: url(https://www.cpa-ishiwari.jp/wp-content/uploads/mail-icn-img.png);
  background-size: contain; position: absolute; top: 6px; left: -18px; width: 26px; height: 18px;
}
.contact-badge .sme-badge { padding-left: 1rem; padding-right: 1rem; padding-top: 5px; }

/* Dark Sections */
.section-dark.is-style-snow-monkey-143826::before { background-color: #fff !important; }
section.section--dark .smb-section__subtitle { color: #fff !important; }
section.section--dark .btn02.is-style-snow-monkey-143795 .smb-btn { border-bottom: 1px solid #5B6B83; }
section.section--dark .btn02.is-style-snow-monkey-143795 .smb-btn::before { background-color: #274168; }
section-cta .smb-section__subtitle::after,
section.section--dark > .smb-section__inner > .c-container > .smb-section__contents-wrapper--left > .smb-section__header > .smb-section__subtitle::after {
  background-color: #4e6281;
}

/* Background Utility Classes */
.section-header-bg .smb-section-with-bgimage__bgimage img { padding: 0 1rem; }
.section-header-bg-color .smb-section__fixed-background { margin: 0 1rem; }
.section-bg-space .smb-section__fixed-background { margin: 0 1rem 1rem 1rem; }

.home .smb-media-text { border-top: 1px solid #ececec; padding-top: 1.6rem; }
.home .smb-media-text__title { position: relative; display: block !important; }
.home .smb-media-text__title::after {
  content: ""; height: 2px; background: var(--accent-color); width: 20px;
  position: absolute; top: -25px; left: -1.8rem;
}
.home .smb-media-text__contents-wrapper { padding-left: 2.2rem; }

.top-reason h3.reason-title { font-size: 1.14rem; color: var(--accent-color); }
.top-section-bg .smb-section__body {
  display: flex; justify-content: flex-start; align-items: center; overflow: hidden;
}
.top-section-bg { margin-top: 0; }

.double-content {
  display: inline-block; font-size: 6rem; white-space: nowrap;
  color: rgba(0,0,0,.0) !important; -webkit-text-stroke: 1px #FFF;
}
.copy-dot { color: var(--accent-color); position: relative; }
.copy-dot:before {
  content: "・"; position: absolute; top: -2.8rem; left: 50%; transform: translateX(-50%);
}

/* Spider Arrow Specific */
.spider__arrow { background: #00000069; border: 1px solid #fff; }

/* Block Link Button Overlay */
.smb-items__item__action { position: relative; }
a.smb-items__item__btn.smb-btn {
  position: absolute; top: -55px; right: 1rem; background: initial; color: #ccc;
}
a.smb-items__item__btn.smb-btn::before {
  position: absolute; top: 6px; right: 0; content: ''; display: block;
  background-color: var(--accent-color); width: 50px !important; height: 30px !important;
  min-width: 50px !important; transition: background-color .2s; border: 1px solid #7084a2;
}
a.smb-items__item__btn.smb-btn::after {
  content: ''; position: absolute; top: 18px; right: 20px !important; display: block;
  color: #fff !important; margin: auto; width: .4rem; height: .4rem;
  border-top: 1px solid #fff; border-right: 1px solid #fff; transform: rotate(45deg);
}
.smb-items__item--block-link:before:hover { background: #ccc !important; }
.c-entry-summary__figure .c-entry-summary__term { padding: 3px 8px; font-weight: normal; }


/* ============================================
   8. Forms
   ============================================ */

.snow-monkey-form--button-has-accent-color .smf-button-control__control {
  width: 300px; border-radius: 0; padding-top: 1rem; padding-bottom: 1rem; font-weight: bold;
}
.smf-item__label { font-weight: bold; color: #333; }
.smf-form--business .smf-item { background-color: #fff; }
.smf-form--business .smf-item__col--label { background-color: #f9f9f9; }
.from-file-text { font-size: .88rem; }
.from-item-first, .form-item-first { border-top: 1px solid #ddd !important; }
form h3 {
  margin-top: 1.4rem; margin-bottom: .8rem; border-left: 5px solid #C9321C; padding-left: 10px;
}
input[type="email"], input[type="number"], input[type="password"], input[type="search"],
input[type="tel"], input[type="text"], input[type="url"], textarea { width: 100%; }

/* Form Progress Bar Colors */
[data-screen=back] .smf-progress-tracker__item--input .smf-progress-tracker__item__number,
[data-screen=complete] .smf-progress-tracker__item--complete .smf-progress-tracker__item__number,
[data-screen=confirm] .smf-progress-tracker__item--confirm .smf-progress-tracker__item__number,
[data-screen=input] .smf-progress-tracker__item--input .smf-progress-tracker__item__number {
  background: #5db52e;
}

/* Confirm Screen Logic */
.form-confirm-text { display: none; }
.snow-monkey-form[data-screen="confirm"] .form-confirm-text { display: block; }
.snow-monkey-form[data-screen="confirm"] .confirm-none { display: none; }
.snow-monkey-form[data-screen="confirm"] .smf-form--business .smf-item--divider .smf-item__col { padding-top: 0; }
[data-screen=confirm] .contact-text { display: none; }
[data-screen=confirm] .confirm-text { display: block !important; }
.confirm-text { display: none; }

/* Back Button Override */
.snow-monkey-form--button-has-accent-color button[data-action="back"] {
  background-color: #ccc !important; color: #333 !important;
}