@charset "UTF-8";

/* 
	サイトUI CSS

	ヘッダやフッタ、メニューなどサイトUIを定義しています。
	CSSを変更することにより、サイトデザインをカスタマイズことができます。

	※このCSSで定義したクラスは、CMS管理画面でのページ編集においては利用できません。

 */
 

/* ! ---------- アイコンフォント ---------- ---------- ---------- ---------- */

@import url('//netdna.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css');


/* ! ---------- reset ---------- ---------- ---------- ---------- */

body ,h1, h2, h3, h4, h5, h6, p, ol, ul, li, blockquote, pre, a ,div {
	margin: 0; padding: 0; font-size:100%; line-height: inherit;
	box-sizing: border-box;
}
body { -webkit-text-size-adjust: 100%; line-height: 1;}
ol, ul { list-style: none;}
table { border-collapse: collapse; border-spacing: 0;}
th, td { vertical-align: top; text-align:left; font-weight: normal;}
img { border: 0; vertical-align: bottom;}


/* ! ---------- clearfix ---------- ---------- ---------- ---------- */

.clearfix:after { visibility: hidden; display: block; font-size: 0; content: " "; clear: both; height: 0;}


/* ! ---------- 全体設定 ---------- ---------- ---------- ---------- */

body{
	background: #fff;
	font-family: Helvetica , Arial , Verdana , "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "メイリオ" , Meiryo , sans-serif;
	color:#333;
	line-height: 1;
    /* 文字サイズは、block.cssで定義しています */
}
a {color:#4A66A0;}

/* ! ---------- UIの寸法 ---------- ---------- ---------- ---------- */

#HeaderArea .inner,
#GlobalNaviArea .inner,
#BredList .inner,
#BodyArea,
#FooterExtraArea .inner{  max-width: none;  width: 100%;}


/* ! ---------- 全体 #Wapper ---------- ---------- ---------- ---------- */

/* 全体 */
#Wapper {}


/* ! ---------- ヘッダエリア #HeaderArea ---------- ---------- ---------- ---------- */

/* ヘッダエリア全体 */
#HeaderArea {position: relative; height:50px;margin: 0 0 30px 0;}
#HeaderArea .inner { margin: 0 auto; position: relative; }
#HeaderArea a{ color:rgba(255,255,255,0.5);text-decoration: none; }
#HeaderArea .header_name{color: #333;}

/* ! ---------- ヘッダビジュアル #HeaderVisual ---------- ---------- ---------- ---------- */

#VisualArea { height: 150px; margin: -30px 0 30px 0;}
#VisualArea { background: #aaa/*MainVisual*/ url(../../images/visual_main.jpg) center center no-repeat;}
body#index #VisualArea { height: 300px;}


/* ! ---------- グローバルナビ #GlobalNaviArea ---------- ---------- ---------- ---------- */

/* グローバルナビ全体 */
#GlobalNaviArea {float: right;}
#GlobalNaviArea .inner {}
#GlobalNaviArea ._level-1 > li { display: inline-block;}

/* ナビの各ボタンのデザイン */
#GlobalNaviArea li:first-child{display: none;}
#GlobalNaviArea li > a { display: block; padding: 0 0 0 17px; color: #888; text-decoration: none; line-height: 50px;}
#GlobalNaviArea li .t1 { display: block;}
#GlobalNaviArea li .t2 { display: none;}


/* 現在表示してるナビのデザイン */
#GlobalNaviArea li._current > a,
#GlobalNaviArea li._ownCurrent > a{ color: #000;font-weight: bold;}

/* 工事中ナビのデザイン */
#GlobalNaviArea li._underconst > a{ color:#555; }


/* ! ---------- パンくず #BredList ---------- ---------- ---------- ---------- */


/* ! ---------- メインカラム #BodyArea,#ContentsArea,#SideArea ---------- ---------- ---------- ---------- */

/* ヘッダの下に位置するメインのエリア */
#BodyArea { margin: 0 auto;min-height: 300px; }

/* コンテンツエリア */
#ContentsArea {  }


/* ! ---------- フッタナビエリア #FooterNaviArea ---------- ---------- ---------- ---------- */


/* ! ---------- フッタ追加情報エリア #FooterExtraArea ---------- ---------- ---------- ---------- */

#FooterExtraArea { margin: 50px 0 0 0;line-height: 1.6; }
#FooterExtraArea,
#FooterExtraArea a{	color: #888;text-decoration: none;}
#FooterExtraArea .inner { padding: 40px 0 40px 0; margin: 0 auto; position: relative;}

/* ! ---------- フッタそのほかエリア #Copyright,#PageTop ---------- ---------- ---------- ---------- */

/* コピーライト */
#Copyright { background: #f7f7f7;color: #888; text-align: center; font-weight: bold; padding: 40px 0 40px 0;}


/* ページトップボタン */
.cms-pagetop { position: fixed; bottom: 20px; right: 20px; width: 40px; height: 40px; padding: 12px 0 0 ; background:#fff; color: #000; text-align: center; cursor: pointer; border-radius:50%; box-shadow:0px 0px 10px rgba(0,0,0,0.2);}


/* ! ---------- UI用汎用クラス ---------- ---------- ---------- ---------- */

/* UIのデフォルトのボタンクラス */
._btn_default{cursor: pointer;}
._btn_default:hover { opacity: 0.8; }

/* トグルボタンのアイコン */
._toggle-icon{float:right;padding:0 5px 0 0;}

/* 工事中ボタンのクラス */
.underconst { cursor: default }

/* 平行メニューでのカラム幅　平行メニューの個数に応じて、いずれかのクラスが適応されます */

.parallel-list ._level-1._sum-1 > li{ width: 100%;}
.parallel-list ._level-1._sum-2 > li{ width: 50%;}
.parallel-list ._level-1._sum-3 > li{ width: 33.3%;}
.parallel-list ._level-1._sum-4 > li{ width: 25%;}
.parallel-list ._level-1._sum-5 > li{ width: 20%;}
.parallel-list ._level-1._sum-6 > li{ width: 16.6%;}
.parallel-list ._level-1._sum-7 > li{ width: 14.2%;}
.parallel-list ._level-1._sum-8 > li{ width: 12.5%;}
.parallel-list ._level-1._sum-9 > li{ width: 11%;}


/* ! ---------- スマホ閲覧時のUIパーツ ---------- ---------- ---------- ---------- */

#MobileUI{ display: none;}
#MobileUI .mobileHeader {z-index: 5010;}
#MobileUI .mobileMenu {z-index: 5000;}

/* スマホ用メニュー背景 */
#MobileUI .mobileBG { display: none; position: fixed; top: 0; left: 0; height: 100%; width: 100%; background: rgba(0,0,0,0.6);}

/* スマホ用ヘッダ */
#MobileUI .mobileHeader { position: fixed; overflow: hidden; top: 0; left: 0; height: 50px; width: 100%; box-shadow: 0px 0px 5px rgba(0,0,0,0.2); background: #fff;}
#MobileUI .mobileHeader .title{display: inline-block; padding: 15px 0 0 10px; font-size: 20px; font-weight: bold;}
#MobileUI .mobileHeader a{color: #000; text-decoration: none;}
#MobileUI .menuBtn { position:absolute; top: 0px; right: 0px; width: 50px; height: 38px; text-align: center; padding: 12px 0 0 0;}
#MobileUI .menuBtn.active {color: #888;}

/* スマホ用メニュー */
#MobileUI .mobileMenu { display: none; position: fixed; top: 48px; left: 40px; right: 0%; bottom:0px; padding: 0 0 50px 0; background:#fff; overflow-y: scroll;}
#MobileUI .mobileMenu a { color: #000; text-decoration: none; display: block; }
#MobileUI .mobileMenu .main ._level-1 > li { border-top: 1px solid #ddd}
#MobileUI .mobileMenu .main ._level-1 > li > a { padding: 15px 0 15px 10px; font-size: 14px;}
#MobileUI .mobileMenu .main ._level-2 > li > a { padding: 10px 0 10px 20px; font-size: 12px;}
#MobileUI .mobileMenu .main ._level-3 > li > a { padding: 8px 0 8px 40px; font-size: 12px;}
#MobileUI .mobileMenu .main ._level-4 > li > a { padding: 8px 0 8px 55px; font-size: 12px;}
#MobileUI .mobileMenu .main ._current { font-weight: bold;background: rgba(200,200,0,0.2);}
#MobileUI .mobileMenu .main ._level-1 > li._ownCurrent { border-top: 2px solid rgba(0,0,0,1)}
#MobileUI .mobileMenu .main ._level-2{ padding: 0 0 20px 0;}

#MobileUI.show .mobileBG { display: block;}
#MobileUI.show .menuBtn { color: #aaa;}
#MobileUI.show .mobileMenu { display: block;}


/* ! ---------- レスポンシブ タブレット ---------- ---------- ---------- ---------- */

@media screen and (max-width:1400px) {

	/* 
		タブレット閲覧時には、
		ヘッダ・グロナビや、フッタメニュー等の幅を狭くする
	 */
	 
	/* ヘッダ */
	#HeaderArea .inner,
	#GlobalNaviArea .inner{ width: 760px; }
	
	/* メイン */
	#BodyArea { width: 100%; }
	#BodyArea {  margin: 0 auto; }
	
	/* フッタ */
	#FooterExtraArea .inner {width: 100%;}
}

/* ! ---------- レスポンシブ スマホ ---------- ---------- ---------- ---------- */

@media screen and (max-width:760px) {
	/* 
		スマホ閲覧時には、
		ヘッダ・グロナビや、フッタメニューを非表示にして、
		かわりにスマホ用UIを表示する
	 */
	
	#MobileUI { display: block; }
	#Wapper {margin: 70px 0 0 0;}
	
	/* ヘッダ */
	#HeaderArea { display: none; }
	#GlobalNaviArea { display: none; }

	/* メイン */
	#BodyArea { width: auto; padding:10px 5px; }
	#BodyArea > div { padding: 0 }
	
	/* フッタ */
	#Copyright { border:none; padding: 40px 10px 40px 10px; }
	
}

@media screen and (max-width:none){  #BodyArea{ padding:0; }}

/* 内容区也全宽（避免里面自己又被限制） */
#ContentsArea{
  width: 100% !important;
}

/* ===== 横向滚动条最终解决方案 ===== */

/* 全站兜底 */
html, body {
  overflow-x: hidden;
}

/* 主体不要用 100vw */
#BodyArea {
  width: 100% !important;
  max-width: 1920px !important;
}

/* CMS 列布局防溢出 */
.cms-column {
  max-width: 100%;
  overflow-x: hidden;
  margin: auto;
}

/* Hero 防止背景/网格溢出 */
.hero {
  overflow-x: hidden;
}

/* 图片/SVG 防溢出 */
img, svg {
  max-width: 100%;
  height: auto;
}

/* =================================================
   FORCE FONT — FINAL AUTHORITY
   ================================================= */

/* 统一字体变量（只维护这里） */
:root {
  --force-font:
    neuzeit-grotesk,
    "Zen Kaku Gothic New",
    "游ゴシック体",
    YuGothic,
    "游ゴシック",
    "Yu Gothic",
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
}

/* 全站强制（包含伪元素） */
html,
body,
*,
*::before,
*::after {
  font-family: var(--force-font) !important;
}

/* --- Works for FA4/5/6 --- */
.fa, .fa::before,
.fas, .fas::before,
.far, .far::before,
.fab, .fab::before,
[class^="fa-"]::before, [class*=" fa-"]::before {
  font-family: "Font Awesome 6 Free","Font Awesome 5 Free","FontAwesome" !important;
  font-style: normal !important;
  font-weight: 900 !important; /* FA5/6 solid */
}
.far, .far::before { font-weight: 400 !important; } /* regular */
.fab, .fab::before { font-family: "Font Awesome 6 Brands","Font Awesome 5 Brands" !important; font-weight: 400 !important; }
