/* 全体のスタイル */
body {
    font-family: 'Fira Sans', sans-serif;
    background-color: white; /* 背景色を薄い灰色に設定 */
    color: #333;
    text-align: center;
}

/* メインのコンテナ */
.container {
    background-color: white;
}


.container menutitle{
	color: #808080;
	font-size: 1.2vw;
}



/* タイトル */
.container h4{
	font-size: 4.2vw; /* 大きな見出し */
	line-height: 1.1;
	color: #000000; /* 黒色 */
	padding-bottom: 0.5vw;
}

.container h2 .blue{
		color: #0072C6; /* 青色 */
}

.container h2 .brown{
		color: #CC0000; /* ブラウン */
}

.container h2 .red{
		color: #CC0000; /* アクティオレッド */
}





/* 見出し（2025年度には） */
.container h1 {
    font-size: 2.2vw; /* 大きな見出し */
	line-height: 1.1;
	color: #000000; /* 黒色 */
	padding-bottom: 1vw;
}

.container h1 .blue {
	color: #0071C1;
}

.container h1 .brown {
	color: #CC0000; /* ブラウン */
}

.container h1 .red{
	color: #CC0000; /* アクティオレッド */
}

/* サブ見出し（BIM確認申請試行開始） */
.container h2 {
    font-size: 1.8vw;
    color: #333;
    line-height: 1.6;
}

.container h3 {
    font-size: 1.5vw;
    color: #0072c6; /* 青色 */
    line-height: 1.6;
}

.container h6 {
	font-size: 0.9vw;
	color: black;
}

.note {
	color: black;
    font-size: 0.9vw; /* 適切なサイズに調整 */
    vertical-align: super; /* 上付き文字のように配置（任意） */
}



/* 説明文（国土交通省〜BIM確認申請の試行開始） */
.container p {
    font-size: 1.3vw;
    line-height: 1.6;
    color: #333;
}
.container p .blue{
	color: #0071C1;
}

.container p .brown{
	color: #CC0000; /* ブラウン */
}

.container p .red{
	color: #CC0000; /* アクティオレッド */
}

.container p .small{
	font-size: 1.2vw; /* ブラウン */
}


.center-text {
    text-align: center; /* テキストを左右中央に配置 */
}



/* リンクのスタイル（BIM/CIM原則化〜2025年度に〜） */
.container a {
	font-size: 1.5vw;
    color: #0072c6; /* 青色 */
    text-decoration: none;
}

.container a:hover {
    text-decoration: underline;
}

/* ボタンのスタイル（詳しくはこちら） */
.button {
	position: relative;
    display: inline-block;
    background-color: #CC0000; /* ボタンの背景色（濃い青色） */
    color: #fff; /* ボタンの文字色 */
    padding: 0.6% 5% 1.2% 5%; /* 内側の余白 */
	margin-top: 2%;
	margin-left: 5%;
    border-radius: 0px;
    text-decoration: none;
    transition: background-color 0.3s ease; /* 背景色の変化をスムーズに */
}

.button a {
	font-size: 1.2vw;
	color: white;
	text-decoration: none; /* リンクの下線を消す（任意） */
}

.button a:hover {
    text-decoration: underline; /* ホバー時に下線を表示（任意） */
}

.button_big01 {
    top: 45%;
	left: 55%;
    width: 40%;
    height: 10%;
    position: absolute;
    display: flex;
    justify-content: center; /* 水平方向中央 */
    align-items: center; /* 垂直方向中央 */
    background-color: #CC0000; /* ボタンの背景色（濃い青色） */
    color: #fff; /* ボタンの文字色 */
    text-decoration: none;
    transition: background-color 0.3s ease; /* 背景色の変化をスムーズに */
}

.button_big01 a {
	font-size: 1.9vw;
	color: white;
}

.button_big02 {
    top: -10%;
	left: 32.5%;
    width: 35%;
    height: 20%;
    position: absolute;
    display: flex;
    justify-content: center; /* 水平方向中央 */
    align-items: center; /* 垂直方向中央 */
    background-color: #CC0000; /* アクティオレッド */
    color: #fff; /* ボタンの文字色 */
    text-decoration: none;
    transition: background-color 0.3s ease; /* 背景色の変化をスムーズに */
}

.button_big02 a {
	font-size: 1.4vw;
	color: white;
}

.block_1_top{
	width: 100%;
	height: auto;
}

.block_1_header {
    background-color: white;
    height: auto;
    text-align: center;
    line-height: 50px;
}

.block_1_header_block2 {
    display: flex; /* 子要素を横並びにする */
    justify-content: space-between; /* 子要素の間隔を均等にする */
	padding-top: 5%;
    width: 55.0%;
    background-color: white;
    height: auto;
    margin: 0 auto; /* 中央に配置する */
}

.block_1_header_block3 {
    flex: 1; /* 各子要素を均等にする */
    background-color: white;
    height: auto;
	width: 100%;
    text-align: center;
}


.block_1_header a {
	font-size: 1.2vw;
    color: #808080; /* リンク文字色を白に設定 */
    text-decoration: none; /* リンクの下線を消す（任意） */
}

.block_1_header a:hover {
    text-decoration: underline; /* ホバー時に下線を表示（任意） */
}

.block_1_top{
	width: 100%;
	margin-top: 2%;
	justify-content: center;
	height:auto;
}

.block_1_logo {
    display: flex; /* 子要素を横並びにする */
    justify-content: center; /* 子要素を中央に寄せる */
    height: auto;
}

.block_1_logo_block2 {
	position: absolute; /* 要素内の絶対位置設定をサポート */
	margin-left: 14%;
	margin-top: 5.5%;
	width: 100%;
    height: auto;
    text-align: left;
}

.block_1_main {
    display: flex; /* 子要素を横並びにする */
    justify-content: center; /* 子要素を中央に寄せる */
    background-color: white;
    width: 100%; /* 要素の幅を設定 */
    padding-top: 60%; /* 高さを幅の60%にする */
    position: relative; /* 要素内の絶対位置設定をサポート */
    text-align: center;
    margin: 0 auto; /* 中央に配置する */
}

.block_1_main_block2_left {
	position: absolute; /* 要素内の絶対位置設定をサポート */
	top:0%;
	left: 6.3%;
	width: 43.8%;
    height: auto;
}

.block_1_main_block2_right {
	position: absolute; /* 要素内の絶対位置設定をサポート */
	top:0%;
	left:50%;
	width: 43.8%;
	padding-left: 5%;
	padding-top: 0%;
    height: auto;
    text-align: left;
}

.block_1_main_block2_right_bottom {
	position: absolute; /* 要素内の絶対位置設定をサポート */
	top: 75%;
	left:50%;
	width: 43.8%;
	padding-left: 5%;
	padding-top: 5%;
    height: auto;
    text-align: left;
}

.block_1_main_border {
	position: absolute; /* 要素内の絶対位置設定をサポート */
	top:57.3%;
	width: 100%;
    background-color: #CC0000;
    height: 20.12%;
    text-align: center;
}

.block_1_request {
	display: flex; /* 子要素を横並びにする */
    justify-content: center; /* 子要素を中央に寄せる */
    background-color: white;
    height: auto;
    text-align: center;
    color: white;
	margin-top: 2%;
}

.block_1_request_block2_left {
	width: 43.8%;
	height: auto;
}

.block_1_request_block2_right {
	width: 43.8%;
    height: 33.8%;
	padding-top: 5%;
	padding-bottom: 5%;
	padding-left: 5%;
    text-align: left;
}


.block_1_survice_01 {
	display: flex; /* 子要素を横並びにする */
    justify-content: center; /* 子要素を中央に寄せる */
    background-color: white;
    height: auto;
    text-align: center;
    color: white;
	margin: 0 auto; /* 中央に配置する */
}

.block_1_survice_01_block2_left {
	width: 43.8%;
	height: 33.8%;
    height: auto;
    text-align: center;
	/*padding-top: 2.5%;*/
}

.block_1_survice_01_block2_right {
	width: 43.8%;
	height: 33.8%;
	padding-top: 5%;
	padding-bottom: 5%;
	padding-left: 5%;
    text-align: left;
}

.block_1_survice_02 {
	display: flex; /* 子要素を横並びにする */
    justify-content: center; /* 子要素を中央に寄せる */
    background-color: white;
	height: auto;
    text-align: center;
    color: white;
	margin: 0 auto; /* 中央に配置する */
}

.block_1_survice_02_block2_left {
	width: 43.8%;
	height: auto;
	padding-top: 5%;
	padding-bottom: 5%;
	padding-left: 2.5%;
	padding-right: 2.5%;
    text-align: left;
}

.block_1_survice_02_block2_right {
	width: 43.8%;
	height: auto;
	position: relative; /* 親要素に相対位置を設定 */
	/* padding-top: 2.5%; */ 
}

.block_1_survice_investigation {
	display: flex; /* 子要素を横並びにする */
    justify-content: center; /* 子要素を中央に寄せる */
    background-color: purple;
    height: auto;
    text-align: center;
    /*line-height: 200px;*/
    color: white;
	margin: 0 auto; /* 中央に配置する */
}


.block_1_message {
    background-color: white;
	padding-top: 10%;
	padding-bottom: 10%;
    height: auto;
    text-align: center;
    line-height: 100px;
}

.block_1_request_second {
    background-color: red;
    height: 50px;
    text-align: center;
    line-height: 50px;
    color: white;
}

.block_1_footet {
	position: relative; 
    background-color: white;
    height: auto;
    text-align: center;
}

.block_1_footet_block2 {
	position: relative; 
    height: 30vw;
	background-color: #f4f4f4;
	margin-left: 6.3%;
	margin-right: 6.3%;
    text-align: center;
}

.block_1_footet_block2_block3{
	position: absolute; /* 親要素内での絶対配置 */
	width: 88%;
	height: 40%;
	margin-left: 6%;
	margin-right: 6%;
	margin-top: 15%;
    background-color: #CC0000; /* アクティオレッド */
	text-align: center;
	
	/* Flexboxで中央に配置 */
    display: flex;
    justify-content: center; /* 水平方向中央 */
    align-items: center; /* 垂直方向中央 */
}


.block_1_footet_block2_block3 a {
	font-size: 1.5vw;
    color: white; /* リンク文字色を白に設定 */
    text-decoration: none; /* リンクの下線を消す（任意） */
}

.block_1_footet_block2_block3 a:hover {
    text-decoration: underline; /* ホバー時に下線を表示（任意） */
}



/* 動画をレスポンシブにするためのコンテナ */
.responsive-video {
    position: relative;
    width: 100%;
    padding-bottom: 58.25%; /* 16:9のアスペクト比を維持 */
    height: 100%;
}

.responsive-video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}



#scrollToTopButton {
    display: none; /* 初期状態では非表示 */
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 99;
    border: none;
    outline: none;
    background-color: transparent; /* 背景色を透明に */
    cursor: pointer;
    padding: 0; /* パディングを削除 */
}

#scrollToTopButton img {
    width: 50px;
    height: 50px;
    border-radius: 50%; /* 円形にする */
}

.contact{
	width: 80%;
	margin-left: auto;
	margin-right: auto;
}

.contact_hed{
	width: 80%;
	height: 10vw;
	margin-left: auto;
	margin-right: auto;
	background-color: #CC0000; /* アクティオレッド */
	margin-bottom: 3vw;
	font-size: 3vw;
	color: #FFFFFF;
	text-align: center;
	padding-top: 2vw;
}

