@charset "utf-8";

/* PCモニター用CSS
------------------------------------------------------------*/


/* ヘッダー
*****************************************************/
#header { position: static; padding: 0; }
#header .inner {
	--_gap: clamp( 10px, 2dvw, 40px );
	
	position: relative;
	display: flex;
	justify-content: space-between;
	gap: 0 var(--_gap);
	width: auto;
	max-width: none;
	margin: 0 var(--_gap);
	
	&::before,
	&::after {
		display: none;
	}
}

/* -- ロゴマーク -- */
#header .logo {
/*	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 280px;
	height: 46px;
	margin: auto;
	float: left;*/
	flex-shrink: 0;
	display: block;
	width: fit-content;
	margin: auto 0;
	
	a {
		.jp {
			font-size: clamp( 10px, calc( 10px + 4 * ( ( 100dvw - 980px ) / 940 ) ), 14px );
			
			span {
				font-size: 1.5em;
			}
		}
		.en{
			font-size: clamp( 10px, calc( 10px + 2 * ( ( 100dvw - 980px ) / 940 ) ), 12px );
		}
	}
}

/* -- ナビゲーション -- */
#navigation {
/*	position: static;
	width: -webkit-calc(100% - 290px);
	width: calc(100% - 290px);
	max-width: 900px;
	height: auto;
	float: right;*/
	position: static;
	flex-shrink: 1;
	flex-grow: 1;
	width: auto;
	height: auto;
	background: transparent;
	opacity: 1.0;
	visibility: visible;
}
#navigation ul {
/*	display: table;
	width: 100%;
	height: auto;
	min-height: 1px;
	overflow-y: visible;*/
	display: flex;
	justify-content: flex-end;
	height: 100%;
}
#navigation ul li {
/*	display: table-cell;
	vertical-align: middle;*/
}
#navigation ul li a {
/*	position: relative;
	padding: 30px 20px;*/
	font-size: clamp( 12px, calc( 12px + 4 * ( ( 100dvw - 375px ) / 1545 ) ), 16px );
	padding: 2.0em calc( var(--_gap) * 0.5 );
}
#navigation ul li a:before {
	position: absolute; bottom: 0; left: 0; content: ""; display: block; width: 0; height: 3px; background: #640908;
	-webkit-transition: 0.4s width ease 0.4s; -moz-transition: 0.4s width ease 0.4s; transition: 0.4s width ease 0.4s;
}
#navigation ul li a:hover { color: #870C0B; background: #FFF; opacity: 1.0; }
#navigation ul li a:hover:before { width: 100%; }

/* -- ハンバーガーメニュー -- */
.burger-menu { display: none; }


/* コンテンツ
*****************************************************/
#content { width: 70%; float: left; }


/* サイドバー
*****************************************************/
#sidebar { width: 26%; margin: 0; float: right; }


/* フッター
*****************************************************/
#footer { position: relative; padding: 140px 0 0; background: url(../img/footer/background_sp.png) no-repeat 50% 50%; background-size: cover; }
#footer svg { width: 100%; height: 140px; }

/* -- ロゴマーク -- */
#footer .logo { text-align: center; margin: 0 0 40px; }
#footer .logo a { display: inline-block; font-size: 20px; font-size: 2.0rem; font-weight: bold; color: #FFF; text-decoration: none; }

/* -- サイトマップ -- */
#footer .sitemap ul li { position: relative; margin: 0 20px 20px 0; padding-right: 20px; }
#footer .sitemap ul li:last-child { margin-right: 0; padding-right: 0; }
#footer .sitemap ul li:before { position: absolute; top: 0; right: 0; bottom: 0; content: ""; display: block; width: 1px; height: 80%; margin: auto; background: #FFF; }
#footer .sitemap ul li:last-child:before { display: none; }
#footer .sitemap ul li a { display: block; font-size: 16px; font-size: 1.6rem; color: #FFF; text-decoration: none; }
#footer .sitemap p a { display: inline-block; font-size: 16px; font-size: 1.6rem; color: #FFF; text-decoration: none; padding: 10px 30px; background: rgba(255,255,255,0.2); border-radius: 2px; }

/* -- Copyright -- */
#copyright { text-align: center; margin: 50px 0 0; padding: 12px 0; background: #FFF; }
#copyright a { font-size: 12px; font-size: 1.2rem; color: #111; line-height: 1.35; text-decoration: none; }


/* お問い合わせ
------------------------------------------------------------*/
.form { display: table; margin: 0 0 20px; }
.form tbody { display: table-row-group; }
.form tr { display: table-row; }
.form tr th,
.form tr td { display: table-cell; padding: 20px 0; }
.form tr th { width: 200px; }
.form tr th div span { position: absolute; top: 0; right: 0; bottom: 0; margin: auto; }
.form tr td { padding-left: 20px; }