@charset "utf-8";
/*
Template: gensen_tcd050
Theme Name: GENSEN子テーマ
Author: Soleil
Version: 1.9
*/

/* ============ 基本 ============ */
.home-default #main_col{margin-top:0}
#global_menu > ul > li > a {
    font-size: 14px!important;
}
/* ============ サイド / WPP ============ */
.side_widget .wpp-list li{padding:0;position: relative}
.side_widget .wpp-list li a:before{border-right:none;border-bottom:none}
.side_widget .styled_post_list1 li{padding:.5em!important;margin:0!important}

/* ============ 汎用カラー ============ */
.red{color:red}
.blue{color:#2ca9e1}
.green{color:#82ae46}
.orange{color:#ff7d00}
.yellow{color:#fff000}
.pink{color:#ff0084}
.gray{color:#999}

/* ============ 全体の余白調整 ============ */
@media (min-width:1025px){
  #index_header_search{margin-bottom:80px}
}

/* ============ タイポグラフィ / 見出し ============ */
.post_content .fontS{font-size:small}
.post_content .fontL{font-size:large}
.post_content .fontXL{font-size:x-large}
.post_content .fontXXL{font-size:xx-large}
.post_content .red{color:#8C0000}
.post_content .green{color:#00B244}
.post_content p{line-height:2em!important;margin:0 0 2.4em}

.post_content h1,
.post_content h2,
.post_content h3,
.post_content h4,
.post_content h5,
.post_content h6{
  clear:both;line-height:1.2;font-weight:bold;margin:1em 0 .5em;padding:10px 0 0
}
.post_content h1{
  font-size:200%;position:relative;display:block;margin-bottom:1em;text-align:center
}
.post_content h1:before{
  content:'';position:absolute;bottom:-15px;left:50%;width:60px;height:5px;transform:translateX(-50%);
  background:#23446f;border-radius:2px
}
.post_content h2{
  font-size:180%!important;padding:.5em!important;color:#000;background:#BAD8F3;border-left:5px solid #23446f;margin:1em 0 .5em!important
}
.post_content h2.job{
  font-size:220%!important;position:relative;padding:.2em 1.25em .5em!important;border-top:3px solid #23446f;border-bottom:3px solid #23446f;background:#fff;border-left:none;margin:.5em 0!important
}
.post_content h2.job span{font-size:.5em}
.post_content h2.job:before,
.post_content h2.job:after{content:'';position:absolute;top:-7px;width:3px;height:calc(100% + 14px);background:#23446f}
.post_content h2.job:before{left:7px}
.post_content h2.job:after{right:7px}
.post_content h3{font-size:150%!important;padding:.2em 0 .2em .8em!important;border-left:30px solid #23446f}
.post_content h4{font-size:140%!important;padding:.25em .5em!important;color:#23446f;background:transparent;border-left:5px solid #23446f}
.post_content h5{font-size:120%!important;padding:.2em 0 .2em .8em!important;border-left:20px solid #23446f}
.post_content h6{font-size:100%}

/* ============ 軽量アコーディオン ============ */
.lightweight-accordion .lightweight-accordion-title{
  display:list-item;background:#EEE!important;padding:5px 12px 5px 18px!important;cursor:pointer;border-radius:20px;border:1px solid #e3e3e3;margin:0 1em 2em
}
.lightweight-accordion .lightweight-accordion-title p,
.lightweight-accordion .lightweight-accordion-title span,
.lightweight-accordion .lightweight-accordion-title h1,
.lightweight-accordion .lightweight-accordion-title h2,
.lightweight-accordion .lightweight-accordion-title h3{
  display:inline;font-size:14px!important;font-family:inherit;font-weight:bold
}

/* ============ 入力ボタン（旧来の見た目を維持） ============ */
input.button{
  width:100%;margin:1em 0;cursor:pointer;font-size:x-large;border-radius:6px;border:1px solid #d83526;padding:15px 18px;
  background:#fe1a00;color:#fff;display:inline-block;box-shadow:inset 1px 1px 0 0 #f29c93;text-shadow:1px 1px 0 #b23e35
}
input.button:hover{background:#ce0100}
input.button:active{position:relative;top:1px}

/* ============ ボックス装飾 ============ */
.post_content .box_bubble{position:relative;padding:.5em .7em;margin:2em 0;background:#EFB3B0;color:#000;font-weight:bold}
.post_content .box_bubble:after{content:'';position:absolute;top:100%;left:30px;border:15px solid transparent;border-top-color:#EFB3B0}
.post_content .box_bubble p,
.post_content .box_point p{margin:0;padding:0}
.post_content .box_point{position:relative;margin:2em 0;padding:1.5em 2em;border:3px solid #23446f;border-radius:8px}
.post_content .box_point .box-title{position:absolute;top:-13px;left:10px;display:inline-block;padding:0 9px;line-height:1;font-size:19px;background:#fff;color:#23446f;font-weight:bold}
.post_content .box_caution{margin:2em 0;background:#EFB3B0}
.post_content .box_caution .box-title{font-size:1.2em;background:#23446f;padding:4px;text-align:center;color:#fff;font-weight:bold;letter-spacing:.05em}
.post_content .box_caution p{padding:15px 20px;margin:0}

/* ============ ボタン ============ */
.post_content a.button,
.post_content a.button2,
.post_content a.button3{
  position:relative;display:inline-block;border-radius:3px;color:#fff!important;line-height:100%;padding:1.5em 2em 1.5em 1.5em;text-decoration:none;font-size:large
}
.post_content a.button{background:#C71414}
.post_content a.button2{background:#23446f}
.post_content a.button3{background:#2D86DF}
.post_content a.button:hover,
.post_content a.button2:hover,
.post_content a.button3:hover{color:#fff!important;background:#1e73be;text-decoration:none}
.post_content .button::before,
.post_content .button2::before,
.post_content .button3::before,
.post_content .button::after,
.post_content .button2::after,
.post_content .button3::after{
  position:absolute;top:50%;right:.5em;content:'';margin-top:-5px;border:7px solid transparent;border-top-width:5px;border-bottom-width:5px;border-left-color:#fff}
.post_content .button::after,
.post_content .button2::after,
.post_content .button3::after{opacity:0;right:1.5em}
.post_content .button:hover::before,
.post_content .button2:hover::before,
.post_content .button3:hover::before{animation:arrowbefore .5s}
.post_content .button:hover::after,
.post_content .button2:hover::after,
.post_content .button3:hover::after{animation:arrowafter .5s}
@keyframes arrowbefore{100%{right:-.4em;opacity:0}}
@keyframes arrowafter{99%{right:.2em;opacity:1}100%{opacity:0}}

/* ============ 表示補助クラス ============ */
.sp{display:none!important}
.pc{display:inline!important}
.pc.clifix{display:block!important}
@media (max-width:480px){
  .sp{display:inline!important}
  .sp.clifix{display:block!important}
  .pc{display:none!important}
}

/* ============ メタ情報 / アーカイブ ============ */
#post_meta_top{margin:10px 0}
.archive_header .inner{display:block;align-items:center}
.archive_header .headline{padding:0 30px .5em 0}
#post_list2 .article .meta{margin:16px 0;padding:0}

/* ============ Facebook iframe 幅調整 ============ */
.fb_iframe_widget,.fb_iframe_widget span,.fb_iframe_widget iframe[style]{width:100%!important}

/* ============ 求人まわり ============ */
.post_content .number{background:#D5D5D5;float:right;padding:.2em .5em}
.post_content .number span{font-weight:bold}

/* ============ フローティングバナー（ラッパー制御版） ============ */
/* 基本位置（PC） */
#floating-area{
  position:fixed;
  right:0;
  bottom:86px;
  z-index:99999;
  max-width:calc(100vw - 32px);

  /* 初期は非表示 */
  opacity:0;
  visibility:hidden;
  transform:translateY(16px);
  transition:opacity .35s ease, transform .35s ease, visibility 0s linear .35s;
}
/* 表示時 */
#floating-area.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  transition:opacity .35s ease, transform .35s ease, visibility 0s;

  /* 以前 .float_widget に付けていた見た目をラッパーへ移管 */
  padding:1em .5em 1em 1em;
  border-radius:.5em 0 0 .5em;
  border:1px solid #e0e0e0;
  background:rgba(255,255,255,.8);
  box-shadow:0 8px 24px rgba(0,0,0,.12);
}
/* 管理バー考慮 */
body.admin-bar #floating-area{ bottom:96px; }

/* 内側ウィジェットの余白を抑える（任意） */
#floating-area .float_widget{ margin:0; }

/* ===== モバイル：左下・全幅 ===== */
@media (max-width:767px){
  #floating-area{
    left:0; right:auto;
    bottom:env(safe-area-inset-bottom);
    max-width:100vw;
  }
  #floating-area.is-visible{
    border-radius:0;
    line-height:1.5em;
    font-size:.8rem;
    top:auto; bottom:0; right:auto; left:0;
    z-index:900;
    width:100%;
    padding:5px 65px 5px 15px;
    border:none;
    background:rgba(0,0,0,.6);
    box-sizing:border-box;
  }
  #floating-area a.button2{
    position:relative;
    display:inline-block;
    border-radius:3px;
    color:#fff!important;
    box-sizing:border-box;
    padding:0;
    width:100%!important;
    text-decoration:none;
    font-size:small;
    text-align:center;
    margin:auto;
    line-height:40px;
  }
  #floating-area a img{ width:100%!important; }

  /* 管理バー（ログイン時） */
  body.admin-bar #floating-area{
    bottom:env(safe-area-inset-bottom);
  }
}
#floating-area .post_content{margin-top:0}
#floating-area .post_content p{line-height:1.6;margin:0 0 .5em}
/* 省モーション環境 */
@media (prefers-reduced-motion:reduce){
  #floating-area,
  #floating-area.is-visible{
    transition:none;
    transform:none;
  }
}

/* ============ Contact Form 7 送信ボタン ============ */
.wpcf7 input.wpcf7-submit{background:#dc143c}
.wpcf7 input.wpcf7-submit:hover{background:#ff0000}

/* ============ モバイル：文字サイズ / テーブル ============ */
@media (max-width:480px){
  .post_content h1{font-size:160%}
  .post_content h2,.post_content h2.job{font-size:150%}
  .post_content h3{font-size:140%}
  .post_content h4{font-size:130%}
  .post_content h5{font-size:120%}
  .post_content td,
  .post_content th{display:block;width:100%;box-sizing:border-box}
  .post_content th{margin-top:.5em}
  .post_content textarea,
  .post_content iframe{width:100%}
  .wpcf7 input.wpcf7-number{width:50%}

  /* サイドウィジェット（スマホ） */
  .widget_nav_menu ul li{margin:0 0 10px;position:relative;padding:0 0 0 1em;line-height:1.6;display:block}
  .widget_nav_menu ul li a{display:block;line-height:1.6;padding:0}

  .side_headline{position:relative}
  .side_headline:before{content:'';position:absolute;top:0;left:0;width:100%;height:30px;border-left:1px solid #bb221a;border-top:1px solid #bb221a}
  .side_widget+.side_widget .side_headline{margin-top:0;padding:.25em 1em}
  .side_widget ul{margin:0}
  .side_widget li{margin:0 0 10px;position:relative;padding:0 0 0 1em;line-height:1.7;display:block}
  *.side_widget li a:before{content:'';position:absolute;top:.5em;left:0;width:6px;height:6px;border-right:1px solid #009FE8;border-bottom:1px solid #009FE8;transform:rotate(-45deg)}
  .side_widget a{color:#1e73be}
  .side_widget li a{display:block}
  .side_widget li a:hover{background:#BAD8F3}
  .side_widget li:last-child{margin-bottom:0}
}

/* ============ スマホ共通（≤991px） ============ */
@media (max-width:991px){
  #global_menu{background:#EFB3B0!important}
  #post_meta_top{margin:1em 0 0!important}
  ul.meta li.cat{font-size:10px}
  ul.meta li.cat a,
  ul.meta li.cat span{padding:0 4px!important;}
}

/* ============ 広告バナー（スマホのみ） ============ */
.ad_bnr{display:none}
@media (max-width:480px){
  .ad_bnr.sp{display:block;width:100%;text-align:center}
}

/* ============ テーブル横スクロール ============ */
table{width:100%}
.scroll{overflow:auto;white-space:nowrap}
.scroll::-webkit-scrollbar{height:15px}
.scroll::-webkit-scrollbar-track{background:#f1f1f1}
.scroll::-webkit-scrollbar-thumb{background:#bbb}

/* ============ 著者ボックス ============ */
.archive_desc{font-size:16px;margin:2em 0 0;line-height:2}
.author-profile p{margin:0!important}
@media screen and (max-width:480px){
  .authorBox{border:3px solid #23466F;border-top:10px solid #23466F;margin:2em 0 1em;padding:1.5em}
  .authorBox h5{border:none;font-family:YuMincho,"Yu Mincho","Hiragino Mincho ProN","serif";margin:0;padding:0;font-size:large}
  .authorBox p{margin:0!important;padding:0}
  .authorBox .author-label{margin:0;padding:0;color:#900001}
  .author-name{padding:0 0 1.5em;width:100%}
  .author-profile{border-top:1px solid #ccc;width:100%;padding:1.5em 0 0}
}
@media screen and (min-width:481px){
  .authorBox{border:3px solid #23466F;border-top:10px solid #23466F;margin:2em 0 1em;padding:1.5em;display:flex}
  .authorBox h5{border:none;font-family:YuMincho,"Yu Mincho","Hiragino Mincho ProN","serif";margin:.5em 0;padding:0;font-size:large}
  .authorBox p{margin:0;padding:0}
  .authorBox .author-label{margin:0;padding:0;color:#900001}
  .author-name{padding:0 1.5em 0 0;width:30%}
  .author-profile{border-left:1px solid #ccc;width:70%;padding:0 0 0 1.5em}
}

/* ============ PR枠（clifix） ============ */
.clifix{border:2px solid #25456e;width:100%;box-sizing:border-box;position:relative;text-align:center;display:block}
.clifix.prL::before{content:"PR：クリフィックス税理士法人 様";background:#25456e;padding:6px 10px;color:#fff;font-weight:bold;position:absolute;left:0}
.clifix.prS::before{content:"PR";background:#25456e;padding:6px 10px;color:#fff;font-weight:bold;position:absolute;left:0}

/* ============ 202510 調整 ============ */
.rich_font{font-weight:500}
@media (min-width:1025px){
  .has_header_content #index_header_search{margin-bottom:80px}
}

@media (max-width:767px){
    .post_content .s_table {
        white-space: pre-wrap!important;
    }
     .post_content .s_table td{
        padding: 0 15px!important;
    }
      .post_content .s_table h2,.post_content .s_table h3,.post_content .s_table p{
        margin: 0!important;
    }
}
