@charset "utf-8";
/*-------------------------------------------------
デスクトップ1024px以上
スマホ　　　320〜740px　を想定
-------------------------------------------------*/
/*-------------------------------------------------
基本
-------------------------------------------------*/
*{ box-sizing:border-box;}
body {background:#fff; font-size:16px; color:#333; line-height: 1.6; word-break: normal; position:relative; -webkit-text-size-adjust: none; min-width:1180px;
font-family:"Quicksand", "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
}

p{ margin:0 0 1em;}
::selection {background: #333; color:#fff;}
::-moz-selection {background: #333; color:#fff;}

img{max-width:100%; position:relative; line-height:1; vertical-align:middle;}

a{color:#3064B2; text-decoration: none; -webkit-transition:  all 0.2s ease-out; transition:  all 0.2s ease-out;}
a:hover {color:#4285F4; text-decoration: none;}
a img,.bl{-webkit-transition:  all 0.2s ease-out; transition:  all 0.2s ease-out;}
a img:hover,.bl:hover{ opacity:0.8;}.bl:hover img,.bl:hover .button{ opacity:1; text-decoration:none;}

/* -----------------------------------------------------------
ボタン
----------------------------------------------------------- */
a.button,input.button{border:none; padding:0.5em 1em; font-weight:normal; text-align:center; vertical-align:middle; cursor: pointer; border-radius:3px; position:relative; display:inline-block; text-decoration:none; color:#555; background:linear-gradient(#fff,#eee); border:1px solid rgba(0,0,0,0.2); box-shadow:0 0 0 1px rgba(255,255,255,1.0) inset , 0 0 5px rgba(0,0,0,0.1); text-decoration:none !important;
-webkit-transition:0.2s ease-out; transition:0.2s ease-out;}
.button:hover{ text-decoration:none; opacity:0.8;}


/* -----------------------------------------------------------
その他
----------------------------------------------------------- */
.left{ text-align:left;}.right{ text-align:right;}.center{ text-align:center;}
hr{ height:1px; background:#ddd; overflow:hidden; clear:none; margin:1.5em 0 1.5em;}
hr.space{ height:2em; background:none; overflow:hidden; margin:0;}
.oh{ overflow:hidden;}
.ib{ display:inline-block;}
.indent{ padding-left:1em; text-indent:-1em;}p.indent{ margin-bottom:0.5em;}.indent.small{ font-size:11px;}
.normal{ font-weight:normal;}
.bold{ font-weight:bold;}
span.red{ color:#FF0000;}
small{ font-size:11px;}
/*ロングコメント*/
.longComment{ margin-bottom:1em !important;}
.longComment p{ margin:0 !important;}
.noData { color:#df0000; padding:1em; }

/* -----------------------------------------------------------
ページ
----------------------------------------------------------- */
.page{ position:relative;}

/* -----------------------------------------------------------
ラッパー　コンテナー
----------------------------------------------------------- */
.wrapper{ width:1140px; margin:0 auto 0; position:relative;}
.container{ float:left; width:800px; padding:40px 0 40px;}
.container section,.container article{ margin-bottom:100px; position:relative; z-index:1; border-top:2px solid #9AB0C6; padding-top:20px; /*overflow:hidden;*/}
.container a{}


/* -----------------------------------------------------------
区切り線
----------------------------------------------------------- */
hr.anc{ background:none; border:none; margin-bottom: 0; margin-top: -160px !important; padding-top: 160px !important; overflow: hidden; position:relative; z-index:-1;}

/* -----------------------------------------------------------
ナビゲーションリスト
----------------------------------------------------------- */
ul.nav{ border-top:1px solid rgba(0,0,0,0.1); margin:0 0 1em; overflow:hidden;}
ul.nav li{ border-bottom:1px solid rgba(0,0,0,0.1); line-height:1.4; padding:10px 10px 10px 10px; overflow:hidden; position:relative; box-sizing:border-box;}
ul.nav li.bl{padding-right:30px;}
ul.nav li.bl a{ color:#333;}
ul.nav li.bl:after{font-family: FontAwesome; content: "\f054"; display:block; width:14px; height:14px; line-height:14px; font-size:14px; margin-top:-0.5em; position:absolute; top:50%; right:10px; text-align:center; color:rgba(0,0,0,0.1);}
ul.nav li.bl.external-link:after{ content:"\f08e"; color:rgba(0,0,0,0.2);}
ul.nav li.bl:hover{ background-color:rgba(0,0,0,0.05);}
ul.nav li .image{ float:left; width:20%; text-align:center; margin:0 10px 0 0;}

ul.nav li .image.clip,.image.clip{ width:100px; height:100px; overflow:hidden;
background-repeat: no-repeat;
background-image:url("../img/noImage.jpg");
background-position: center;
background-size:cover;
-webkit-transition:all 0.3s ease-out; transition:all 0.3s ease-out;
}
ul.nav li .image.clip img,.image.clip img{opacity:0; width:100%; height:100%;}

ul.nav li .text{ overflow:hidden;}
ul.nav li .text h2,ul.nav li .text h3,ul.nav li .text h4, li .text h5{ border:none; padding:0; margin:0 0 0.3em; background:none; font-size:16px; letter-spacing:0;}
ul.nav li .text p{ margin:0;}
ul.nav .date{font-size:11px;}
ul.nav .date:before{ font-family:fontAwesome; content:"\f017"; margin-right:0.5em;}
ul.nav.grid2>*{ margin-bottom:0;}

/*スマホ*/
@media(max-width:740px){
ul.nav{ margin-left:-10px; margin-right:-10px;}
ul.nav li .image.clip,.image.clip{ width:60px; height:60px;}
ul.nav li .text p{ margin:0; font-size:12px;}
}

/* -----------------------------------------------------------
汎用見出し
----------------------------------------------------------- */
h1{ line-height:1.4; font-size:32px; font-weight:bold; padding:0; margin:0 0 0.5em; position:relative; overflow:hidden; color:#5B7694;}
h2{ line-height:1.4; font-size:28px; font-weight:bold; padding:0; margin:0 0 0.5em; position:relative; overflow:hidden; }
h3 { line-height:1.4; font-size:24px; font-weight:bold; padding:0; margin:0 0 0.7em; position:relative; overflow:hidden; }
h4{ line-height:1.4; font-size:20px; font-weight:bold; padding:0; margin:0 0 0.7em; position:relative; overflow:hidden; }
h5{ line-height:1.4; font-size:18px; font-weight:bold; padding:0; margin:0 0 0.7em; position:relative; overflow:hidden;}
h6{ line-height:1.4; font-size:17px; font-weight:bold; padding:0; margin:0 0 0.7em; position:relative; overflow:hidden;}

h1 small,h2 small,h3 small,h4 small{font-size:16px; font-weight:normal; display:inline-block; letter-spacing:0;}
h1 small.sub,h2 small.sub,h3 small.sub,h4 small.sub{font-size:14px; font-weight:normal; opacity:0.8; display:block; letter-spacing:0;}
h1 span.right,h2 span.right,h3 span.right,h4 span.right{ float:right; font-size:12px; letter-spacing:0;}

/*主な要素直下の見出しは、上部に適度なマージン*/
p+h1,p+h2,p+h3,p+h4,p+h5,p+h6,
br+h1,br+h2,br+h3,br+h4,br+h5,br+h6,
div+h1,div+h2,div+h3,div+h4,div+h5,div+h6,
table+h1,table+h2,table+h3,table+h4,table+h5,table+h6,
ol+h1,ol+h2,ol+h3,ol+h4,ol+h5,ol+h6,
ul+h1,ul+h2,ul+h3,ul+h4,ul+h5,ul+h6
{ margin-top:2em;}

/*した線*/
h1.bar,h2.bar,h3.bar,h4.bar,h5.bar{ padding-bottom:0.5em;}
h1.bar:before,h2.bar:before,h3.bar:before,h4.bar:before,h5.bar:before{ content:""; display:block; width:100%; height:3px; background:url(../img/bar.png) center top; position:absolute; bottom:0; left:0; background-size:cover;}

/*背景を塗る*/
h1.bg,h2.bg,h3.bg,h4.bg,h5.bg{ background:linear-gradient(to bottom , #eee , #fff) #e3f2fe; border-top:1px solid #555; box-shadow:0 1px 0 0 #fff inset; padding:0.5em;}

/*上下にボーダー*/
h1.border,h2.border,h3.border,h4.border,h5.border{ padding:0.5em 0; border-top:3px double rgba(0,0,0,0.2); border-bottom:3px double rgba(0,0,0,0.2);}

/*グリッド内の見出しはコンパクトに*/
.grid2 h2,.grid3 h2,.grid4 h2,.grid5 h2,.grid6 h2{ font-size:25px; letter-spacing:0;}
.grid2 h3,.grid3 h3,.grid4 h3,.grid5 h3,.grid6 h3{ font-size:20px; letter-spacing:0;}
.grid2 h4,.grid3 h4,.grid4 h4,.grid5 h4,.grid6 h4{ font-size:18px; letter-spacing:0;}

/* -----------------------------------------------------------
リスト
----------------------------------------------------------- */
/*スタイリングリスト*/
ul.style{}
ul.style li{}

/*discリスト*/
ul.disc{ margin:1em 0; padding:0 0 0 1.5em;}
ul.disc li{ list-style:disc outside; line-height:1.4; margin:0.75em 0;}
ul.disc.grid2{ margin:0.5em 0; padding:0 0 0 1.5em;}
ul.disc.grid2 li{ list-style:disc outside; line-height:1.4; margin:0.5em 0;}

/*番号付きリスト*/
ol{ margin:1em 0; padding:0 0 0 2em;}
ol li{ list-style:decimal outside; line-height:1.4; margin:0.75em 0;}


/* -----------------------------------------------------------
フロート操作
----------------------------------------------------------- */
img.center{ display:block; margin-left:auto; margin-right:auto; margin-bottom:1em; max-width:100%;}
.fl,.fl-center{ float:left;}
.fr,.fr-center{ float:right;}
.flm,.flm-center{ float:left; margin:0 1.5em 1.5em 0; clear:left;}
.frm,.frm-center{ float:right; margin:0 0 1.5em 1.5em; clear:right;}

/* -----------------------------------------------------------
テーブル
----------------------------------------------------------- */
table.style{margin:0 0 1em; padding:0; width:100%;}
table.style small{ font-weight:normal; font-size:10px; display:inline-block;}
table.style th{ border:1px solid rgba(0,0,0,0.13); background:#f5f5f5; padding:0.4em 0.6em; font-weight:bold; vertical-align:middle;}
table.style td{ border:1px solid rgba(0,0,0,0.13); background:rgba(255,255,255,0.5); padding:0.4em 0.6em; vertical-align:middle;}
table.style td p{ margin:0.5em 0;}
table.style td th{}
table.style td td{ border:none; padding:0 0.6em;}

/* -----------------------------------------------------------
テーブル.ボーダー
----------------------------------------------------------- */
table.style.border{ border-top:1px solid #ddd;}
table.style.border th{ border:none; border-bottom:1px solid #ddd; background:inherit; padding:0.2em 0.4em; vertical-align:top;}
table.style.border td{ border:none; border-bottom:1px solid #ddd; background:inherit; padding:0.2em 0.4em; vertical-align:top;}

/* -----------------------------------------------------------
アコーディオン　デフォルト
----------------------------------------------------------- */
.ac{}
.ac .trigger{ cursor:pointer; border-bottom:1px solid #fff; background-color:rgba(0,0,0,0.05); padding:10px 30px 10px 10px; display:block; vertical-align:middle;
-webkit-transition:  all 0.3s ease-out; transition:  all 0.3s ease-out; position:relative;}
.ac .trigger *{ margin:0;}
.ac .trigger h2,.ac .trigger h3,.ac .trigger h4,.ac .trigger h5{ border:none; padding:0; margin:0; background:none; font-size:16px; letter-spacing:0;}
.ac .trigger:hover{background-color:rgba(0,0,0,0.1);}
.ac .trigger.open{ background-color:#ddd; margin-top:20px;}
.ac .trigger:first-child.open{margin-top:0px;}
.ac .trigger:after{font-family: FontAwesome; content: "\f067"; display:block; text-align:center; width:20px; height:20px; line-height:20px; font-size:20px; position:absolute; top:50%; margin-top:-0.5em; right:10px; color:rgba(0,0,0,0.2);}
.ac .trigger.open:after{content: "\f00d"; color:rgba(0,0,0,0.8);}
.ac .trigger+*{ display:none; border:1px solid #ddd; margin-bottom:20px; background:rgba(255,255,255,0.5); padding:19px; position:relative;}

/* -----------------------------------------------------------
アコーディオン　Q and A
----------------------------------------------------------- */
.ac.qanda .trigger h4{ font-weight:normal; letter-spacing:0;}
.ac.qanda .trigger,.ac.qanda .trigger+*{ padding-left:50px;}
.ac.qanda .trigger:before,.ac.qanda .trigger+*:before{content: "Q"; display:block; font-weight:bold; width:28px; height:28px; line-height:28px; text-align:center; position:absolute; top:20px; left:10px;margin-top:-14px; border-radius:99px; color:#fff; background-color:#ccc;}
.ac.qanda .trigger.open{ background-color:#FFEFEF;}
.ac.qanda .trigger.open:before{background-color:#3D91DA;}
.ac.qanda .trigger+*:before{content: "A"; background-color:#333; top:30px;}

/* -----------------------------------------------------------
キャッチコピー
----------------------------------------------------------- */
.catch{ font-size:28px; letter-spacing:2px; line-height:1.4;}
.catch.small{ font-size:21px;}

/* -----------------------------------------------------------
お知らせ
----------------------------------------------------------- */
/*ナビゲーションリスト＿お知らせ用*/
.newsIndex h2{ background:url(../img/maru.png) no-repeat center center; background-size:contain; width:200px; height:221px; overflow:hidden; text-align:center; padding:70px 0 0; float:left; margin:0 40px 0 0;}
.newsIndex ul.nav{ overflow:hidden;}
.newsIndex ul.nav li{}
.newsIndex ul.nav li a{ color:#555;}
.newsIndex ul.nav .category{ display:inline-block; width:96px; font-size:11px; background:#eee; text-align:center;}
.newsIndex ul.nav .date{ display:inline-block; width:96px;}

/*記事*/
h1 span.date{ display:inline-block; font-size:14px; font-weight:normal; letter-spacing:0px;}
h1 span.date:before{ font-family:fontAwesome; content:"\f017"; margin:0 0.5em 0 0;}
body.news article h1{ background:linear-gradient(to right,#eee,#fff,#eee); margin:-30px -100px 30px; padding:1px 100px 30px;}
body.news article{ border:1px solid #ddd; padding:30px 100px 100px; position:relative;}
body.news article .downloadLink{text-align:center;  background:linear-gradient(to right,#eee,#fff,#eee); padding:20px 0; margin:30px -100px -100px;}
body.news article .downloadLink .button:before{ font-family:fontAwesome; content:"\f019"; margin:0 0.5em 0 0; font-weight:normal;}
body.news article .image { text-align:center;}
body.news article .image a{-webkit-transition:none; transition:none;}
body.news article .image img{margin:0 0 20px; max-width:680px;  max-height:680px; -webkit-transition:none; transition:none;}
body.news article .image.grid2>* img{ max-width:100%;  max-height:287px;}
p.back{ border-top:1px solid #ddd; margin:2em 0 0; padding:2em 0 0;}
p.back .button:before,.button.back:before{ font-family:fontAwesome; content:"\f053"; margin-right:0.5em; font-weight:normal;}

/* -----------------------------------------------------------
箱
----------------------------------------------------------- */
div.box {background: #f5f5f5;margin: 2em 0;padding: 1em 1em 0.1em;}
div.box.red {background: #FFEFEF;}
div.box.yellow {background: #ffffcc;}
div.box.blue {background: #dfecff;}
div.box.green {background: #d1efd1;}

/* -----------------------------------------------------------
フキダシ
----------------------------------------------------------- */
.fkd { position: relative; background: #3D91DA; color:#fff; padding:0.3em 1em; line-height:1.4; border-radius:5px; display:inline-block; overflow:visible; margin:0 0 0.5em;}
.fkd:after { top: 100%; left: 50%; border: solid transparent; content: " "; height: 0; width: 0; position: absolute; pointer-events: none; border-color: rgba(0, 0, 0, 0); border-top-color: #3D91DA; border-width: 8px; margin-left: -8px; }
.fkd.black{ background-color:#000;}.fkd.black:after { border-top-color:#000;}

/* -----------------------------------------------------------
フォトスワイプ用隠したコンテンツ
----------------------------------------------------------- */
.photoSwipe.text{ position:relative;}
.photoSwipe.text img.photoSwipeDummy{ position:absolute; top:50%; left:50%; opacity:0; margin:0; padding:0; border:none; background:none;}
.photoSwipeHidden{position:fixed; z-index:-9999; top:50%; left:50%; opacity:0; visibility:hidden;}

/* -----------------------------------------------------------
ページ先頭へ
----------------------------------------------------------- */
a.pageTopButton{position: fixed; z-index:102; display:block; text-align:center; opacity:0.8;
bottom:-60px; right:80px; width:60px; height:60px; font-size:60px; line-height:60px; color:#5B7694; background:#fff; border-radius:99px; -webkit-transition:0.6s ease-out; transition:0.6s ease-out;}
a.pageTopButton .hidden{ display:none;}
a.pageTopButton:before{font-family: FontAwesome; content: "\f106"; position:relative; top:-4px;}
a.pageTopButton.active{bottom:80px; right:80px;}
a.pageTopButton.active:hover{ opacity:1.0;}

/* -----------------------------------------------------------
コピーライト
----------------------------------------------------------- */
address.copyright{ font-style:normal; text-align:center; font-size:12px; margin:0 0 0; padding:15px 0; background:#5B7694; color:#fff;}


