@charset "utf-8";



/*リセットCSS（sanitize.css）の読み込み
---------------------------------------------------------------------------*/
@import url("https://unpkg.com/sanitize.css");

/*Font Awesomeの読み込み
---------------------------------------------------------------------------*/
@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css");

/*テンプレート専用cssファイルの読み込み
---------------------------------------------------------------------------*/
@import url("animation.css");
@import url("inview.css");



/*テーマカラーの定義（CSS変数）
ここのカラーコードを変更するだけで、テンプレートのテーマカラーが変わります。
---------------------------------------------------------------------------*/
:root {
	--primary-color: #404e5a;
	/*ヘッダーの背景色など*/
	--secondary-color: #626f78;
	/*bg1などで使っているサブ的な色*/
	--primary-text-color: #e6e7e8;
	/*主に、上の２つのカラーを背景色に使った際の文字色*/
}


/*全体の設定
---------------------------------------------------------------------------*/
html,
body {
	font-size: 13px;
	/*基準となるフォントサイズ。*/
}

/*画面幅900px以上の追加指定*/
@media screen and (min-width:900px) {

	html,
	body {
		font-size: 16px;
		/*基準となるフォントサイズ。*/
	}

}

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


body {
	font-family: "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	/*フォント種類*/
	-webkit-text-size-adjust: none;
	background: #fefefe;
	/*背景色*/
	color: #696a6a;
	/*文字色*/
	line-height: 2;
	/*行間*/
}

/*リセット*/
figure {
	margin: 0;
}

dd {
	margin: 0;
}

nav {
	margin: 0;
	padding: 0;
}

/*table全般の設定*/
table {
	border-collapse: collapse;
}

/*画像全般の設定*/
img {
	border: none;
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

/*videoタグ*/
video {
	max-width: 100%;
}

/*iframeタグ*/
iframe {
	width: 100%;
}

/*他*/
input {
	font-size: 1rem;
}


/*リンクテキスト全般の設定
---------------------------------------------------------------------------*/
a {
	color: #696a6a;
	/*文字色*/
	transition: 0.3s;
	/*hoverまでにかける時間。0.3秒。*/
}

/*マウスオン時*/
a:hover {
	opacity: 0.8;
	/*色を80%だけ出す*/
}


/*sectionとarticleの余白
---------------------------------------------------------------------------*/
main>section,
main>article {
	padding: 2% 5%;
	/*上下、左右への余白*/
}


/*コンテナー（サイト全体を囲むブロック）
---------------------------------------------------------------------------*/
#container {
	max-width: 1800px;
	/*サイトの最大幅。これ以上広がらない。*/
	margin: 0 auto;
	overflow-x: hidden;
}


/*header（ロゴが入った最上段のブロック）
---------------------------------------------------------------------------*/
/*ヘッダーブロック*/
header a {
	color: inherit;
}

header {
	background: var(--primary-color);
	/*背景色。css冒頭で指定しているテーマカラーを読み込みます*/
	color: var(--primary-text-color);
	/*文字色。css冒頭で指定しているテーマカラーを読み込みます*/
	text-align: center;
	padding: 20px 5% 20px 5%;
	/*ヘッダー内の余白。上、右、下、左への順番。*/
}


/*画面幅400px以上の追加指定*/
@media screen and (min-width:400px) {

	/*ヘッダーブロック*/
	
		display: flex;
		/*flexボックスを使う指定*/
		justify-content: space-between;
		/*並びかたの種類の指定*/
		align-items: center;
		/*垂直揃えの指定。天地中央に配置されるように。*/
		padding-right: 65px;
		/*ヘッダー内の右側の余白の上書き。。*/
	

}

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


/*ロゴ*/
#logo img {
  width: 100%;    
  height: auto;
  display: block;
}

#logo {
  width: 70px;    /* ここでサイズ調整（お好みで60～90pxくらい） */
  margin: 0;
  padding: 0;
  margin-right: 20px;
  margin-left: 0 !important; /* 左端に寄せる */
  display: flex;
  align-items: center;
}
	/*ロゴ画像の幅*/




}

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


/*header右側のボタン
---------------------------------------------------------------------------*/
/*ボタンブロック*/
header .btn {
	padding: 0;
	margin: 0;
	list-style: none;
}

/*ボタン１個あたり*/
header .btn li a {
	display: block;
	text-decoration: none;
	background: linear-gradient(#ffc000, #ffa800);
	/*背景グラデーション*/
	color: #333;
	/*文字色*/
	border-radius: 3px;
	/*角を丸くする指定*/
	padding: 0.5rem 1.5rem;
	/*上下に0.5文字分、左右に1.5文字分、ボタン内に余白を作る*/
}


/*メニューブロック初期設定
---------------------------------------------------------------------------*/
#menubar {
	display: none;
}

#menubar ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

#menubar a {
	display: block;
	text-decoration: none;
}

.large-screen #menubar {
	display: block;
	flex: 1;
}

.small-screen #menubar.display-block {
	display: block;
}

#menubar_hdr.display-none {
	display: none;
}

.ddmenu_parent ul {
	display: none;
}

a.ddmenu {
	cursor: default;
}

/*ddmenuを指定しているメニューに矢印アイコンをつける設定*/
a.ddmenu::before {
	font-family: "Font Awesome 6 Free";
	/*Font Awesome Free版を使う指定*/
	content: "\f078";
	/*使いたいアイコン名（Font Awesome）をここで指定*/
	font-weight: bold;
	/*この手の設定がないとアイコンが出ない場合があります*/
	margin-right: 1em;
	/*アイコンとテキストとの間に空けるスペース*/
	font-size: 0.8rem;
	/*文字サイズを80%に*/
}


/*大きな端末用のメニューブロック設定
---------------------------------------------------------------------------*/
/*メニューブロック全体の設定*/
.large-screen #menubar>nav>ul {
	display: flex;
	/*横並びにする*/
	margin-left: 30px;
	/*左側にとるスペース。ロゴとの間の間隔を調整します。*/
	font-size: 0.9rem;
	/*文字サイズ。90%。*/
	letter-spacing: 0.1em;
	/*文字間隔を少しだけ広くとる*/
}

.large-screen #menubar li a {
	padding: 10px;
	/*メニュー同士の余白*/
}


/*大きな端末、小さな端末、共通のドロップダウンメニュー設定
---------------------------------------------------------------------------*/
/*ドロップダウンブロック*/
.large-screen #menubar ul ul,
.small-screen #menubar ul ul {
	animation: opa1 0.5s 0.1s both;
	/*0.1秒待機後、0.5秒かけてフェードイン表示*/
}


/*大きな端末用のドロップダウンメニュー
---------------------------------------------------------------------------*/
/*ドロップダウンメニューブロック全体*/
.large-screen #menubar ul ul {
	position: absolute;
	z-index: 100;
	border-radius: 10px;
	/*角を丸くする指定*/
	overflow: hidden;
	text-align: center;
	/*文字をセンタリング*/
	color: #fff;
	/*文字色*/
}

/*メニュー１個あたり*/
.large-screen #menubar ul ul a {
	color: inherit;
	background: rgba(0, 0, 0, 0.7);
	/*背景色。0,0,0は黒のことで0.7は色が70%出た状態*/
	padding: 10px 20px;
	/*上下、左右へのメニュー内の余白*/
}


/*小さな端末用の開閉ブロック
---------------------------------------------------------------------------*/
/*メニューブロック設定*/
.small-screen #menubar.display-block {
	position: fixed;
	overflow: auto;
	z-index: 100;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	padding: 100px 20px 20px;
	/*ブロック内の余白。上、左右、下。*/
	background: rgba(0, 0, 0, 0.9);
	/*背景色*/
	text-align: center;
	/*内容をセンタリング*/
	animation: animation1 0.2s both;
	/*animation1を実行する。0.2sは0.2秒の事。*/
	color: #fff;
	/*文字色*/
}

/*メニュー１個あたりの設定*/
.small-screen #menubar a {
	color: inherit;
	padding: 10px;
	/*メニュー内の余白*/
}


/*３本バー（ハンバーガー）アイコン設定
---------------------------------------------------------------------------*/
/*３本バーを囲むブロック*/
#menubar_hdr {
	animation: opa1 0s 0.2s both;
	position: fixed;
	z-index: 101;
	cursor: pointer;
	right: 10px;
	/*右からの配置場所指定*/
	top: 20px;
	/*上からの配置場所指定*/
	padding: 16px 14px;
	/*上下、左右への余白*/
	width: 46px;
	/*幅（３本バーが出ている場合の幅になります）*/
	height: 46px;
	/*高さ*/
	display: flex;
	/*flexボックスを使う指定*/
	flex-direction: column;
	/*子要素（３本バー）を縦並びにする*/
	justify-content: space-between;
	/*並びかたの種類の指定*/
	background: var(--primary-color);
}

/*バー１本あたりの設定*/
#menubar_hdr span {
	display: block;
	transition: 0.3s;
	/*アニメーションにかける時間。0.3秒。*/
	border-top: 2px solid var(--primary-text-color);
	/*バーの色。線の幅、線種、色*/
}

/*×印が出ている状態の設定。※１本目および２本目のバーの共通設定。*/
#menubar_hdr.ham span:nth-of-type(1),
#menubar_hdr.ham span:nth-of-type(3) {
	transform-origin: center center;
	/*変形の起点。センターに。*/
	width: 20px;
	/*バーの幅*/
}

/*×印が出ている状態の設定。※１本目のバー。*/
#menubar_hdr.ham span:nth-of-type(1) {
	transform: rotate(45deg) translate(3.8px, 5px);
	/*回転45°と、X軸Y軸への移動距離の指定*/
}

/*×印が出ている状態の設定。※３本目のバー。*/
#menubar_hdr.ham span:nth-of-type(3) {
	transform: rotate(-45deg) translate(3.8px, -5px);
	/*回転-45°と、X軸Y軸への移動距離の指定*/
}

/*×印が出ている状態の設定。※２本目のバー。*/
#menubar_hdr.ham span:nth-of-type(2) {
	display: none;
	/*２本目は使わないので非表示にする*/
}


/*スライドショー（vegasを使用）
ここでは、20:9の画像比率（9÷20=0.45）を読み込む指定を行なっています。
異なる画像比率にしたい場合、#mainimg-boxのpadding-topの数字を変更します。もし2:1にするなら50%です。
---------------------------------------------------------------------------*/
#mainimg-box {
	width: 100%;
	height: 0;
	padding-top: 45%;
	position: relative;
	z-index: -1;
}

#mainimg {
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
}


/*コンテンツ（mainの１つ外側のブロック）
---------------------------------------------------------------------------*/
#contents {
	flex: 1;
}


/*mainブロック
---------------------------------------------------------------------------*/
/*ブロック内のh2見出し*/
main h2 {
	text-align: center;
	/*文字をセンタリング*/
	font-size: 2.8rem;
	/*文字サイズ。bodyで指定しているfont-sizeの2.8倍。*/
	font-weight: normal;
	/*h要素のデフォルトの太字を標準にする指定*/
	letter-spacing: 0.1em;
	/*文字間隔を少しだけ広くとる*/
	margin-bottom: 2em;
	/*下に空けるスペース。ここのfont-sizeの2文字分。*/
}

/*h2の装飾文字部分*/
main h2 span {
	display: block;
	font-size: 0.3em;
	/*文字サイズ。親要素（上のh2のfont-size）の30%。*/
	opacity: 0.5;
	/*透明度。50%だけ色を出す指定。*/
	letter-spacing: 0.5em;
	/*文字間隔を広くとる*/
}

/*h2の文字を左寄せで下線を引くタイプ*/
main h2.normal {
	text-align: left;
	/*文字を左寄せ*/
	font-size: 2rem;
	/*文字サイズ。bodyで指定しているfont-sizeの2倍。*/
	border-bottom: 1px solid #d1d3d3;
	/*下線の幅、線種、色*/
	margin-bottom: 0.5em;
	/*下に空けるスペース。ここのfont-sizeの2文字分。*/
}


/*フッターメニュー
---------------------------------------------------------------------------*/
/*メニューブロック全体*/
#footermenu {
	margin: 0;
	padding: 20px;
	/*ブロック内の余白*/
	text-align: center;
	/*テキストを中央に*/
	font-size: 0.8rem;
	/*文字サイズ。bodyのfont-sizeの80%です。*/
}

/*メニュー１個あたり*/
#footermenu li {
	display: inline-block;
	/*簡易的に横並びにする*/
	padding: 0 10px;
	/*上下、左右への余白*/
}


/*フッター設定
---------------------------------------------------------------------------*/
footer small {
	font-size: 100%;
}

footer {
	font-size: 0.7rem;
	/*文字サイズ。bodyのfont-sizeの70%です。*/
	background: var(--primary-color);
	/*背景色。css冒頭で指定しているテーマカラーを読み込みます*/
	color: var(--primary-text-color);
	/*文字色。css冒頭で指定しているテーマカラーを読み込みます*/
	text-align: center;
	/*内容をセンタリング*/
	padding: 20px;
	/*ボックス内の余白*/
}

/*リンクテキスト*/
footer a {
	color: inherit;
	text-decoration: none;
}

/*著作部分*/
footer .pr {
	display: block;
}


/*横長タイプのボックス
---------------------------------------------------------------------------*/
/*ボックス１個あたり*/
.list-normal .list {
	padding: 2rem 0;
	/*上下、左右へのボックス内の余白*/
}

/*ボックス内のfigure画像*/
.list-normal .list figure {
	margin-bottom: 1rem;
	/*画像の下に空けるスペース*/
}

/*ボックス内のh4タグ*/
.list-normal .list h4 {
	margin: 0;
	/*デフォルトマージンを一旦リセット*/
	margin-bottom: 0.5em;
	/*下に少し余白を作る*/
	font-size: 1.3rem;
	/*文字サイズ。bodyで指定しているfont-sizeの1.3倍。*/
}

/*ボックス内のpタグ*/
.list-normal .list p {
	margin: 0;
	/*デフォルトマージンを一旦リセット*/
	font-size: 0.9rem;
	/*文字サイズ。bodyで指定しているfont-sizeの0.9倍。*/
}

/*画面幅900px以上の追加指定*/
@media screen and (min-width:900px) {

	.list-normal .list div {
		flex: 1;
	}

	/*ボックス１個あたり*/
	.list-normal .list {
		display: flex;
		/*flexボックスを使う指定*/
		align-items: center;
		/*垂直揃えの指定。天地中央に配置されるように。*/
	}

	/*ボックス内のfigure画像*/
	.list-normal .list figure {
		margin-bottom: 0;
		/*下に空けるスペースをリセットする*/
		width: 40%;
		/*画像の幅*/
		margin-right: 2rem;
		/*画像の右側に空けるスペース*/
	}

}

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


/*お客様の声で使っているボックス（2カラムブロック（※900px未満では１カラム））
---------------------------------------------------------------------------*/
/*２カラムを囲むブロック*/
.list-half .list {
	display: flex;
	/*flexボックスを使う指定*/
	flex-direction: column;
	/*子要素を縦並びにする*/
	margin-bottom: 5rem;
	/*ボックスの下に5文字分のスペースを空ける*/
}

/*h4見出し*/
.list-half .list h4 {
	margin: 0;
	/*デフォルトマージンを一旦リセット*/
	font-size: 1.5rem;
	/*文字サイズ。bodyで指定しているfont-sizeの1.5倍。*/
}

/*画像ブロック共通*/
.list-half .image-l img,
.list-half .image-r img {
	border-radius: 10px;
	/*角を丸くする指定。*/
	box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.1);
	/*ボックスの影。右へ、下へ、ぼかし幅。0,0,0は黒の事で0.1は色が10%出た状態。*/
}

/*画面幅900px以上の追加指定*/
@media screen and (min-width:900px) {

	/*２カラムを囲むブロック*/
	.list-half .list {
		flex-direction: row;
		/*子要素を横並びにする*/
		justify-content: space-between;
		/*並びかたの種類の指定*/
		align-items: center;
		/*垂直揃えの指定。天地中央に配置されるように。*/
	}

	/*画像ブロック共通*/
	.list-half .image-l,
	.list-half .image-r {
		width: 30%;
		/*画像の幅*/
	}

	/*画像を右に配置する場合*/
	.list-half .image-r {
		margin-left: 2rem;
		/*画像の左側に空けるスペース*/
	}

	/*画像を左に配置する場合*/
	.list-half .image-l {
		order: -1;
		margin-right: 2rem;
		/*画像の右側に空けるスペース*/
	}

	/*テキストブロック*/
	.list-half .text {
		flex: 1;
	}

}

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


/*ハウスメーカーからのお礼のブロック*/
.list-half .list-re {
	background: #e7f1f1;
	/*背景色*/
	margin-top: -2rem;
	/*上につめる*/
	margin-bottom: 5rem;
	/*ボックスの下に5文字分のスペースを空ける*/
	padding: 2rem;
	/*ブロック内の余白。*/
	font-size: 0.9rem;
	/*文字サイズ。bodyで指定しているfont-sizeの0.9倍。*/
	border-radius: 10px;
	/*角を丸くする指定*/
	position: relative;
	/*下のbefore要素を絶対配置する為に必要な指定*/
}

.list-half .list-re::before {
	content: "▲";
	/*この文字（▲マーク）を出力します*/
	font-size: 30px;
	/*矢印（▲）のサイズ*/
	color: #e7f1f1;
	/*色*/
	position: absolute;
	/*絶対配置する*/
	top: -1.2em;
	/*上からの配置場所の指定*/
	left: calc(50% - 0.5em);
	/*左からの配置場所の指定*/
	transform: scale(1.5, 0.8);
	/*大きさを少し横長にする。横に1.5倍、縦に0.8倍です。*/
}


/*３列タイプのボックス（grid）
---------------------------------------------------------------------------*/
/*ボックス１個あたり*/
.list-grid .list {
	position: relative;
	display: grid;
	/*gridを使う指定*/
	grid-template-rows: auto 1fr auto;
	/*list内の上から２番目のブロック(.text)だけ伸ばし、他は自動。*/
	margin-bottom: 1rem;
	/*下に空けるスペース*/
}

/*ボックス内のh4タグ*/
.list-grid .list h4 {
	margin: 0;
}

/*ボックス内のpタグ*/
.list-grid .list .text p {
	margin: 0;
	font-size: 0.8em;
	/*文字サイズを80%に*/
	line-height: 1.5;
	/*行間を少し狭く*/
}

/*ボックス内のfigure画像*/
.list-grid .list figure {
	margin-bottom: 1rem;
	/*下に空けるスペース*/
}

/*ボタン*/
.list-grid .btn a {
	display: block;
	text-decoration: none;
	text-align: center;
	/*テキストをセンタリング*/
	background: var(--primary-color);
	/*背景色。css冒頭で指定しているテーマカラーを読み込みます*/
	color: var(--primary-text-color);
	/*文字色。css冒頭で指定しているテーマカラーを読み込みます*/
	padding: 5px 10px;
	/*ボタン内の余白*/
	margin-top: 1rem;
	/*ボタンの上に空けるスペース*/
}

/*画面幅900px以上の追加指定*/
@media screen and (min-width:900px) {

	/*listブロック全体を囲むブロック*/
	.list-grid {
		display: grid;
		/*gridを使う指定*/
		grid-template-columns: repeat(3, 1fr);
		/*３列にする指定。４列にしたければrepeat(4, 1fr)とする。*/
		gap: 2rem;
		/*マージン的な指定。２文字分。*/
	}

	/*ボックス１個あたり*/
	.list-grid .list {
		margin-bottom: 0;
		/*ボックス同士の上下間に空けるスペースをリセット*/
	}

}

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





	/*icon-bg1設定。サンプルテンプレートでは「施工事例」と書いてあるマーク*/
	.new dt span.icon-bg1 {
		background: #cd0000;
		/*背景色*/
	}

	/*icon-bg2設定。サンプルテンプレートでは「キャンペーン」と書いてあるマーク*/
	.new dt span.icon-bg2 {
		background: #006acd;
		/*背景色*/
	}

	/*記事(dd)設定*/
	.new dd {
		width: calc(100% - 14em);
		/*「14em」は上の「.new dt」のwidthの値です。*/
	}



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



/*詳細ページのサムネイル切り替えブロック
---------------------------------------------------------------------------*/
/*大きな画像が表示されるブロック*/
.thumbnail-view {
	max-width: 1000px;
	/*最大幅*/
	margin: 0 auto 1rem;
	/*ブロック要素を中央に配置。下に1文字分のマージンをとる。*/
	text-align: center;
	/*画像が小さい場合でもセンタリングされるように*/
}

/*サムネイル全体を囲むブロック*/
.thumbnail {
	display: flex;
	/*flexを使う指定*/
	justify-content: center;
	/*並びかたの種類の指定。これはセンタリングする指定。*/
	margin-bottom: 2rem;
	/*下に空けるスペース。２文字分。*/
}

/*サムネイル画像*/
.thumbnail img {
	width: 100px;
	/*サムネイルの幅*/
	margin: 2px;
	/*サムネイル間のスペース*/
	cursor: pointer;
	/*リンクタグではないが、クリックできる事をわかりやすくする為にリンクと同じポインターにしておきます。*/
	transition: 0.3s;
	/*マウスオンまでにかける時間。3秒。*/
}

.thumbnail img:hover {
	opacity: 0.8;
	/*マウスオン時に80%だけ色を出す。つまり薄くなります。*/
}


/*詳細ページ（item.html）で使っている「前のページに戻る」ボタン
---------------------------------------------------------------------------*/
.back {
	text-align: center;
}

.back a {
	text-decoration: none;
	display: inline-block;
	padding: 0.5rem 2rem;
	/*ボタン内の余白。上下、左右。*/
	border-radius: 30px;
	/*角を丸くする指定。ある程度大きければ適当でいいです。*/
	background: #eee;
	/*背景色*/
}

.back a::before {
	font-family: "Font Awesome 5 Free";
	/*Font Awesomeを使う指定*/
	content: "\f0d9";
	/*使いたいアイコン名をここで指定。Font Awesomeに記載されています。詳しくは当テンプレートのマニュアルを読んで下さい。*/
	padding-right: 0.8em;
	/*アイコンとテキストの間の余白*/
	font-weight: bold;
	/*この設定がないとアイコンが出ない場合があります*/
	opacity: 0.5;
	/*色を50%だけ出す*/
}


/*bg1（背景色がついたブロック）
---------------------------------------------------------------------------*/
.bg1 {
	background: var(--secondary-color);
	/*背景色。css冒頭で指定しているテーマカラーを読み込みます*/
	color: var(--primary-text-color);
	/*文字色。css冒頭で指定しているテーマカラーを読み込みます*/
}

/*リンクテキスト*/
.bg1 a {
	color: inherit;
}


/*テーブル
---------------------------------------------------------------------------*/
/*テーブル１行目に入った見出し部分（※caption）*/
.ta1 caption {
	font-weight: bold;
	/*太字に*/
	padding: 10px 5px;
	/*上下、左右へのボックス内の余白。基本的に数行下の「.ta1 th, .ta1 td」のpaddingと揃えておけばOKです。*/
	background: #555;
	/*背景色*/
	margin-bottom: 15px;
	/*下に空けるスペース*/
	border-radius: 5px;
	/*角を丸くする指定*/
	color: #fff;
	/*文字色*/
}

/*ta1テーブルブロック設定*/
.ta1 {
	border-top: 1px solid #ccc;
	/*テーブルの一番上の線。幅、線種、色*/
	width: 100%;
	margin: 0 auto 2em;
	/*最後の「2em」がテーブルの下に空けるスペースです*/
}

/*tr（１行分）タグ設定*/
.ta1 tr {
	border-bottom: 1px solid #ccc;
	/*テーブルの下線。幅、線種、色*/
}

/*th（左側）、td（右側）の共通設定*/
.ta1 th,
.ta1 td {
	padding: 10px 5px;
	/*上下、左右へのボックス内の余白*。基本的に数行上の「.ta1 caption」のpaddingと揃えておけばOKです。*/
	word-break: break-all;
	/*英語などのテキストを改行で自動的に折り返す設定。これがないと、テーブルを突き抜けて表示される場合があります。*/
}

/*th（左側）のみの設定*/
.ta1 th {
	width: 30%;
	/*幅*/
	text-align: left;
	/*左よせにする*/
	background: #f7f7f7;
	/*背景色*/
}


/*画面幅900px以上の追加指定*/
@media screen and (min-width:900px) {

	/*テーブル１行目に入った見出し部分（※caption）*/
	.ta1 caption {
		padding: 5px 15px;
		/*上下、左右へのボックス内の余白*/
	}

	/*th（左側）、td（右側）の共通設定*/
	.ta1 th,
	.ta1 td {
		padding: 20px 15px;
		/*上下、左右へのボックス内の余白*/
	}

	/*th（左側）のみの設定*/
	.ta1 th {
		width: 20%;
		/*幅*/
	}

}

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


/*PAGE TOP（↑）設定
---------------------------------------------------------------------------*/
.pagetop-show {
	display: block;
}

/*ボタンの設定*/
.pagetop a {
	display: block;
	text-decoration: none;
	text-align: center;
	z-index: 99;
	position: fixed;
	/*スクロールに追従しない(固定で表示)為の設定*/
	right: 20px;
	/*右からの配置場所指定*/
	bottom: 20px;
	/*下からの配置場所指定*/
	background: rgba(0, 0, 0, 0.3);
	/*背景色。0,0,0は黒の事で0.3は色が30%出た状態。	*/
	width: 50px;
	/*幅*/
	line-height: 50px;
	/*高さ*/
	color: #fff;
	/*文字色*/
}


/*その他
---------------------------------------------------------------------------*/
.clearfix::after {
	content: "";
	display: block;
	clear: both;
}

.color-check,
.color-check a {
	color: #ff0000 !important;
}

.color-theme,
.color-theme a {
	color: var(--secondary-color) !important;
}

.l {
	text-align: left !important;
}

.c {
	text-align: center !important;
}

.r {
	text-align: right !important;
}

.ws {
	width: 100%;
	display: block;
}

.wl {
	width: 100%;
	display: block;
}

.mb0 {
	margin-bottom: 0px !important;
}

.mb30 {
	margin-bottom: 30px !important;
}

.mb5rem {
	margin-bottom: 5rem !important;
}

.look {
	display: inline-block;
	padding: 0px 10px;
	background: #eee;
	border: 1px solid #ccc;
	border-radius: 3px;
	margin: 5px 0;
	word-break: break-all;
}

.small {
	font-size: 0.75em;
}

.large {
	font-size: 2em;
	letter-spacing: 0.1em;
}

.pc {
	display: none;
}

.dn {
	display: none !important;
}

.block {
	display: block !important;
}

/*画面幅900px以上の追加指定*/
@media screen and (min-width:900px) {

	.ws {
		width: 50%;
		display: inline;
	}

	.sh {
		display: none;
	}

	.pc {
		display: block;
	}

}



/*追加指定ここまで*/
.footer {
  background: #404e5a;
  color: #f0f0f0;
  padding: 40px 20px 20px;
  font-size: 14px;
}

.footer-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 30px;
}

.footer-left,
.footer-right {
  width: 100%;
  max-width: 400px;
}

.footer-logo {
  width: 180px;
  height: auto;
  margin: 0 auto 10px;
  display: block;
}

.footer-right h4 {
  font-size: 16px;
  margin-bottom: 10px;
  color: #ffffff;
}

.footer-nav {
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer-nav li {
  margin-bottom: 8px;
}
.footer-nav a {
  color: #ddd;
  text-decoration: none;
}
.footer-nav a:hover {
  text-decoration: underline;
}

.footer-copy {
  text-align: center;
  margin-top: 30px;
  border-top: 1px solid #444;
  padding-top: 10px;
  font-size: 12px;
  color: #aaa;
}

/* ✅ 画面幅768px以上でメニューだけ横並びに */
@media screen and (min-width: 768px) {
  .footer-nav {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px;
  }

  .footer-nav li {
    margin-bottom: 0;
  }
}

.news-section h2 {
  font-size: 1.8rem; /* タイトル（お知らせ一覧） */
  margin-bottom: 1em;
}

.news-list {
  font-size: 1.4rem; /* 本文のフォントサイズ（例：17〜18px相当） */
  line-height: 1.6;
}

.news-list li {
  margin-bottom: 15px;
}

.header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-left: 0; /* 左の余白を狭める */
  padding-right: 20px; /* 右はそのままでもOK */
}

.nav {
  display: flex;
  align-items: center;
  flex: 1;
}

.menu {
  display: flex;
  gap: 20px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.contact-btn {
  margin-left: auto;
}

.btn {
  background-color: #f7b733;
  color: white;
  padding: 10px 20px;
  text-decoration: none;
  border-radius: 4px;
}


.nav {
  display: flex;
  align-items: center;
  flex: 1;
}
.menu {
  display: flex;
  gap: 20px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.contact-btn {
  margin-left: auto;
}
.btn {
  background-color: #f7b733;
  color: white;
  padding: 10px 20px;
  text-decoration: none;
  border-radius: 4px;
}

#logo {
  margin-left: 0 !important;
  padding-left: 0;
}

.catchcopy {
  max-width: 800px;
  margin: 2.5em auto 2.5em auto;
  padding: 1.5em 1em;
  background: #f7fafc;
  border-left: 7px solid #22577A;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(34,87,122,0.08);
  text-align: center;
}
.catchcopy h2 {
  color: #22577A;
  font-size: 1.4em;
  margin-bottom: 0.5em;
  letter-spacing: 0.05em;
}
.catchcopy p {
  font-size: 1.1em;
  color: #222;
  line-height: 2;
}

#mainimg {
  background: url("../images/bg-fuji.jpg") no-repeat center center;
  background-size: cover;
}

body {
  position: relative; /* 擬似要素を管理するため */
  font-family: "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  -webkit-text-size-adjust: none;
  background: url("../images/bg-fuji.jpg") no-repeat center center fixed;
  background-size: cover;
  color: #696a6a;
  line-height: 2;
  z-index: 0; /* 本文を前面にする */
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  background: rgba(255, 255, 255, 0.1); /* 背景だけ30%白で淡くする */
  z-index: -1; /* 本文より後ろ、背景より前に配置 */
}

/* 現在ページのメニューを軽くハイライト */
#global-nav a.active{ background:rgb(255 255 255 / 18%); border-radius:8px; }

.site-header {
  background: url(../images/header-bg.png) no-repeat center center;
  background-size: cover;
}
 
.site-footer {
  background: url("../images/footer-bg.png") no-repeat center center;
  background-size: cover;
}

/* --- Map embed (responsive) --- */
.access { margin-bottom: 3em; background: #fff; padding: 1em 2em; border-radius: 8px; box-shadow: 0 0 5px rgba(0,0,0,.1); }
.map-wrap { position: relative; width: 100%; padding-bottom: 56.25%; border-radius: 8px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,.08); }
.map-wrap iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.open-in-gmaps { margin-top: .5em; display: inline-block; }

form input,
form textarea {
  width: 100%;       /* 横幅をフォーム全体に広げる */
  max-width: 600px;  /* 最大幅を指定（例：500px） */
  font-size: 2rem;   /* 文字サイズ */
  padding: 10px;     /* 内側の余白 */
  margin-bottom: 15px; /* 下の余白 */
  box-sizing: border-box;
}

form button {
  font-size: 1.1rem;   /* ボタンの文字サイズ */
  padding: 12px 30px;  /* ボタンの高さ・横幅調整 */
  border-radius: 6px;  /* 角丸 */
  background: #2563eb; /* 背景色（ブルー例） */
  color: #fff;
  border: none;
  cursor: pointer;
}
form button:hover {
  opacity: 0.9;
}

form {
  max-width: 600px;   /* 横幅を制限（お好みで調整） */
  margin: 0 auto;     /* 左右中央寄せ */
  text-align: left;   /* 入力欄は左揃え（中央寄せしたい場合は center に変更） */
}

/* === contact form size tune === */
#genForm{                /* フォーム本体の幅と中央寄せ */
  max-width: 760px;      /* 好みで 640/760/900 に */
  margin: 0 auto;
  padding: 0 1rem;
}
#genForm h2{ text-align:center; margin:0 0 1rem; }

#genForm .ta1{ width:100%; }          /* テーブルは親幅にフィット */
#genForm .ta1 th{ width:24%; }        /* ラベル列を少し細くする(既定30%→24%) */

#genForm input,
#genForm textarea,
#genForm button{ font-size:1rem; }    /* 文字サイズ */
#genForm textarea{ min-height:10rem; }

#genForm .c .btn,
#genForm button[type=submit]{
  padding:12px 28px; border-radius:6px;
}

/* PC幅で .ws が 50% になる既定をフォーム内だけ上書きして全幅に */
@media (min-width:900px){
  #genForm .ws, #genForm .wl{
    width:100% !important; display:block !important;
  }
  #genForm .ta1 th{ width:22%; }      /* PCはさらに詰める */
  #genForm .ta1 th, #genForm .ta1 td{ padding:18px 14px; }
}

/* 1) ヘッダーは常にフレックス＋上部固定にする */
header{
  position: sticky;
  top: 0;
  z-index: 1000;
  display: flex;
  justify-content: space-between;
  align-items: center;
  /* 右はハンバーガーの分だけ余白を確保 */
  padding: 10px 65px 10px 5%;
}

/* 2) 400px以上のときの“セレクタ抜け”を正しく書き直す */
@media screen and (min-width:400px){
  header{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-right: 65px;
  }
}

/* 3) モバイルぎりぎりで右の余白がきついとき用の微調整 */
@media screen and (max-width:399.98px){
  header{ padding-right: 55px; }
}

/* 4) ロゴ回りを暴れさせない */
#logo{
  margin: 0 !important;
  padding: 0;
  width: 70px;         /* 必要ならお好みで */
  display: flex;
  align-items: center;
}
#logo img{
  display: block;
  max-width: 100%;
  height: auto;
}

/* 5) スライドが重なり順で悪さしないようにする */
#mainimg-box{ z-index: 0; }

/* 6) ハンバーガーが被って見える場合の軽い調整（任意） */
#menubar_hdr{ top: 12px; }

/* ハンバーガーアイコンを消す */
#menubar_hdr {
  display: none !important;
}

/* ナビゲーションは常に表示（モバイルでも非表示にしない） */
#menubar {
  display: flex !important;
  flex-direction: row;     /* 横並び */
  position: static;        /* 固定せず通常のフロー */
  background: transparent; /* 背景色を消す（必要なら変更） */
  width: auto;
  height: auto;
  box-shadow: none;
}

/* ナビ内のリンク配置を調整 */
#menubar li {
  list-style: none;
  margin: 0 10px;
}

#menubar li a {
  display: block;
  padding: 8px 12px;
  text-decoration: none;
}

/* === ヘッダー帯は全幅／中身は中央にピタッ === */
header{
  position: sticky;
  top: 0;
  z-index: 1000;
  width: 100%;
  background: var(--primary-color);
}

/* ←ココが“中央寄せの箱” */
.wrap.header-inner{
  max-width: 1200px;     /* 好みで 1100〜1300 に */
  margin: 0 auto;        /* 中央寄せ */
  padding: 10px 5%;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

/* ロゴは固定サイズ＋はみ出さない */
#logo{ margin:0; padding:0; width:70px; display:flex; align-items:center; }
#logo img{ display:block; max-width:100%; height:auto; }

/* ── ここから “#global-nav” 用（あなたのHTMLに合わせる）── */
#global-nav.nav{
  display: flex;
  align-items: center;
  gap: 20px;
  margin-left: auto;      /* ロゴの右側へ寄せる */
}

/* メニューのUL */
#global-nav .menu{
  display: flex;
  gap: 18px;
  list-style: none;
  margin: 0;
  padding: 0;
}
#global-nav .menu a{
  display: block;
  text-decoration: none;
  padding: 10px 12px;
}

/* 右端のボタン */
.contact-btn{ margin-left: 12px; }
.contact-btn .btn{
  background:#f7b733; color:#fff;
  padding:10px 20px; border-radius:4px; text-decoration:none;
}

/* 画面が狭いときは折り返して詰める（ハンバーガー使わない版） */
@media (max-width: 640px){
  .wrap.header-inner{ gap:10px; }
  #global-nav.nav{ gap:12px; }
  #global-nav .menu{ flex-wrap: wrap; gap: 10px 12px; }
  #global-nav .menu a{ padding:8px 10px; }
}

#company-name {
  text-align: center;
  font-size: 1.8rem;
  font-weight: bold;
  padding: 10px;
  
  color: #333; /* 文字色 */
}

