/*
 Theme Name:   Bandco Child
 Template:     bandco
 */

.home h1 {
    font-size: 46px !important;
	line-height: 1.3 !important;
}
.single-post .hfe-page-title h1 {
    font-size: 40px !important;
    line-height: 50px !important;
}
.s-head {
    font-weight: 700;
}
.mgnbtm10 {
margin-bottom: 10px;
clear:both;
}
.mgnbtm20 {
margin-bottom: 20px;
clear:both;
}
.mgnLR {
margin-left: 10px;
margin-right: 10px;
}
.mbtm10 {
margin-bottom: 10px;
}
.mbtm20 {
margin-bottom: 20px;
}
.mbtm30 {
margin-bottom: 30px;
}
.rsoffwrap {
    background-color: #00000000 !important;
}
.page-id-15405 .header-breadcamb-fixer {
    display: none !important;
}
.prelements-blog-grid .pre-blog-item .pre-blog-content .blog-btn-part a {
    color: #ffffff;
}
h1, h2, h3, h4, h5, h6 {
font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans", Meiryo, sans-serif;
}
.prelements-heading.subtitle-gradient-yes .title-inner .sub-text {
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans", Meiryo, sans-serif;
}
.hfe-nav-menu__layout-horizontal li.menu-item, .hfe-nav-menu__layout-horizontal > li.menu-item {
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans", Meiryo, sans-serif;
}
.tab-menu-wrapper .nav-tabs.all-menu-after-border .nav-link, .rstab-main .tab-menu-wrapper .nav-tabs .nav-link, .rstab-main .tab-content .title {
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans", Meiryo, sans-serif;
}
.rs-button.style1 .rs-btn span {
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans", Meiryo, sans-serif;
}
#foot-txt {
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans", Meiryo, sans-serif;
}
.wpcf7 label span {
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans", Meiryo, sans-serif;
    color: #555555;
}
.elementor-icon-list-text {
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans", Meiryo, sans-serif;
}

.elementor-7766 .elementor-element.elementor-element-f21655c .rs-features-list {
margin: 25px 0px 35px 0px !important;
}
.page-id-14256 .col-lg-6 {
width: 100%;
}
.page-id-14256 .prelements-blog-grid .pre-blog-item .pre-blog-content .blog-btn-part a {
    padding: 5px 15px;
}
.prelements-blog-grid .pre-blog-item .pre-blog-content h3 {
    margin-top: 20px;
}
.prelements-blog-grid .blog_style_style3 .pre-blog-item .pre-blog-content .blog-btn-part {
    margin: 0 0;
    padding: 0 0;
}
.prelements-blog-grid .pre-blog-item .pre-blog-content h3 {
    margin-bottom: 20px;
}
.post-date {
    padding-left: 1em;
}


.elementor-7769 .elementor-element.elementor-element-5ea0b59 a.hfe-menu-item, .elementor-7769 .elementor-element.elementor-element-5ea0b59 a.hfe-sub-menu-item {
    font-size: 20px;
    font-weight: 600;
}
.smalltxt01{
	font-size:.8em;
	line-height: 1.6;
}
.page-id-14254 h2 {
    font-size: 38px !important;
}
.page-id-14254 h3 {
    font-size: 28px !important;
}

.elementor-element-67d48ee7 .prelements-heading .title-inner h3.title {
    font-size: 28px;
}
.elementor-15743 .elementor-element.elementor-element-7a949d6a .prelements-heading .title-inner .title {
    font-size: 28px;
}
.page-id-16082 h2 {
    font-size: 28px;
}
.entry-content ol, .entry-content ul {
    padding-left: 2rem !important;
}
.entry-content ol li, .entry-content ul li {
	margin-bottom: 15px;
}


.tablepress>:where(thead,tfoot)>tr>* {
    background-color: #F6F9FFD4 !important;
}
.tablepress-id-1, .tablepress-id-2 {
	width:800px !important;
}
.tablepress-id-3, .tablepress-id-8 {
	width:1000px !important;
}
.tablepress-id-4, .tablepress-id-5, .tablepress-id-6, .tablepress-id-7, .tablepress-id-8, .tablepress-id-9, .tablepress-id-10, .tablepress-id-11, .tablepress-id-12, .tablepress-id-13, .tablepress-id-14, .tablepress-id-15 {
    font-size: .8em !important;
	line-height: 1.2 !important;
}
.tablepress-id-1 .column-1, .tablepress-id-2 .column-1, .tablepress-id-3 .column-1 {
width: 30% !important;
}
.tablepress-id-4 .column-1, .tablepress-id-5 .column-1, .tablepress-id-6 .column-1, .tablepress-id-7 .column-1, .tablepress-id-8 .column-1, .tablepress-id-9 .column-1, .tablepress-id-10 .column-1, .tablepress-id-11 .column-1, .tablepress-id-12 .column-1, .tablepress-id-13 .column-1, .tablepress-id-14 .column-1, .tablepress-id-15 .column-1 {
width: 20% !important;
}
.tablepress-id-4 .column-2, .tablepress-id-5 .column-2, .tablepress-id-6 .column-2, .tablepress-id-7 .column-2, .tablepress-id-8 .column-2, .tablepress-id-9 .column-2, .tablepress-id-10 .column-2, .tablepress-id-11 .column-2, .tablepress-id-12 .column-2, .tablepress-id-13 .column-2, .tablepress-id-14 .column-2, .tablepress-id-15 .column-2 {
width: 15% !important;
}
.tablepress-id-4 .column-3, .tablepress-id-5 .column-3, .tablepress-id-6 .column-3, .tablepress-id-7 .column-3, .tablepress-id-8 .column-3, .tablepress-id-9 .column-3, .tablepress-id-10 .column-3, .tablepress-id-11 .column-3, .tablepress-id-12 .column-3, .tablepress-id-13 .column-3, .tablepress-id-14 .column-3, .tablepress-id-15 .column-3 {
width: 15% !important;
}
.tablepress-id-4 .column-4, .tablepress-id-5 .column-4, .tablepress-id-6 .column-4, .tablepress-id-7 .column-4, .tablepress-id-8 .column-4, .tablepress-id-9 .column-4, .tablepress-id-10 .column-4, .tablepress-id-11 .column-4, .tablepress-id-12 .column-4, .tablepress-id-13 .column-4, .tablepress-id-14 .column-4, .tablepress-id-15 .column-4 {
width: 40% !important;
}
.tablepress-id-4 .column-5, .tablepress-id-5 .column-5, .tablepress-id-6 .column-5, .tablepress-id-7 .column-5, .tablepress-id-8 .column-5, .tablepress-id-9 .column-5, .tablepress-id-10 .column-5, .tablepress-id-11 .column-5, .tablepress-id-12 .column-5, .tablepress-id-13 .column-5, .tablepress-id-14 .column-5, .tablepress-id-15 .column-5 {
width: 10% !important;
text-align: right;
}

.tablepress-id-4, .tablepress-id-5, .tablepress-id-6, .tablepress-id-7, .tablepress-id-8, .tablepress-id-9, .tablepress-id-10, .tablepress-id-11, .tablepress-id-12, .tablepress-id-13, .tablepress-id-14, .tablepress-id-15 {
 border: 1px #e0e0e0 solid !important;
}
.tablepress-id-16 .column-1 {
width: 16%;
font-weight: bold;
}


.wpcf7-response-output {
    color: #ffffff !important;
}
.wpcf7-form-control:not(.wpcf7-submit) {
    color: #333333 !important;
}
.wpcf7-form-control:not(.wpcf7-submit) {
    background-color: #ffffff !important;
}

.wpcf7-form input::placeholder {
    color: #777777 !important;
}
.wpcf7-form textarea::placeholder {
    color: #777777 !important;
}
.wpcf7-submit:disabled {
background-color: #999;
}
.wpcf7 input[type=file] {
    margin-bottom: -30px;
}
.wpcf7 .filesize {
    color: #ffffff !important;
	font-size: .7em;
}
.wpcf7 .filesize2 {
    color: #ffffff !important;
    font-size: .7em;
    margin-top: -30px !important;
}
.wpcf7-not-valid-tip {
    color: #EA3423;
    font-weight: 700;
    margin-top: -30px;
    padding-bottom: 20px;
}
.wpcf7-form-control.wpcf7-not-valid {
  background-color: #ffecec !important; /* 好きな色に変更 */
  border-color: #e60000 !important;     /* エラー時の枠線色（任意） */
}


/* ヘッダー（メインナビ）を常に最前面で固定表示 */
header,
#masthead,
.site-header,
.header,
.menu-area,
.navbar,
.global-nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 10000;
  transform: none !important;     /* 上に引っ込む動きを無効化 */
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* “スクロールダウンで隠す”系のクラスを総潰し（テーマやJS用の保険） */
.headroom--unpinned,
.header--hidden,
.nav-up,
.is-scrolling-down,
.sticky-hide,
.menu-sticky-hide,
.sticky-header.hide,
.sticky.hide,
.shrink {
  transform: none !important;
  top: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* 親が overflow:hidden でヘッダーが切れないように */
header,
#masthead,
.site-header,
.header-wrap,
.nav-holder {
  overflow: visible !important;
}

/* 固定化でコンテンツが隠れないように上余白（高さは調整） */
body { padding-top: 70px; } /* ヘッダーの実高さに合わせて 70〜120px で微調整 */



/* 文章リンク（中央寄せ・コンパクト） */
.inline-links{
  list-style: none;
  padding-left: 0;
  margin: 0 auto;
  display: grid;
  gap: 0.35em;
  line-height: 1.55;
  font-size: 1rem;
  text-align: center;
  justify-items: center;
}

/* liの余白リセット */
.inline-links > li{
  margin: 0;
}

/* クリッカブルなリンク表現 */
.inline-links a{
  color: inherit;                 /* テキストカラーは本文と同じ */
  font-weight: 500;
  text-decoration: underline;
  text-decoration-thickness: 2px; /* アンダーラインをやや太く */
  text-underline-offset: 0.25em;  /* 文字との距離 */
  cursor: pointer;
  transition: 
    color 0.2s ease,
    text-decoration-color 0.2s ease,
    opacity 0.2s ease;
}

/* ホバー時：より「押せる感」を出す */
.inline-links a:hover{
  opacity: 0.75;
  text-decoration-thickness: 3px;
}

/* フォーカス（キーボード操作対応・アクセシビリティ） */
.inline-links a:focus-visible{
  outline: none;
  text-decoration-style: solid;
  text-decoration-thickness: 3px;
}



@media only screen and (min-width: 1301px) and (max-width: 1700px) {

.main-header-box .hfe-nav-menu nav > ul > li > a, .main-header-box .hfe-nav-menu nav > ul > li > .hfe-has-submenu-container > a {
        font-size: 17px !important;
    }
	.hfe-nav-menu nav ul li a {
    padding: 10px 15px 10px 20px !important;
}
}
@media screen and (max-width: 1300px) {
.main-header-box .hfe-nav-menu nav > ul > li > a, .main-header-box .hfe-nav-menu nav > ul > li > .hfe-has-submenu-container > a {
        font-size: 16px !important;
    }
	.hfe-nav-menu nav ul li a {
    padding: 10px 10px 10px 12px !important;
}
}
@media screen and (max-width: 1090px) {
.main-header-box .hfe-nav-menu nav > ul > li > a, .main-header-box .hfe-nav-menu nav > ul > li > .hfe-has-submenu-container > a {
        font-size: 15px !important;
    }
	.hfe-nav-menu nav ul li a {
    padding: 10px 10px 10px 10px !important;
}
}
@media screen and (max-width: 1040px) {
.main-header-box .hfe-nav-menu nav > ul > li > a, .main-header-box .hfe-nav-menu nav > ul > li > .hfe-has-submenu-container > a {
        font-size: 14px !important;
    }
}
@media screen and (max-width: 768px) {
/* 768pxまでの幅の場合に適応される */

.inline-links{
    gap: 0.3em;
    line-height: 1.5;
}
.mgnLR {
margin-left: 0px !important;
margin-right: 0px !important;
width:100% !important;
}
.spmbtm10 {
margin-bottom: 10px;
}
.spmbtm20 {
margin-bottom: 20px;
}
.spmbtm30 {
margin-bottom: 30px;
}
.entry-content ol, .entry-content ul {
    padding-left: 0rem !important;
}
	
.tablepress-id-1, .tablepress-id-2, .tablepress-id-3, .tablepress-id-8 {
	width:100% !important;
}
.tablepress-id-4, .tablepress-id-5, .tablepress-id-6, .tablepress-id-7, .tablepress-id-8, .tablepress-id-9, .tablepress-id-10, .tablepress-id-11, .tablepress-id-12, .tablepress-id-13, .tablepress-id-14, .tablepress-id-15 {
    font-size: .7em !important;
}
.page-id-14254 h2 {
    font-size: 30px !important;
}
.page-id-14254 h3 {
    font-size: 22px !important;
}
.wpcf7-list-item {
    margin: 0 0 0 .3em;
}
.elementor-14720 .elementor-element.elementor-element-8a39bab .wpcf7-form-control:not(.wpcf7-submit) {
    height: 60px;
    width: 100%;
}
.elementor-widget-wp-widget-recent-posts ul {
    margin: 0 0 1.5em;
}
	
}
@media screen and (max-width: 480px) {
/* 480pxまでの幅の場合に適応される */

}
@media screen and (max-width: 320px) {
/* 320pxまでの幅の場合に適応される */

}

/* 全デバイス共通：列幅制御＋テーブル固定化 */
.tablepress-id-9,
.tablepress-id-10,
.tablepress-id-11,
.tablepress-id-12,
.tablepress-id-13,
.tablepress-id-14,
.tablepress-id-15 {
  table-layout: fixed !important;
  width: 100% !important;
}

/* 全デバイス共通：セル内の折り返しを許可 */
.tablepress-id-9 td, .tablepress-id-9 th,
.tablepress-id-10 td, .tablepress-id-10 th,
.tablepress-id-11 td, .tablepress-id-11 th,
.tablepress-id-12 td, .tablepress-id-12 th,
.tablepress-id-13 td, .tablepress-id-13 th,
.tablepress-id-14 td, .tablepress-id-14 th,
.tablepress-id-15 td, .tablepress-id-15 th {
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
}

/* スマホ専用：幅再強制 */
@media screen and (max-width: 768px) {
  .tablepress-id-9 .column-1,
  .tablepress-id-10 .column-1,
  .tablepress-id-11 .column-1,
  .tablepress-id-12 .column-1,
  .tablepress-id-13 .column-1,
  .tablepress-id-14 .column-1,
  .tablepress-id-15 .column-1 {
    width: 20% !important;
  }
  .tablepress-id-9 .column-2,
  .tablepress-id-10 .column-2,
  .tablepress-id-11 .column-2,
  .tablepress-id-12 .column-2,
  .tablepress-id-13 .column-2,
  .tablepress-id-14 .column-2,
  .tablepress-id-15 .column-2 {
    width: 20% !important;
  }
  .tablepress-id-9 .column-3,
  .tablepress-id-10 .column-3,
  .tablepress-id-11 .column-3,
  .tablepress-id-12 .column-3,
  .tablepress-id-13 .column-3,
  .tablepress-id-14 .column-3,
  .tablepress-id-15 .column-3 {
    width: 20% !important;
  }
  .tablepress-id-9 .column-4,
  .tablepress-id-10 .column-4,
  .tablepress-id-11 .column-4,
  .tablepress-id-12 .column-4,
  .tablepress-id-13 .column-4,
  .tablepress-id-14 .column-4,
  .tablepress-id-15 .column-4 {
    width: 20% !important;
  }
  .tablepress-id-9 .column-5,
  .tablepress-id-10 .column-5,
  .tablepress-id-11 .column-5,
  .tablepress-id-12 .column-5,
  .tablepress-id-13 .column-5,
  .tablepress-id-14 .column-5,
  .tablepress-id-15 .column-5 {
    width: 10% !important;
  }
}


/* =========================================================
   最新ニュース（Elementor「最近の投稿」）— 完全版
   想定HTML：
   <div class="... top-news elementor-widget ...">
     <div class="elementor-widget-container">
       <h5>最近の投稿</h5>   ← 非表示化します
       <ul>
         <li><a>タイトル</a><span class="post-date">2025-05-20</span></li>
         ...
       </ul>
     </div>
   </div>
   ========================================================= */

/* ----- 設定トークン（必要に応じて調整） ----- */
.top-news{
  --maxw: 1200px;         /* 中身の最大幅（中央揃えの幅） */
  --padx: 20px;           /* 中身の左右余白 */
  --bg-odd:  #D8ECFF;     /* 濃いめの青（奇数行） */
  --bg-even: #EAF6FF;     /* 薄めの青（偶数行） */
  --text:    #0F172A;     /* 文字色 */
  --muted:   #475569;     /* 日付色 */
  --badge-bd:#CBD5E1;     /* バッジ枠色 */
}

/* 見出し「最近の投稿」を非表示 */
.top-news .elementor-widget-container > h5{
  display: none !important;
}

/* 親ウィジェット＆ULの幅制約解除＋リセット */
.top-news.elementor-widget{ width:100%; margin:0 auto; }
.top-news .elementor-widget-container{ width:100%; max-width:none; margin:0; padding:0; box-sizing:border-box; }
.top-news .elementor-widget-container > ul{ list-style:none; margin:0; padding:0; }

/* =========================================================
   行（li）：フルブリード背景帯＋中身は中央の最大幅に揃える
   ・背景を 100vw で左右端まで
   ・padding-left/right を calc で中央の箱に合わせる
   ・flex で「日付／バッジ／タイトル」を“縦中央”に
   ========================================================= */
.top-news .elementor-widget-container > ul > li{
  /* フルブリード帯 */
  width: 100vw;
  margin-left:  calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  box-sizing: border-box;

  /* 中身の左右位置（中央の最大幅に合わせる） */
  padding-left:  calc((100vw - var(--maxw)) / 2 + var(--padx));
  padding-right: calc((100vw - var(--maxw)) / 2 + var(--padx));
  padding-top: 16px;
  padding-bottom: 16px;

  /* 列レイアウト：flexで縦中央揃え */
  display: flex;
  align-items: center;       /* ← 日付／バッジ／タイトルを上下中央に */
  gap: 22px;

  /* 交互背景 */
  background: var(--bg-odd);
}
.top-news .elementor-widget-container > ul > li:nth-child(even){
  background: var(--bg-even);
}

/* 日付（左列：固定幅＋縦中央） */
.top-news .elementor-widget-container > ul > li > .post-date{
  flex: 0 0 140px;
  display: flex; align-items: center; justify-content: center;
  font-variant-numeric: tabular-nums;
  font-size: 15px; line-height: 1.4;
  color: var(--muted);
  white-space: nowrap; margin: 0;
}

/* バッジ（中列：疑似要素で生成／固定幅＋縦中央） */
.top-news .elementor-widget-container > ul > li::before{
  content: "お知らせ";            /* 変えたい場合はここを編集 */
  flex: 0 0 110px;
  display: flex; align-items: center; justify-content: center;
  height: 32px; padding: 0 12px;
  background: #fff; border: 1px solid var(--badge-bd);
  border-radius: 6px;
  font-size: 14px; line-height: 1; color: var(--text);
}

/* タイトル（右列：残り幅いっぱい＋縦中央） */
.top-news .elementor-widget-container > ul > li > a{
  flex: 1 1 auto;
  display: flex; align-items: center;
  min-width: 0;                /* 折り返し安全 */
  text-decoration: none;
  color: var(--text);
  line-height: 1.6;
  word-break: break-word;
  margin: 0;
}
.top-news .elementor-widget-container > ul > li:hover > a{
  text-decoration: underline;
}

/* =========================================================
   スマホ（<=720px）：縦積み。帯は端まで、中身は左右14px
   ========================================================= */
@media (max-width: 720px){
  .top-news .elementor-widget-container > ul > li{
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding-left: 14px;    /* モバイルは中央最大幅でなく固定余白に */
    padding-right: 14px;
  }
  .top-news .elementor-widget-container > ul > li > .post-date{
    flex: none; width: auto; justify-content: flex-start;
  }
  .top-news .elementor-widget-container > ul > li::before{
    flex: none; width: auto; height: 30px; padding: 0 10px;
  }
  .top-news .elementor-widget-container > ul > li > a{
    flex: none; width: 100%;
  }
}

/* =====（任意）お知らせ一覧へのリンク装飾が必要なら：同ブロック内の /news を軽く装飾 =====
.top-news a[href*="/news"]{
  display:inline-flex; align-items:center; gap:.5em;
  margin-top:12px; font-size:14px; color:#0F172A; text-decoration:none;
}
.top-news a[href*="/news"]::after{ content:"›"; transform:translateY(1px); }
*/