@charset "UTF-8";
/*
    Template: kubozouen
    Theme Name: KUBOZOUEN CHILD
    Theme URI: https://bplust.jp/
    Description: KUBOZOUENの子テーマ
    Version: 1.0.0
    Author: BPLUST
    Author URI: https://bplust.jp/
    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* ------------------------------
   全体フォント設定
------------------------------ */
body {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-style: normal;
}

/* ------------------------------
   見出し・テキスト調整
------------------------------ */
.catch {
  font-size: 2.5em !important;
  padding-top: 300px;
}
.chotai_90 {
  transform: scaleX(0.9);
}
.sub_title {
  font-size: 1.2em !important;
  transform: scaleX(0.9);
}
h2 {
  font-size: 2.5rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.12em !important;
  transform: scaleX(0.9);
}
h2.p-postList__title {
  font-size: 1em !important;
  margin-bottom: 20px !important;
  transform: none;
}
.page-home p {
  font-size: 1.4rem !important;
  line-height: 1.8 !important;
}
p.big {
	font-size: 1.4rem !important;
	line-height: 1.8 !important;
}
p.small {
	font-size: 1rem !important;
}
p.copyright {
  font-size: 0.7em !important;
}
.ft_add {
  font-size: 1em !important;
}
.width_600 {
  max-width: 700px !important;
  margin: 0 auto !important;
}

/* ------------------------------
   お知らせ日付カラー
------------------------------ */

.c-postTitle__date .__y {
	color:#fff !important;
}
.c-postTitle__date .__md {
	color:#fff !important;
}
/* ------------------------------
   ボタンカスタマイズ
------------------------------ */
.swell-block-button.is-style-btn_line {
  max-width: 480px !important;
}
.btn_wh {
  background: #fff !important;
}

/* ------------------------------
   投稿メタ情報のスタイル
------------------------------ */
time,
span.c-postAuthor__name {
  color: #333 !important;
}
.w-beforeFooter {
  margin-top: 0 !important;
}

/* ------------------------------
   サイドボタン装飾
------------------------------ */
div.side_btn {
  padding: 10px;
  border: 1px solid #009a44;
  margin-bottom:20px;
  transform: scaleX(0.9);
}
a:hover div.side_btn {
  background: #009a44;
  color: #fff;
	transition: background 0.3s ease, color 0.3s ease; /* ← 追加 */
}

/* ------------------------------
   ロゴ
------------------------------ */
.-txt .c-headLogo__link {
  font-size: 4.5vw !important;
  font-weight: 700;
  transform: scaleX(0.9) !important;
}

/* ------------------------------
   スマホメニュー見出し
------------------------------ */
.c-widget__title.-spmenu {
  background: #fff !important;
  transform: scaleX(0.9) !important;
  color: #009a44;
  padding: 20px 0 !important;
  font-size: 1.4em !important;
	text-align: center !important;
}
.c-listMenu a {
	text-align: center !important;
}
.c-spnav a {
  border-bottom: none !important;
}
.c-gnav .sub-menu a::before, .c-listMenu a::before {
  content: "";
}

/* ------------------------------
   ブログカード表示調整
------------------------------ */
/*
.p-postList__link {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.p-postList__body {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.p-postList__title {
  min-height: 3.2em;
  line-height: 1.6;
  margin-bottom: 1em;
}
.p-postList__meta {
  margin-top: auto;
  padding-top: 1em;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.9em;
  color: #666;
}
*/
/* ------------------------------
   左固定メニュー（PC）
------------------------------ */
.left-fixed-nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 240px;
  height: 100vh;
  background: #fff;
  padding: 20px;
  display: flex;
  flex-direction: column;
  overflow: visible;
  z-index: 1000;
  box-shadow: 1px 0 5px rgba(0, 0, 0, 0.01);
	padding-top:50px;
}
.left-fixed-nav .site-title {
  flex: none;
  font-size: 1.4rem;
  font-weight: bold;
  margin-bottom: 30px;
  text-align: center;
}
.left-fixed-nav .site-title a {
  color: #009a44;
  text-decoration: none;
}

/* メニュー内スクロール領域 */
.side-menu-wrapper {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overflow-x: visible;
}
.side-menu-wrapper::-webkit-scrollbar {
  width: 8px;
}
.side-menu-wrapper::-webkit-scrollbar-thumb {
  background-color: #4D7BC2 !important;
  border-radius: 4px;
}
.side-menu-wrapper::-webkit-scrollbar-track {
  background-color: #E4EAF4 !important;
}

/* メニュー構造 */
.side-menu {
  list-style: none;
  margin: 50px 0 0;
  padding: 0;
}
.side-menu li {
  position: relative;
  margin-bottom: 10px;
}
.side-menu li a {
  display: block;
  padding: 12px 16px;
  background: #fff;
  color: #009a44;
  text-decoration: none;
  transition: background-color 0.3s;
	font-weight: 500 !important;
}
.side-menu li a:hover {
  background-color: #ddd;
}

/* サブメニュー */
.sub-menu {
  display: none;
  position: absolute;
  min-width: 180px;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.1);
  border-radius: 4px;
  z-index: 2000;
  white-space: nowrap;
}
.sub-menu li a {
  display: block;
  padding: 10px;
  color: #009a44 !important;
}
.sub-menu li a:hover {
  background-color: #efefef;
}
.menu-item-has-children > a::after {
  content: "\25B6"; /* ▶ */
  float: right;
  font-size: 0.8em;
  margin-left: 5px;
  color: #999;
}

/* ------------------------------
   レスポンシブ対応
------------------------------ */
@media screen and (max-width: 990px) {
  .left-fixed-nav {
    display: none !important;
  }
  .l-header {
    display: block !important;
  }
  .l-wrapper,
  .l-container,
  .l-content {
    margin-left: 0;
    max-width: 100%;
  }
}

@media screen and (min-width: 990px) {
  .left-fixed-nav {
    display: flex;
  }
  .l-header {
    display: none !important;
  }
  .l-wrapper,
  .l-container,
  .l-content {
    margin-left: 240px;
    max-width: calc(100% - 240px);
  }
  body {
    overflow-x: hidden;
  }
}

/* ------------------------------
   実績紹介個別記事の日付非表示
------------------------------ */

div.is-cat3 time.c-postTitle__date {
    display: none !important;
	padding-bottom: 20px;
}

/* ------------------------------
   お問い合わせフォーム
------------------------------ */

.smf-action .smf-button-control__control {
  background-color: #fff !important;
  background-image: none !important;
  border-radius: 0px !important;
  color: #333;
	font-weight: 600 !important;
letter-spacing: 2px;
	padding:10px 40px !important;
	border: 2px solid #333 !important;
}


/* ------------------------------
   スマホヘッダー
------------------------------ */
@media screen and (max-width: 1024px) {
	.l-header {
		padding:5px 0;
	}
}
.icon-menu-thin::before {
  font-size: 1.5em;
	color: #009a44;
}
.icon-close-thin::before {
	  font-size: 1.5em;
}


/* ------------------------------
   テーブルデザイン
------------------------------ */
.post_content table {
  max-width:900px;
	margin: 0 auto;
}

.wp-block-table td, .wp-block-table th {
	padding:20px 10px !important;
	background: none;
	border:none !important;
}

.wp-block-table th {
	border-bottom: 1px solid #009a44 !important;
}

.wp-block-table td {
	border-bottom: 1px solid #efefef !important;
}
