@charset "utf-8";

@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css");

/* 画像ロゴがあるときだけ、直後のテキスト版ロゴを隠す */
#logo  h1 + #logo-text { display: none; }

/* GoogleMap等のiframeの枠線を消す */
iframe { border: 0; }

/*contact_form.html*/
.contact-alert{
    background:#f0fff2;border:1px solid #bde5c8;color:#1c6b2a;
    padding:.8rem 1rem;border-radius:6px;margin:0 0 1rem;
}
.contact-alert.error{background: #fffbda;border: 1px solid #f3c4c4;color:#b00020;}

input[type=text], input[type=email], input[type=tel],textarea {
    width:100%;
    max-width:100%;
}
input, select, textarea, button[type=submit] {font-size: 1rem;}

/*著作部分（※意図的に見えなくしたりしないで下さい。規約違反になります。）*/
.pr a {
	text-decoration: none;display: block;
	background: rgba(0,0,0,0.8);
	color: #ccc;
	text-align: right;
	padding: 0.5rem 1rem;
	font-size: 0.8rem;
}
.pr a::before {
	font-family: "Font Awesome 6 Free";
	content: "\e2ca";
	font-weight: bold;
	margin-right: 0.5em;
}


/*以下biz60専用*/

/* ===============================
   トップページ：動画背景＋ロゴ（テキスト/画像 両対応）
   =============================== */

/* ヘッダー全体：動画付きの箱 ＋ 中身（#logo）を天地中央に配置 */
.home header {
  position: relative;
  width: 100%;
  aspect-ratio: 2 / 1;   /* アスペクト比を固定 */

  overflow: hidden;

  display: flex;
  align-items: center;        /* 縦方向：中央 */
  justify-content: flex-start;/* 横方向：左寄せ */
  flex-shrink: 0;             /* 他の要素のために潰されないようにする */
}

/* 背景動画をヘッダーいっぱいに敷く */
.home header #mainimg {
  position: absolute;
  inset: 0;                 /* top:0; right:0; bottom:0; left:0; */
  z-index: 0;
}

/* メイン画像（動画） */
.home header #mainimg video {
  width: 100%;
  height: 100%;
  max-width: none;          /* ベースCSSの video {max-width:100%} を打ち消し */
  object-fit: cover;        /* 枠いっぱいにトリミング表示 */
}

/* メイン画像（静止画） */
.home header #mainimg img {
  width: 100%;
  height: 100%;
  max-width: none;      /* img {max-width:100%;} を打ち消す */
  object-fit: cover;    /* 枠いっぱいに埋める（はみ出し部分はトリミング） */
  display: block;
}

/* ロゴブロック（中身は通常の縦積みレイアウト） */
.home header #logo {
  /* ベースCSSの absolute配置や余白を打ち消す */
  position: relative;
  top: auto;
  left: auto;
  padding-top: 0;

  z-index: 1;
  margin: 0;
  padding: 0 5%;            /* 左右だけ余白をとる */
  width: auto;
  max-width: 100%;
  box-sizing: border-box;

  text-align: left;
}

/* ロゴ内の h1 / p の基本余白調整 */
.home header #logo h1,
.home header #logo p {
  margin: 0;
}

/* 説明文テキストの余白とサイズ */
.home header #logo p {
  margin-top: 0.8em;        /* タイトルの直下に少しだけ余白 */
  font-size: 0.8em;         /* もともとの指定に近いサイズ */
}

/* ロゴ画像がある場合のサイズ調整 */
.home header #logo img {
  max-width: 260px;
  height: auto;
  display: block;
}

/* テキストロゴ（#logo-text）がある場合の見た目調整 */
.home header #logo #logo-text {
  margin: 0;
  padding: 0;
  font-size: 1.8rem;        /* お好みで調整 */
  letter-spacing: 0.08em;
}

/*フッター内にあるソーシャルメディアのアイコン
---------------------------------------------------------------------------*/
ul.icons {
	list-style: none;
	margin: 0;
	display: flex;
  justify-content: center;
	gap: 1rem;	/*アイコン同士のマージン的な要素。１文字分。*/
  padding: 1rem;
}
.icons i {
	font-size: 34px;	/*アイコンサイズ*/
}

/*「お知らせ」ブロック
---------------------------------------------------------------------------*/
#new dt {
	width: 8em !important;
}

/*bg1背景
---------------------------------------------------------------------------*/
.main .bg1 {
  padding-left: 2rem;
  padding-right: 2rem;
  border-radius: 5px;
}

/*sub
---------------------------------------------------------------------------*/
#menubar h3 {
  background: #333 !important;
  margin-left: 10vw;
  margin-right: 10vw;
}

	/*画面幅799px以下の追加指定*/
	@media screen and (max-width:799px) {
  
  /*subを非表示*/
	.sub {
		display: none;
	}

	}/*追加指定ここまで*/

/*ドロップダウンメニュー
---------------------------------------------------------------------------*/
a.ddmenu {
	cursor: pointer;
}

/*その他
---------------------------------------------------------------------------*/
.r {text-align: right !important;}
