/* --------------------------------------------

CSS名称： AIKWEB基本CSS
概要： このCSSを基本とし、サイトごとの設定はcustom.cssで補正する


このCSSの目次（コンテンツブロック（ID）の出現順）

┌ 全体構造（レイアウト）
├ 要素
├  ├ テーブル 
│  └ 画像 
├ テキスト装飾
├ ヘッダーブロック
├ メインブロック
├ サブブロック
├ フッターブロック
└ トップページ


/* --------------------------------------------
 * 全体構造
 * -------------------------------------------- */
html {
	font-size: 62.5%;
}
body {
	background-color: #fff;
	border-top: 5px solid #e2041b;
	color: #2E2E2A;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS P Gothic", Osaka, Verdana, Arial, Helvetica, sans-serif;
}
.container {
	max-width: 1079px;
	position: relative;
}
#main {
	margin: 0;
	padding: 0;
}
#sub {
	margin: 0 0 0 0px;
	padding: 0;
}
#footer {
	margin: 0;
	padding: 16px 0 0;
}
/* --------------------------------------------
 * 要素               
 * -------------------------------------------- */
a:link {
	color: #0646A0;
	text-decoration: none;
}
a:visited {
	color: #551A8B;
	text-decoration: none;
}
a:hover {
	color: #F57312;
	text-decoration: underline;
}
a:active {
	text-decoration: underline;
}
a:hover img { /* not validated */
	opacity: 0.5;
	filter: alpha(opacity=50);
	-moz-opacity: 0.5;
}
em, strong {
	font-weight: bold;
	font-style: normal;
	color: #E2041B;
}
figure {
	margin: 0;
	padding: 0;
}
object {
	overflow: hidden;
}
/* 罫線 */
hr {
	display: none;
}
.line {
	border-bottom: 1px solid #e5e5e5;
	margin: 20px auto;
	width: 90%;
}
.blank {
	clear: both;
	margin: 0;
	padding: 0;
	width: 100%;
}
/* --------------------------------------------
 * 要素：テーブル              
 * -------------------------------------------- */
table {
	font-size: 1.4rem;
	margin-right: auto;
	margin-bottom: 4.8rem;
	margin-left: auto;
}
table th {
	background: #F7F7F7;
	border: 1px solid #D4D0C8;
	font-weight: bold;
	padding: 3px 14px;
	text-align: center;
	white-space: nowrap;
}
table td {
	border: 1px solid #D4D0C8;
	padding: 3px 4px;
}
table.image {
	margin: 0 auto;
	padding: 0;
	width: 100%;
}
table.image td {
	border: 0px none #fff;
	font-size: 1.4rem;
	margin: 0;
	padding: 0 8px 10px;
}
table tr.even td {
	background: #f7fbff;
}
table td.left, table th.left {
	text-align: left;
}
table td.right, table th.right {
	text-align: right;
}
table.photo {
	margin-bottom: 1em;
	margin-right: auto;
	margin-left: auto;
	width: auto;
}
table.photo td {
	border: 1px solid #D4D0C8;
	padding: 3px 4px;
}
table.photo-noframe {
	margin-bottom: 1em;
	margin-right: auto;
	margin-left: auto;
	width: auto;
}
table.photo-noframe td {
	border: 0px none;
	padding: 3px 4px;
}
table.left {
	margin-left: 0;
	margin-right: auto;
}
td.center {
	text-align: center;
}
/* --------------------------------------------
 * 要素：画像              
 * -------------------------------------------- */


/* --------------------------------------------
 * テキスト装飾         
 * -------------------------------------------- */
.bold {
	font-weight: bold;
}
.red {
	color: red;
}
.note {
	color: #555555;
	font-size: 77%;
}
span.dummy {
	display: none;
} /* 電子メールスパム対策 */
.tag-blue, .tag-green, .tag-red {
	color: #fff;
	font-size: 70%;
	font-weight: bold;
	margin: 0;
	padding: 0 3px;
}
.tag-blue {
	background-color: blue;
}
.tag-green {
	background-color: green;
}
.tag-red {
	background-color: red;
}
.en {
	font-size: 80%;
}
.center {
	margin: 0 auto;
}
		
/* --------------------------------------------
 * ヘッダーブロック
 * -------------------------------------------- */
p#header-lead {
	color: #555;
	font-size: 1.1rem;
	margin: 1px 0 2px 2px;
	padding: 0;
}
#site-logo {
	background-color: white;
	height: 50px;
	padding-bottom: 4px;
}
ul#primary-navi {
	color: #555;
	font-size: 1.3rem;
	float: right;
	list-style: none;
	margin: 0;
	padding: 0;
}
ul#primary-navi li {
	border-left: 1px dotted #dee3ef;
	float: left;
	padding: 1px 8px 0 8px;
}
ul#primary-navi li:first-child {
	border-left: 0 none;
	padding-left: 0;
}
ul#primary-navi li:last-child {
	padding-right: 0;
}
/* 検索ボックス */
#search {
	clear: both;
	font-size: 1.2rem;
	margin-left: auto;
	padding: 3px 0;
	width: 241px;
	height: 26px;
}
input {
	width: 180px;
}
input#submit {
	height: 26px;
	width: 56px;
}
input[type=submit] {
	font-family: FontAwesome;
}
/* グローバルメニュー */
#dropmenu {
	list-style-type: none;
	width: 100%;
	height: 46px;
	margin: 3px auto 5px;
	padding: 0;
	background: #E2041B;
	border-bottom: 5px solid #A10212;
	border-radius: 3px 3px 0 0;
}
#dropmenu li {
	position: relative;
	width: 20%;
	float: left;
	margin: 0;
	padding: 0;
	text-align: center;
}
#dropmenu li a {
	display: block;
	margin: 0;
	padding: 15px 0 11px;
	color: #fff;
	font-size: 15px;
	font-weight: bold;
	line-height: 1;
	text-decoration: none;
}
#dropmenu li ul {
	list-style: none;
	position: absolute;
	top: 100%;
	left: 0;
	margin: 0;
	padding: 0;
	border-radius: 0 0 3px 3px;
}
#dropmenu li ul li {
	overflow: hidden;
	width: 100%;
	height: 0;
	color: #fff;
	-moz-transition: .2s;
	-webkit-transition: .2s;
	-o-transition: .2s;
	-ms-transition: .2s;
	transition: .2s;
}
#dropmenu li ul li a {
	padding: 16px 15px;
	background: #FD8692;
	text-align: left;
	font-size: 14px;
	font-weight: normal;
}
#dropmenu li:hover > a {
	background: #FD8692;
	color: yellow;
}
#dropmenu > li:hover > a {
	border-radius: 3px 3px 0 0;
}
#dropmenu li:hover ul li {
	overflow: visible;
	height: 46px; /* 「#dropmenu li ul li a」の上下のpaddingとfont-size（px）の和 */
	border-top: 1px solid #E2041B;
	border-bottom: 1px solid #E2041B;
}
#dropmenu li:hover ul li:first-child {
	border-top: 0;
}
#dropmenu li:hover ul li:last-child {
	border-bottom: 0;
}
#dropmenu li:hover ul li:last-child a {
	border-radius: 0 0 3px 3px;
}
#dropmenu english {
	font-size: normal;
}
/* --------------------------------------------
 * メインブロック           
 * -------------------------------------------- */
/* パンくずガイド */
ol.topic-path {
	margin: 0;
	padding: 7px 0;
	list-style-type: none;
	font-size: 1.3rem;
}
ol.topic-path li {
	display: inline;
}
ol.topic-path li:after {
	content: ">";
	padding: 0 0.7em;
}
ol.topic-path li:last-child:after {
	content: "";
}
ol.topic-path li a {
	text-decoration: none;
}
#main p {
	font-size: 1.6rem;
	line-height: 2.8rem;
	margin-bottom: .8em;
}
#main p.backtotop {
	clear: both;
	color: #1EA6F1;
	font-size: 1.3rem;
	margin: 1.5em 0 2em;
	padding: 0 14px 0 0;
	text-align: right;
}
#main p.backtotop a {
	color: #999;
	text-decoration: none;
}
#main p.backtotop a:after {
	content: " \f062";
	font-family: FontAwesome;
}
#main p.backtotop a:hover {
	color: #F57312;
	text-decoration: underline;
}
#main h1, h2, h3, h4, h5, h6 {
	font-weight: bold;
	clear: both;
}
#main h1 {
	border: 1px solid #e5e5e5;
	border-left: 4px solid #E2041B;
	color: #E2041B;
	font-size: 2.2rem;
	margin: 0 0 3.2rem;
	padding: 16px 16px;
}
#main h2 {
	background-color: #e2041b;
	color: #fff;
	font-size: 1.8rem;
	margin: 3.2rem 0 1.6rem;
	padding: 3px 19px 1px 8px;
}
#main h3 {
	border-bottom: 1px dashed #947151;
	color: #555;
	display: block;
	font-size: 1.8rem;
	margin: 2.8em 0 1.6rem;
	padding: 0;
	width: auto;
}
#main h3.first {
	margin: 1.6rem 0 1.6rem;
}
#main h4 {
	font-size: 1.6rem;
	margin: 12px 0 10px;
}
#main h5, h6 {
	margin: 12px 0 10px;
}
#main p.readmore {
	clear: both;
	font-size: 1.4rem;
	margin: 0 0 4px;
	padding: 0 4px;
}
#main p.readmore:before {
	color: #e2041b;
	content: "\f0a9";
	font-family: FontAwesome;
	padding: 0 4px 0 0;
}
/* リスト */
ul.list {    /* 印があるシンプルなリスト */
	margin: 0 0 1.6rem;
	padding: 0 0 1.6rem;
}
ul.list li {
	font-size: 1.6rem;
	list-style: none;
	margin: 0;
	padding: .4rem .8rem .4rem 1.6rem;
}
ul.list li:before {
	color: #E2041B;
	content: "\f101";
	font-family: FontAwesome;
	padding: 0 1.0rem 0 .4rem;
}
ul.list li ul {
	margin: 0;
	padding: 0 0 0 1.6rem;
}
ol.list-num {
	margin: 0 0 1.6rem;
	padding: 0 0 0 4.8rem;
}
ol.list-num li {
	font-size: 1.6rem;
	list-style: decimal;
	margin: 0 0 .5em 0;
}
ol.list-num li ol li {
	list-style: lower-roman;
	margin: 0.5em 0 0.5em 2em;
}
ul.list-none {    /* 箇条書き */
	margin: 0 0 2.8rem;
	padding: 0;
}
ul.list-none li {
	font-size: 1.6rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.side-banner {
	list-style: none;
	margin: 0;
	padding: 0;
}
.side-banner li {
	margin-bottom: 4px;
}
dl.qa {
	font-size: 1.6rem;
	margin: 0;
	padding: 0;
}
dl.qa dt {
	margin: 0;
	padding: 0 0 1.6rem 0;
}
dl.qa dd {
	margin: 0;
	padding: 0 0 2.4rem 1.6rem;
}
dl.qa dt:before {
	content: "Q: ";
	color: red;
	font-weight: bold;
}
dl.qa dd:before {
	content: "A: ";
	color: blue;
	font-weight: bold;
}
/* ボックス */
.box {
	border: 1px solid #e5e5e5;
	margin: 0;
	padding: 4px;
	width: 100%;
	word-wrap: break-word;
}
.box-info, .box-important {
	font-size: 1.6rem;
	margin: 1.6rem auto 3.2rem;
	padding: 10px 16px;
	width: 90%;
	word-wrap: break-word;
}
.box-info {
	background-color: #f9fafa;
	border: 1px solid #dbe1ea;
}
.box-important {
	background-color: #FDF9E1;
	border: 2px solid #ffdfbd;
}
.box-letter {
	font-size: 1.6rem;
	margin: 1.6rem auto 3.2rem;
	padding: 10px 16px;
	max-width: 900px;
	word-wrap: break-word;
	background-color: #fff;

}
.box-tiled {    /* 試験的 */
	margin: 0 0 16px;
	padding: 0;
	wdith: 758px;
}
.box-tiled ul {
	margin: 0;
	padding: 0;
}
.box-tiled ul li {
	list-style: none;
	float: left;
	margin: 0 8px 8px 0;
	padding: 0;
}
.box-tiled img {
	background: #FAFAFA;
	border: 1px solid #E5E5E5;
	display: inline;
	float: right;
	margin: 0;
	padding: 3px;
}
/* 画像配置 */
.img-left {
	display: inline-block;
	float: left;
	margin: 0 1.6rem 1.6rem 0;
}
.img-right {
	display: inline-block;
	float: right;
	margin: 0 0 1.6rem 1.6rem;
}
.img-center {
	display: block;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}
.shadow {
	background: #FAFAFA;
	border: 1px solid #E5E5E5;
	box-shadow: 1px 1px 5px 0 #ccc;
	margin-top: 12px;
	margin-bottom: 16px;
	padding: 8px;
}
/* 列分割 */
.col1, .col2, .col3, .col4 {
	clear: both;
	margin: 4px 0;
	padding: 4px 0;
	width: 100%;
}
.col1 ul, .col2 ul, .col3 ul, .col4 ul {
	font-size: 1.6rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.col1 ul li, .col2 ul li, .col3 ul li, .col4 ul li {
	display: inline-block;
	margin: 0;
	padding: 0 4px;
}
.col2 ul li {
	max-width: 508px;
	width: 50%;
}
.col3 ul li {
	width: 32%;
	vertical-align: top;
	margin-right: 8px;
}
.col4 ul li {
	width: 24%;
}
/* --------------------------------------------
 * サブブロック               
 * -------------------------------------------- */
#sub h2 {
	background-color: #E2041B;
	border: 1px solid #E2041B;
	color: #fff;
	font-size: 1.5rem;
	margin: 0;
	padding: 4px 8px;
}
#sub h3 {
	border-left: 4px solid #E2041B;
	margin: 0 0 8px 0;
	padding: 4px 8px;
}
#sub ul.side-menu {
	border: 1px solid #E2041B;
	margin: 0 0 16px;
	list-style: none;
	padding: 0;
}
#sub ul.side-menu li {
	border-bottom: 1px solid #e5e5e5;
	color: #E2041B;
	font-size: 1.5rem;
	margin: 8px 0;
	padding: 0 0 4px 8px;
}
#sub ul.side-menu li:last-child {
	border-bottom: 0px solid #e5e5e5;
	padding-bottom: 0;
}
#sub ul.side-menu li:before {
	content: " \f138";
	font-family: FontAwesome;
	padding-right: 4px;
}
#sub ul.side-bannar {
	list-style: none;
	margin: 0 0 16px;
	padding: 0;
}
#sub ul.side-bannar li {
	display: inline-block;
	margin: 0 4px 4px 0;
	padding: 0;
	max-width: 300px;
}
#sub img {
	max-width: 300px;
	height: auto;
}
/* --------------------------------------------
 * フッターブロック               
 * -------------------------------------------- */
/* インデックス */
#footer-navi {
	border-top: 1px dotted #e5e5e5;
	border-bottom: 1px dotted #e5e5e5;
	padding: 12px 0 4px;
	margin: 16px 0 0 0;
}
#footer-navi h3 {
	color: #444;
	font-size: 1.4rem;
	font-weight: bold;
	padding: 0;
	margin: 0;
}
#footer-navi h3:before {
	content: "\f105";
	font-family: FontAwesome;
	padding-right: .3em;
}
#footer-navi h3 a:link {
	color: #444;
	text-decoration: none;
}
#footer-navi h3 a:visited {
	color: #444;
	text-decoration: none;
}
#footer-navi h3 a:hover {
	color: #F57312;
	text-decoration: underline;
}
#footer-navi ul {
	font-size: 1.3rem;
	margin: 0;
	padding: 0 0 8px;
	list-style: none;
}
#footer-navi ul li {
	padding: 0 1em 0 0;
}
#footer-navi ul li a:link {
	color: #0646A0;
	text-decoration: none;
}
#footer-navi ul li a:visited {
	color: #777;
	text-decoration: none;
}
#footer-navi ul li a:hover {
	color: #F57312;
	text-decoration: underline;
}
#footer-navi ul li a:active {
	text-decoration: none;
}
/* 利用規約、著作権表示 */
ul#footer-navi-list {
	font-size: 1.3rem;
	list-style: none;
	margin: 0px 0 0;
	padding: 0;
}
ul#footer-navi-list li {
	border-left: 1px dotted #dee3ef;
	float: left;
	padding: 0 8px 0 8px;
}
ul#footer-navi-list li:first-child {
	border-left: 0 none;
	padding-left: 0;
}
ul#footer-navi-list li a:link {
	color: #0646A0;
	text-decoration: none;
}
ul#footer-navi-list li a:visited {
	color: #888;
	text-decoration: none;
}
ul#footer-navi-list li a:hover {
	color: #F57312;
	text-decoration: underline;
}
ul#footer-navi-list li a:active {
	text-decoration: none;
}
p.copyright {
	color: #888;
	float: left;
	font-size: 1.3rem;
	margin: .5em 0 0 0;
	padding: 0 0 0 0;
}
/* --------------------------------------------
 * トップページ               
 * -------------------------------------------- */
#toppage .box-full {
	border: 1px solid #e5e5e5;
	margin: 0 0 8px;
	padding: 4px;
	width: auto;
}
#toppage h2 {
	line-height: 1.3;
	margin: 8px 0px;
	padding: 4px;
}
#toppage h2 .aori {
	font-size: 1.2rem;
	font-weight: 300;
	margin: 0;
	padding: 0;
}
#toppage h2 .en {
	font-weight: 300;
}
#toppage h3 {
	line-height: 1.3;
	margin: 0 8px 12px 4px;
	padding: 4px 4px 0;
}
#toppage h3 .en {
	color: #777;
}
#toppage h3 .aori {
	color: #777;
	font-size: 1.2rem;
	font-weight: 300;
	margin: 0;
	padding: 0;
}
#toppage p {
	font-size: 1.4rem;
	line-height: 1.5;
	margin: .7rem 0 .7rem;
	padding: 0 8px;
}
#toppage .box-none {
	border: 0 none;
	margin: 0 4px;
	padding: 0;
}
#toppage img.cover {
	float: left;
	margin: 0 4px 4px 0;
	padding: 0 4px;
}
#toppage .en {
	font-size: 80%;
}
