/*
Theme Name: Avada Child
Description: Child theme for Avada theme
Author: ThemeFusion
Author URI: https://theme-fusion.com
Template: Avada
Version: 1.0.0
Text Domain:  Avada
*/

/*
#################################
メインコンテンツエリアのトップ余白を強制的にゼロ
#################################
*/
#main{
	padding-top:0px !important;
}

/*
#################################
<br class="br-sp">
モバイル表示に改行させたい場合は上記を改行させたい所に挿入
逆バージョン（モバイル表時の際は改行ナシ）は
<br class="br-pc">
#################################
*/

/* 改行位置（PC Mobile スイッチ） */
@media screen and (min-width: 768px){
.br-sp {display: none; }
}

/* 改行位置（PC Mobile スイッチ） */
@media screen and (max-width: 768px){
.br-pc {display: none; }
}

/*
#################################
CSSによる非表示
#################################
*/
.display-none{
    display:none !important;
}

/*
#################################
縦組み文字（実績紹介ページ）
#################################
*/
.vertical-title {
  text-align: center;
}

.vertical-title p,
.vertical-title h1,
.vertical-title h2,
.vertical-title h3,
.vertical-title h4,
.vertical-title h5,
.vertical-title h6 {
  writing-mode: vertical-rl;
  display: inline-block;
  margin: 0;
}
.vertical-title p {
  writing-mode: vertical-rl;
  display: inline-block;
  margin: 0;
}

/*
#################################
実績紹介（TOP）　PostCard装飾
#################################
*/
.pc-card h4 {
  opacity: 0 !important;
  transition: opacity 0.4s ease;
}

.pc-card:hover h4 {
  opacity: 1 !important;
}

.pc-card a {
  pointer-events: none;  /* クリック不可に */
  color: #fff !important;        /* 色指定 */
  text-decoration: none; /* 下線を消す */
  cursor: default;       /* カーソルを通常に */
}

.pc-card a,
.pc-card a:hover,
.pc-card a:focus,
.pc-card a:visited {
  color: #fff !important;
}

.pc-card {
  --pc-overlay-color: rgba(46, 139, 87, 0.75);  /* デフォルト */
  position: relative;
  overflow: hidden;
}

.pc-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--pc-overlay-color);
  opacity: 0 !important;
  transition: opacity 0.4s ease;
  z-index: 1;
  pointer-events: none;
}

.pc-card:hover::before {
  opacity: 1 !important;
}

.pc-card h4,
.pc-card p {
  position: relative;
  z-index: 2;
}

/*
#################################
トップページカードバナー用タイトル一括管理
#################################
*/
.top-contents-banner h2{
	font-size:20px !important;
}

/*
#################################
実績カードにアイコン追加
#################################
*/
.pc-card .pc-icon-wrap {
  position: relative;       /* z-index を効かせる */
  z-index: 2;               /* オーバーレイより前 */
  display: flex;            /* flex で中央寄せ */
  justify-content: center;
  margin-bottom: 10px;/* ホバーでフェードイン */
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
}

.pc-card:hover .pc-icon-wrap {
  opacity: 1;
}

.pc-card .pc-icon {
  display: none;
  width: 64px;
  height: 64px;
  color: #fff;
}

.pc-icon-wrap.cat-road     .icon-road     { display: block; }
.pc-icon-wrap.cat-bridge   .icon-bridge   { display: block; }
.pc-icon-wrap.cat-river    .icon-river    { display: block; }
.pc-icon-wrap.cat-lifeline .icon-lifeline { display: block; }

.pc-card {
  cursor: pointer !important;
}

/* スマホ時はアイコン非表示 */
@media (max-width: 700px) {
  .pc-card .pc-icon-wrap {
    display: none;
  }
}

/*
#################################
ヘッダー右側固定ボタン（２つ）
#################################
*/

/* 一番外側のヘッダーラッパーを基準にする */
.fusion-header-wrapper {
  position: relative;
}

/* 内側の要素は基準にならないよう static に */
.fusion-header,
.fusion-header .fusion-row {
  position: static;
}

/* ボタンラッパー：ヘッダー右上に絶対配置 */
.header-btn-wrap {
  position: fixed;
  top: 0;
  right: 0;
  display: flex;
  flex-wrap: nowrap;
  gap: 0;
  height: 130px;
  z-index: 100;  /* モーダルより低めに調整可能 */
}

/* スマホでは非表示 */
@media (max-width: 768px) {
  .header-btn-wrap {
    display: none;
  }
}

/* 印刷時は非表示 */
@media print {
  .header-btn-wrap {
    display: none;
  }
}

/* 個別ボタン共通スタイル */
.header-btn {
  flex: 0 0 130px;
  width: 130px;
  min-width: 130px;
  max-width: 130px;
  height: 131px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-decoration: none !important;
  color: #fff !important;
  text-align: center;
  transition: opacity 0.3s ease;
  box-sizing: border-box;
}

.header-btn:hover {
  opacity: 0.85;
  color: #fff !important;
}

/* ボタンの色 */
.header-btn-contact {
  background-color: #c8102e;  /* 赤 */
}

.header-btn-recruit {
  background-color: #0a4d8c;  /* 青 */
}

/* アイコン部分 */
.header-btn-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 6px;
}

.header-btn-icon svg {
  width: 36px;
  height: 36px;
  color: #fff;
}

/* テキスト部分 */
.header-btn-label {
  font-size: 13px;
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: 0.05em;
}

/* メインメニューの右側にボタン分の余白を確保 */
.fusion-main-menu {
  margin-right: 260px;  /* 130px × 2 */
}

/* スマホ対応 */
@media (max-width: 768px) {
  .header-btn-wrap {
    display: none;
  }
  .fusion-main-menu {
    margin-right: 0;
  }
}

/*
#################################
固定ボタン分メニューを左にオフセット
#################################
*/

.left_offset-280px {
  transform: translateX(-280px);
}

/*
#################################
セクションセパレーターのSVGにドロップシャドウ
#################################
*/
/* Section Separator にドロップシャドウ */
.shadow-sep .fusion-section-separator-svg {
  filter: 
    drop-shadow(0 2px 1px rgba(0, 0, 0, 0.06))
    drop-shadow(0 8px 6px rgba(0, 0, 0, 0.1));
}

/* 影が切れる場合の対処 */
.shadow-sep {
  overflow: visible;
}

/*
#################################
カテゴリーアーカイブページに各アイコン
及び英語表示を追加する
#################################
*/
/* カテゴリーアーカイブページのアイコン */
.cat-icon-wrap {
  display: flex;
  flex-direction: column;   /* アイコン→英語 を縦に積む */
  align-items: center;      /* 横中央寄せ */
  margin-bottom: 20px;
}

.cat-icon {
  display: none;
  width: 80px;
  height: 80px;
}

/* 英語テキスト */
.cat-en {
  display: none;
  margin: 10px 0 0;
  text-align: center;
  font-family: 'Bookman Old Style', serif;        /* お好みに合わせて変更 */
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 0.75;
  color: var(--awb-color5);
}

/* カテゴリーごとに該当要素だけ表示 */
.cat-icon-wrap.cat-road     .icon-road,
.cat-icon-wrap.cat-road     .en-road     { display: block; }

.cat-icon-wrap.cat-bridge   .icon-bridge,
.cat-icon-wrap.cat-bridge   .en-bridge   { display: block; }

.cat-icon-wrap.cat-river    .icon-river,
.cat-icon-wrap.cat-river    .en-river    { display: block; }

.cat-icon-wrap.cat-lifeline .icon-lifeline,
.cat-icon-wrap.cat-lifeline .en-lifeline { display: block; }

/*
#################################
会社案内ページ装飾（PageID：2147）
各種認証ページ装飾（PageID：2241）
採用情報ページ装飾（PageID：2273）
#################################
*/
.profile h2{
	font-size:28px !important;
	border-bottom: solid 3px var(--wp--preset--color--awb-color-4) !important;
	position: relative;
}

.profile h2:after {
	position: absolute;
	content: " ";
	display: block;
	border-bottom: solid 3px var(--wp--preset--color--awb-color-5) !important;
	bottom: -3px;
	width: 20%;
}

.page-id-2147 h3,
.page-id-2241 h3{
	font-size:32px !important;
	margin-top:20px !important;
	font-family: "Noto Sans JP", sans-serif !important; /* ← これを追加 */
}

.page-id-2147 h4,
.page-id-2241 h4{
	font-size:24px !important;
	font-family: "Noto Sans JP", sans-serif !important; /* ← これを追加 */
}

.page-id-2241 h5{
	font-family: "Noto Serif JP", serif !important;
	font-size:18px !important;
	letter-spacing:1.6 !important;
	border-bottom: solid 3px var(--wp--preset--color--awb-color-4) !important;
	position: relative;
}

.page-id-2241 h5:after {
	position: absolute;
	content: " ";
	display: block;
	border-bottom: solid 3px var(--wp--preset--color--awb-color-5) !important;
	bottom: -3px;
	width: 20%;
}

.page-id-2273 h3{
	font-family: "Noto Serif JP", serif !important;
	font-size:24px !important;
	letter-spacing:1.6 !important;
	border-bottom: solid 3px var(--wp--preset--color--awb-color-4) !important;
	position: relative;
}

.page-id-2273 h3:after {
	position: absolute;
	content: " ";
	display: block;
	border-bottom: solid 3px var(--wp--preset--color--awb-color-5) !important;
	bottom: -3px;
	width: 20%;
}

/* リスト連番表示の頭出し位置揃え */
.page-id-2147 ol {
  padding-left: 1.5em !important;
  list-style-position: outside !important;
}