@charset "utf-8";
/*===========================================================================*/
/*bar.ewf*/
/*===========================================================================*/
/*menubar
/*===========================================================================*/
#menubar {
	opacity: 0;
	line-height: 1.5;
}
#menubar ul {
	list-style: none;
	margin: 0;padding: 0;
}
.large-screen #menubar {
	opacity: 1;
}
.small-screen #menubar.display-none {
	display: none;
}
.small-screen #menubar.display-block {
	display: block;opacity: 1;
}

/*--------------------------------*/
/*非表示（menubar_hdr/script:dropdown）*/
/*--------------------------------*/
#menubar_hdr.display-none {
	display: none;
}
.ddmenu_parent ul {
	display: none;
}
/*--------------------------------*/
/*ddmenu icon*/
a.ddmenu::before {
	font-family: "Font Awesome 5 Free";
	content: "\f078";
	font-weight: bold;
	margin-right: 1em;	
	position: absolute;
	left: 2rem;	
}
/*--------------------------------*/
@media screen and (min-width:900px) {
	a.ddmenu::before {
		left: 1rem;
	}
}


/*===========================================================================*/
/*#menubar（大小端末共通）
/*===========================================================================*/
#menubar a {
	display: block;
	text-decoration: none;
}
/*--------------------------------*/
/*二行目（メインメニュー英語）*/
/*--------------------------------*/
#menubar span {
	font-size: 0.7em;
	letter-spacing: 0.1em;
	opacity: 0.6;
}
/*--------------------------------*/
/*ドロップダウンブロック*/
/*--------------------------------*/
/*--------------------------------*/
/*--------------------------------*/
.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;
	width: 100%;
	top: 100%;
	left: 0px;
}

/*ドロップダウンメニュー1個あたりの高さ。お好みで調整して下さい。*/
.large-screen #menubar ul ul a {
	padding: 0.6rem 1rem !important;
}


/*===========================================================================*/
/*#menubar（large）
/*===========================================================================*/
.large-screen #menubar {
    position: sticky;	/*メニュー固定*/
    top: 0;
    z-index: 2;
    transition: opacity 0.3s;
}
.large-screen #menubar > nav > ul {
	display: flex;	/*横並びにする*/
	justify-content: space-between;
	align-items: center;
}

/*--------------------------------*/
/*メニュー１個あたりの設定*/
/*--------------------------------*/
.large-screen #menubar li {
	flex: 1;			/*個々のメニューを均等にし、幅いっぱいまで使う設定*/
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;	/*ドロップダウンの幅となる基準を作っておく*/
	text-align: center;	/*テキストをセンタリング*/
}
/*--------------------------------*/
.large-screen #menubar li a {
	flex: 1;
	display: flex;align-items: center;justify-content: center;
	flex-direction: column;
	background: var(--primary-color);	/*背景色。css冒頭で指定しているprimary-colorを読み込みます*/
	color: var(--primary-inverse-color);	/*文字色。css冒頭で指定しているprimary-inverse-colorを読み込みます*/
	padding: 1.2rem 1rem;
}
/*--------------------------------*/
.large-screen #menubar li a:hover {
	filter: brightness(1.2);
	transform: scale(1);
}
/*--------------------------------*/
/*画面上部到達（fixed）*/
/*--------------------------------*/
.large-screen #menubar.fixed a {
    opacity: 0.8;
}
.large-screen #menubar.fixed a:hover {
	opacity: 1;
	transform: scale(1);
}
.large-screen #menubar.fixed2 li a {
	padding: 0.4rem 1rem;
}

/*===========================================================================*/
/*#menubar（small）
/*===========================================================================*/
.small-screen #menubar {
	height: 0px;
}

/*--------------------------------*/
/*menu block*/
/*--------------------------------*/
.small-screen #menubar.display-block {
	position: fixed;overflow: auto;z-index: 100;
	left: 0px;top: 0px;
	width: 100%;
	height: 100%;
	padding-top: 90px;	/*上に空ける余白。ハンバーガーアイコンと重ならない為の指定ですのでお好みで変更OK。*/
	background: var(--primary-color);	/*背景色。css冒頭で指定しているprimary-colorを読み込みます*/
	animation: animation1 0.2s both;	/*animation1を実行する。0.2sは0.2秒の事。*/
}

/*--------------------------------*/
.small-screen #menubar li {
	border: 1px solid #fff;	/*枠線の幅、線種、色*/
	margin: 1rem;			/*メニューの外側に空けるスペース*/
	border-radius: 5px;		/*角を丸くする指定*/
}
.small-screen #menubar > nav > ul > li > a {
	padding: 2rem 3rem;
	display: flex;flex-direction: column;
}
.small-screen #menubar li a {
	padding: 1rem 3rem;	/*子メニュー（ドロップダウン）内の余白。上下、左右へ。*/
}
.small-screen #menubar,
.small-screen #menubar a {
	color: #fff;
}

/*--------------------------------*/
/*900px以下でのみ表示させるブロック*/
/*--------------------------------*/
#menubar .sh {
	padding: 1rem 2rem 2rem;	/*上、左右、下へのブロック内の余白*/
}

/*--------------------------------*/
/*３本バーを囲むブロック*/
/*--------------------------------*/
#menubar_hdr {
	animation: opa1 0s 0.2s both;
	position: fixed;z-index: 101;
	cursor: pointer;
	right: 3vw;				/*右からの配置場所指定*/
	top: 2vw;				/*上からの配置場所指定*/
	padding: 16px 14px;		/*上下、左右への余白*/
	width: 46px;			/*幅（３本バーが出ている場合の幅になります）*/
	height: 46px;			/*高さ*/
	display: flex;					/*flexボックスを使う指定*/
	flex-direction: column;			/*子要素（３本バー）部分。flexはデフォルトで横並びになるので、それを縦並びに変更。*/
	justify-content: space-between;	/*並びかたの種類の指定*/
	background: rgba(0,0,0,0.5);	/*背景色。0,0,0は黒のことで0.5は色が50%出た状態。*/
}

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

/*×印が出ている状態の3本バーの背景色*/
#menubar_hdr.ham {
	background: #ff0000;
}

/*×印が出ている状態の設定。※１本目および２本目のバーの共通設定。*/
#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;	/*２本目は使わないので非表示にする*/
}


/*===========================================================================*/
/*#footer
/*===========================================================================*/
footer {
	margin: 0 !important;
	padding: 0.8rem 0 0.4rem 0 !important;
	clear: both;
	font-size: 0.7rem;
	background: var(--primary-color);
	margin-top: 0px;
}
footer a {
	text-decoration: none;
	text-align: center;
	color: var(--primary-inverse-color);
}
@media screen and (min-width:380px) {
	footer {
		font-size: 0.75rem;
	}
}
@media screen and (min-width:640px) {
	footer {
		font-size: 0.8rem;
	}
}
/*--------------------------------*/
#footermenu {
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-self: center;
	gap: 2rem;
}
#footermenu li {
	display: inline-block;
}

#footermenu a:hover {
	color: var(--color_lightgray);
	transform: scale(0.85);
	transition: .2s;
}
/*--------------------------------*/
ul.snsicons{
	padding: 0;
	margin: 0.8rem 0 0.8rem 0 ;
	color:var(--color_gray);
	list-style: none;
	display: flex;	
	align-self: center;
	justify-content: center;
	gap: 2rem;
}
.snsicons i {
	font-size: 2rem;
}
ul.snsicons a:hover {
	color: var(--color_lightgray);
	transform: scale(0.85);
	transition: .2s;
}
/*--------------------------------*/
.copyright {
	text-align: center;
}
.copyright a:hover {
	color: var(--color_lightgray);
	transform: scale(0.85);
	transition: .2s;
}
/*===========================================================================*/
/*pagetop_show
/*===========================================================================*/
/*main.js*/
.pagetop-show {
	display: block;
}
.pagetop a {
	display: block;text-decoration: none;text-align: center;z-index: 99;
	position: fixed;
	right: 20px;
	bottom: 20px;
	color: #fff;
	font-size: 1.5rem;
	background: rgba(0,0,0,0.2);
	width: 60px;
	line-height: 60px;
	border-radius: 50%;
}

/*===========================================================================*/