@charset "utf-8";

/* ======================================================================
	全ページ共通CSS
====================================================================== */
/* -----------------------------------------------------------------
	★ CSS内は固定文字以外％指定中 ★
	★ デフォルトは13px(100％)をbodyに指定 ★
	10px → 77%     |    11px → 85%     |    12px → 93%
	13px → 100%    |    14px → 108%    |    15px → 116%
	16px → 123%    |    17px → 131%    |    18px → 139%
	19px → 147%    |    20px → 154%    |    21px → 162%
	22px → 167%    |    23px → 174%    |    24px → 182%
	25px → 182%    |    26px → 197%
----------------------------------------------------------------- */

/*--------------------------------------------------------------
	初期設定
--------------------------------------------------------------*/
/* --------------------------------------
	ページ
-------------------------------------- */
html { overflow-y:scroll; margin:0; padding:0; }
body {
	font:13px/1.7 "游ゴシック","Yu Gothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Arial,Verdana,sans-serif;
	*font-size:small;
	*font:x-small;
	color:#444; word-wrap:break-word;
	text-align:left;
	background:url(/site/aso/common/images/bg/body.png) #FFF scroll;
}
body * { font-size:100%; }

/* --------------------------------------
	詳細
-------------------------------------- */
/* ---------------------
	文字・段落
--------------------- */
/* 文字選択 */
::selection { background:rgba(255,170,0,0.2); color:#333; }
::-moz-selection { background:rgba(255,170,0,0.2); color:#333; }

/* テキスト装飾 */
b,em,strong,.bold { font-style:normal; font-weight:bold; }
strong { color:#E33; }
sub,sup { font-size:77%; vertical-align:baseline; }
.txt_bg { background:#FF7; }

/* フォントサイズ */
.fs10 { font-size:77%; }
.fs11 { font-size:85%; }
.fs12 { font-size:93%; }
.fs14 { font-size:108%; }
.fs15 { font-size:116%; }
.fs16 { font-size:123%; }
.fs17 { font-size:131%; }
.fs18 { font-size:139%; }
.fs19 { font-size:147%; }
.fs20 { font-size:154%; }

/* フォントカラー */
.fc_white { color:#FFF; }
.fc_red { color:#E33; }
.fc_pink { color:#F69; }
.fc_orange { color:#F74; }
.fc_green { color:#396; }
.fc_blue { color:#55C; }
.fc_brawn { color:#960; }
.fc_purple { color:#939; }
.fc_gray { color:#888; }
.fc_black { color:#000; }

/* テキスト寄せ */
.txt_c { text-align:center; }
.txt_r { text-align:right; }
.txt_l { text-align:left; }

/* リンク */
a:link,a:visited { color:#0AA; text-decoration:underline; }
a:active,a:hover { color:#000; }

/* リンク(赤) */
a.btn_red { color: #FFF;background: #E55;text-decoration: none; }
a.btn_red:hover { color: #FFF;background: #F88;text-decoration: none; }

/* 画像リンク */
.wrap a:hover img,
#h_box #ph a:hover img { opacity:0.8; }

/* ---------------------
	テーブル
--------------------- */
table {
	width:100%; margin:0 auto 5px;
	table-layout:auto; border-collapse:collapse;
	-moz-box-sizing:border-box; box-sizing:border-box;
}
table th,table td { padding:5px; text-align:left; }
table.b_on1 th,
table.b_on1 td { border:1px solid #999; background:#FFF; }
table.b_on1 th { background:#BEE; text-align:center; }
table.b_on2 th,
table.b_on2 td { border-top:1px solid #999; border-bottom:1px solid #999; }

/* ---------------------
	記号リスト
--------------------- */
/* 通常 */
ul { list-style:square outside; }
ul li ul { list-style:circle; padding-left:1.5em; }
/* ※印 */
ul.kome { list-style:none; padding-left:1.5em; text-indent:-1.3em; }
ul.kome li:before { content:"※"; padding-right:0.3em; }
/* インライン */
ul.inline { padding:0; margin:0; list-style:none; }
ul.inline li { display:inline; }
/* 下線 */
ul.u-line { list-style:none; padding:0; margin:0; border-top:1px solid #CCC; }
ul.u-line li { border-bottom:1px solid #CCC; padding:5px; margin:0; }
/* 右矢印 */
ul.arrow { list-style:none; padding:0; margin:0; }
ul.arrow li {
	background:url(/site/aso/common/images/li_arrow.gif) 0px 0.9em no-repeat;
	padding:5px 15px;
}
/* 下矢印 */
ul.b-arrow { list-style:none; padding:0; margin:0; }
ul.b-arrow li { padding:0 0 10px; }
ul.b-arrow li:after {
	content:"　";
	background:url(/site/aso/common/images/li_b-arrow.gif) right center no-repeat;
	display:inline-block; min-width:30px;
}
ul.b-arrow li a { text-decoration:none; color:#333; }
ul.b-arrow li a:hover { text-decoration:none; color:#0AA; }

/* ---------------------
	数字リスト
--------------------- */
ol { list-style-type:decimal-leading-zero; padding-left:2.3em; }

/* ---------------------
	定義リスト
--------------------- */
dl dt { font-weight:bold; }
dl dd { margin:0; }

/* 2カラム */
dl.c2 {
	overflow:hidden; zoom:1; margin:0 auto; padding:0;
	-moz-box-sizing:border-box; box-sizing:border-box;
}
dl.c2 dt { float:left; clear:both; width:140px; }
dl.c2 dd { margin:0 0 0 150px; }

/* アコーディオン */
.accordion > dt { cursor:pointer; }
.accordion > dd { display:none; }

/* ---------------------
	リスト共通
--------------------- */
ul,ol,dl { margin-bottom:5px; }
ul.none { list-style:none; padding:0; margin:0; }

/* ---------------------
	フロート
--------------------- */
.flo_l { float:left; }
.flo_r { float:right; }
.clear { clear:both; }
.clearfix:after {
	content:""; display:block; clear:both;
	height:0; visibility:hidden;
}

/* ---------------------
	ブロック
--------------------- */
/* 表示 */
.dis_block { display:block; }
.dis_none { display:none; }
.vis_none { visibility:hidden; }

/* 余白 */
.pb { padding-bottom:1em !important; }
.mb { margin-bottom:1em !important; }

/* 赤枠 */
.redbox {
	padding:10px; margin-bottom:5px; border:2px solid #E55; width:100%;
	-moz-box-sizing:border-box; box-sizing:border-box;
}

/* 枠線付ボックス */
.bdbox {
	padding:10px; background:#FCFCFC; border:1px solid #CCC;
	-moz-box-sizing:border-box; box-sizing:border-box;
}
.bdbox.c1 { border:3px double #3CC; }
.bdbox.c2 { border:3px double #CCC; }

.bdbox  + * { margin-top:1em; }

/* ---------------------
	その他
--------------------- */
/* 区切り線 */
hr {
	height:0; margin:1em 0;
	border:0; border-bottom:1px dotted #AAA;
}

/* --------------------------------------------------------------
	コンテンツ
-------------------------------------------------------------- */
/* -------------------------
	全体
---------------------------- */
/* 通常 */
.wrap { margin:10px auto 0; }
.wrap + .wrap { margin-top:3em; }
.wrap .secbox { width:980px; margin:0 auto; }
.wrap .secbox + .secbox { margin-top:1.5em; }

/* 白背景 */
.wrap.wbox { background:#FFF; }
.wrap.wbox:before,
.wrap.wbox:after { display:block; content:""; }
.wrap.wbox:before {
	background:url(/site/aso/common/images/bg/wbox_t.gif) left top repeat-x;
	height:15px;
}
.wrap.wbox:after {
	background:url(/site/aso/common/images/bg/wbox_b.gif) left bottom repeat-x;
	height:20px;
}
/* -------------------------
	見出し
---------------------------- */
/* 画像用 */
.wrap .tit { width:980px; padding:3px 0; margin:0 auto 10px; }
.wrap .tit img { display:block; width:100%; margin:0 auto; }

/* マーク＋下線 */
.wrap .subtit {
	padding:3px 0; margin:0 0 10px;
	border-bottom:1px dotted #999; font-size:116%;
}
.wrap .subtit:before { content:"◆"; color:#099; padding-right:0.3em; }

/* 下線付 */
.wrap .bbtit { border-bottom:1px solid #CCC; margin-bottom:5px; }

/* 背景付き */
.wrap .bartit {
	padding:5px 10px; margin:0 0 10px; background:#099;
	color:#FFF;
}

/* ----------------------------
	注意ボックス
---------------------------- */
.caution dl.accordion { border-top:1px dotted #666; border-bottom:1px dotted #666; }
.caution dl.accordion > dt { overflow:hidden; padding:5px 0;  font-size:100%; }
.caution dl.accordion > dt span.day {
	float:left; width:11.5%; padding-left:3.5%; /* 計15% */
	line-height:30px; min-height:30px;
	background:url(/site/aso/common/images/icon/caution.png) left center no-repeat;
}
.caution dl.accordion > dt span.infotit {
	float:right; width:82%; padding-right:3%; /* 計85% */
	line-height:30px; min-height:30px;
	background:url(/site/aso/common/images/icon/plus.gif) right center no-repeat;
}
.caution dl.accordion > dt:hover { color:#C00; }
.caution dl.accordion > dt.active span.infotit { background-image:url(/site/aso/common/images/icon/minus.gif); }
.caution dl.accordion > dd { padding:0 3% 5px 3.5%; }
.caution dl.accordion > dd + dt { border-top:1px dotted #666; }


/* ----------------------------
	運行状況
---------------------------- */
#unko_info table { border-top:1px solid #000; border-bottom:1px solid #000; }
#unko_info table th,
#unko_info table td { border-bottom:1px dashed #999; padding:13px 10px; }
#unko_info table th{
	width:7em; background:#CEE; background:rgba(51,204,204,0.3);
}
#unko_info td .fc_gray.fs11 { padding-left:0.5em; }
#unko_info table + .kome { letter-spacing:-0.2px; }

/* -------------------------
	ボックス横並び
---------------------------- */
div[class*="col"] .bdbox { margin:0; margin-bottom:15px; }
div[class*="col"] + div[class*="col"] { margin-top:0 !important; }
div[class*="col"] .bdbox .ph { display:block; }
div[class*="col"] .bdbox .ph img { display:block; width:100%; }
div[class*="col"] table.b_on1 th { background:#EEE; }
div[class*="col"] table.b_on1 th,
div[class*="col"] table.b_on1 td { border:1px solid #CCC; }

/* 1カラム */
.col1 .bdbox .ph { width:160px; }
.col1 .bdbox .txt { width:788px; }

/* 2カラム */
.col2 .bdbox.flo_l { width:485px; }
.col2 .bdbox.flo_l:nth-of-type(odd) { margin-right:10px; }
.col2 .bdbox.flo_l .ph { width:160px; }
.col2 .bdbox.flo_l .txt { width:293px; }

/* 3カラム */
.col3 .bdbox.flo_l { width:320px; }
.col3 .bdbox.flo_l:nth-of-type(3n+1) { margin-right:10px; }
.col3 .bdbox.flo_l:nth-of-type(3n+2) { margin-right:10px; }
.col3 .bdbox.flo_l .ph + .txt { margin-top:5px; }

/* PH_BOX */
ul.ph_list { list-style:none; padding:0; margin:0; }
ul.ph_list li { float:left; margin-bottom:5px; }

/* ライトボックス */
.wrap a[class*="lytebox"] { position:relative; display:block; }
.wrap a[class*="lytebox"]:before {
	content:url(/site/aso/common/images/icon/plus.gif);
	display:block; width:16px; height:16px;
	position:absolute; bottom:3px; right:3px;
}

/* --------------------------------------------------------------
	ヘッダー
-------------------------------------------------------------- */
#h_box a { outline:none; }

/* -------------------------
	重ね順・ポジション
---------------------------- */
#h_box { z-index:1; position:relative; }

#h_box #lang { z-index:1000; position:absolute; top:2px; left:0; right:0; }
#h_box #nav_box { z-index:800; position:absolute; bottom:0; left:0; right:0; }

#h_box #ribbon { z-index:900; position:absolute; top:0; left:0; }

#h_box h1 { z-index:700; position:absolute; top:35px; }
#h_box h1 img { position:absolute; top:0; left:50%; margin-left:-490px; }

#h_box #ph { z-index:-100; position:absolute; top:0; }

/* -------------------------
	ヘッダーボックス
---------------------------- */
#h_box { height:290px; background:transparent; }

/* -------------------------
	山型帯
---------------------------- */
#h_box #ribbon {
	width:100%; height:200px;
	background:url(/site/aso/common/images/header/ribbon.png) center top no-repeat;
}
/* ブラウザ2000px以上：画像を引き伸ばす */
@media screen and (min-width:2000px) {
	#h_box #ribbon {
		-moz-background-size:100% 200px;
		background-size:100% 200px;
	}
}

/* -------------------------
	ロゴ
---------------------------- */
#h_box h1 {
	width:100%; height:70px; margin:0 auto;
	border-bottom:1px dashed #AAA; overflow:hidden;
}
#h_box h1 img { width:980px; height:65px; }

/* -------------------------
	スライダー／写真枠
---------------------------- */
#ph,
#ph img { height:200px; }

#ph { width:100%; overflow:hidden; }
#ph img { position:absolute; left:50%; margin-left:-1000px; }

/* ブラウザ2000px以上：画像を引き伸ばす */
@media screen and (min-width:2000px) {
	#ph img {
		width:100%; height:200px;
		position:absolute; left:0; margin-left:0;
	}
}

/* -------------------------
	多言語セレクトボックス
------------------------- */
#lang { width:980px; margin:0 auto; text-align:right; }
#lang ul { width:130px; margin:0 0 0 auto; color:#666; }
#lang ul li { cursor:pointer; }
#lang ul li a { display:block; }

/* -------------------------
	ナビバー
---------------------------- */
/* ＋child…プルダウン込み設定 */
#nav_box {
	background:url(/site/aso/common/images/nav/bg.png) top left repeat-x;
	height:93px;
}
#nav_box ul.parent { width:980px; height:100%; margin:0 auto; }
#nav_box ul.parent li { width:122px; }	/* ＋child */
#nav_box ul.parent > li {
	float:left;
	background:url(/site/aso/common/images/nav/line.png) right top no-repeat;
}
#nav_box ul.parent li.sr { width:126px; }
#nav_box ul.parent > li a { display:block; width:100%; height:100%; }	/* ＋child */
#nav_box ul.parent > li > a:hover { background:url(/site/aso/common/images/nav/l_hover.png) transparent top left no-repeat; }
#nav_box ul.parent > li > a.active { background:url(/site/aso/common/images/nav/l_active.png) transparent top left no-repeat; }

#nav_box ul.parent li img { width:100%; display:block; }	/* ＋child */

/* -------------------------
	プルダウン
---------------------------- */
ul.child { display:none; font-weight:bold; }
ul.child li { margin:2px 0 !important; text-align:center; }
ul.child li a { padding:5px 0; text-decoration:none; }

/* #language */
#lang ul.child li a {
	background:#578; background:rgba(10,65,82,0.7); color:#FFF;
}
#lang ul.child li a:hover { background:#356; background:rgba(10,65,82,1); }

/* #nav_box */
#nav_box ul.child li a { color:#333; background:#DDD; }
#nav_box ul.child li a:hover { background:#BEE; }

/* --------------------------------------------------------------
	フッター
-------------------------------------------------------------- */
#f_box {
	margin-top:1.5em; padding:1.3em 0 0.2em;
	background:url(/site/aso/common/images/footer/bg.gif) #FFF top left repeat-x;
}
#f_box dl.c2 dt { width:5em; letter-spacing:0.1em; }
#f_box dl.c2 dd { margin-left:6.5em; }
#f_box ul.inline li { padding-left:1em; }

/* --------------------------------------------------------------
	バナーボックス
-------------------------------------------------------------- */
.bnrbox {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 10px;
  margin: 20px auto !important;
}
.bnrbox a { display: block; }
.bnrbox a img { width: 200px; }

/* -------------------------
	ページトップへ
---------------------------- */
#pagetop { position:fixed; bottom:10px; right:20px; }
#pagetop a { display:block; width:80px; height:30px; }
@media screen and (max-width: 1200px) { #pagetop { bottom:30px; right:10px; } }
@media screen and (max-width: 1020px) { #pagetop { display:none; } }




