@charset "utf-8";
/*-------------------------------------------------
基本
-------------------------------------------------*/
*{ box-sizing:border-box;}
body {font-size:16px; color:#000; line-height:1.8; word-break: normal; position:relative; -webkit-text-size-adjust: none; min-width:1000px;
font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体","ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif; background-size:cover;
}
/*IE10以上は游ゴシックを除外する*/
@media all and (-ms-high-contrast: none) {
body{font-family:"メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;}
}
/*Edgeでデフォルトに戻す*/
@supports (-ms-accelerator:true) {
body{font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体","ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;}
}

/*明朝系WEBフォント*/
@font-face {
font-family: 'min';
src:url('../font/ngtmp.eot') format('eot');/* IE9～ */
src:
/*IE8以下も対応したい場合以下を記述。デメリットとしてIE9以上でページ読み込みがワンテンポ遅くなる。*/
/*url('../font/AozoraMinchoRegular.eot?#iefix') format('embedded-opentype'),*/ /*～IE8*/
url('../font/ngtmp.woff') format('woff'), /* 最新ブラウザ */
url('../font/ngtmp.ttf') format('truetype'); /* その他ブラウザ */
}
.min{font-family:"游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "min" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;}
@media all and (-ms-high-contrast:none){
	/*IE10以上は游明朝は除外し、webフォント優先とする*/
.min{font-family:/*"游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , */"ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "min" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;}
}
/*Edgeでデフォルトに戻す*/
@supports (-ms-accelerator:true) {
.min{font-family:"游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "min" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;}
}

p{ margin:0 0 1em;}
::selection {background: #AAD9FF; color:#003;}
::-moz-selection {background: #AAD9FF; color:#003;}

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

a{color:inherit; text-decoration: none; -webkit-transition:color 0.2s,background 0.2s,opacity 0.2s; transition:color 0.2s,background 0.2s,opacity 0.2s;}
a:hover {text-decoration: none;}
a img,.bl{ -webkit-transition:color 0.2s,background 0.2s,opacity 0.2s; transition:color 0.2s,background 0.2s,opacity 0.2s;}
a:hover img,.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 1.5em; font-weight:bold; text-align:center; vertical-align:middle; cursor: pointer; border-radius:0.2em; position:relative; display:inline-block; text-decoration:none; color:#fff !important; background:#014c86; border:1px solid rgba(0,0,0,0.2); box-shadow:0 0 0 1px rgba(255,255,255,0.3) inset , 0 0 0.2em rgba(0,0,0,0.3); text-decoration: none !important;
 -webkit-transition:color 0.2s,background 0.2s,opacity 0.2s; transition:color 0.2s,background 0.2s,opacity 0.2s;}
.button:hover{ text-decoration:none; opacity:0.8;}
/*ボタン　色分け*/
.button.reverse{background:#fff; border-color:#014c86; color:#014c86 !important; box-shadow:0 0 0 1px rgba(255,255,255,0.9) inset , 0 0 0.2em rgba(0,0,0,0.15);}
.button.positive{background:#4285f4;}
/*ボタン　形*/
.button.large{font-size: 120%;}
.button.xlarge{font-size: 140%;}
.button.round{border-radius: 99em; padding-left: 2.5em; padding-right: 2.5em;}

/* -----------------------------------------------------------
その他
----------------------------------------------------------- */
.left{ text-align:left;}.right{ text-align:right;}.center{ text-align:center;}
.oh{ overflow:hidden;}
.ib{ display:inline-block;}
.indent{ padding-left:1em; text-indent:-1em;}p.indent{ margin-bottom:0.5em;}.indent.small{ font-size:80%;}
.normal{ font-weight:normal;}
.bold{ font-weight:bold;}
span.red{ color:#FF0000;}
small{ font-size:80%;}

/*ロングコメント*/
.longComment{ margin-bottom:1em !important;}
.longComment p{ margin:0 !important;}
.noData { color:#df0000; padding:1em; }

/* -----------------------------------------------------------
色
----------------------------------------------------------- */
.color{color: #014c86;}
.color.positive{color: #4285F4;}
.color.negative{color: #E93024;}
.color.green{color: #35baba;}

/* -----------------------------------------------------------
ページ
----------------------------------------------------------- */
.page{ position:relative; padding-top: 80px;}

/* -----------------------------------------------------------
ラッパー　コンテナー
----------------------------------------------------------- */
.wrapper{ position:relative;}
.wrapperInner{ padding:50px 0; background: #fff; position: relative; z-index: 10;}
.container{ float:none; width:1000px; margin:auto; padding:0 20px; font-size: 18px;}
.container a{ color: #4285F4; text-decoration: underline;}
.container a:hover{text-decoration: none;}
.container.wide{ width:auto; max-width:1200px;}
.container.wide.super{ max-width:1400px;}
section,article{ margin-bottom:6em; position:relative; z-index:1; /*overflow:hidden;*/}
section:last-child,article:last-child{ margin-bottom:3em;}
.narrow{ max-width:760px; margin:auto;}
.wide .narrow{ max-width:960px;}
.wide .narrow .narrow{ max-width:760px;}
.wide.super .narrow{ max-width:1160px;}
.wide.super .narrow .narow{max-width: 960px;}

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

/*-------------------------------------------------
画像クリッピング
-------------------------------------------------*/
.image.clip{/* width:100px; height:100px;*/ overflow:hidden;
background-repeat: no-repeat;
background-image:url("../img/blank_logo.jpg");
background-position: center;
background-size:cover;
 -webkit-transition:color 0.2s,background 0.2s,opacity 0.2s,filter 0.2s; transition:color 0.2s,background 0.2s,opacity 0.2s,filter 0.2s;
}
.image.clip img{opacity:0; width:100%; height:100%; margin:0;}
.image.clip.anc:hover{filter:contrast(115%) brightness(115%); -webkit-filter:contrast(115%) brightness(115%);}
@media all and (-ms-high-contrast: none){.image.clip.anc:hover{ opacity:0.8; /* IE10以上 */  }}

/* -----------------------------------------------------------
ナビゲーションリスト
----------------------------------------------------------- */
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 a{font-weight: bold;}
ul.nav li.bl{padding-right:30px;}
ul.nav li.bl:after{font-family:"Font Awesome 5 Free"; font-weight:600; 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.3);}
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{ width:4.6em; height:4.6em; border: 1px solid rgba(0,0,0,0.15);}
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.2em 0; background:none; font-size:16px; letter-spacing:0;}
ul.nav li .text p{ margin:0.3em 0; font-size:12px;}
span.date{display: inline-block; font-size:12px; padding:0 0.1em; margin: 0 0.5em 0 0;}
span.date:before{ font-family:"Font Awesome 5 Free"; font-weight:300; content:"\f017"; margin-right:0.5em;}
span.category{display: inline-block; font-size:12px; background: #014c86; color: #fff; border: 1px solid #014c86; padding: 0 0.5em; font-weight: bold;}
span.category.cat1{background: #fff; color:#014c86;}

/* -----------------------------------------------------------
サブナビ
----------------------------------------------------------- */
.snav{ display:block; margin:20px auto 20px; padding:0 20px; max-width:1400px; position:relative; z-index:39;}
.snav+.wrapperInner{ padding-top:0;}
.snav:first-child{}
	/*トリガーでナビが非表示になってもPCのとき強制的にナビ表示*/
	@media(min-width:741px){.snav .inner{ display:block !important;}}
.snav div.center.head{ font-weight:bold; padding:0 0 0.6em; margin:0 0 1em; font-size:120%; position:relative;}
.snav div.center.head:before{ background:linear-gradient(to right,rgba(0,0,0,0.0),rgba(0,0,0,0.4),rgba(0,0,0,0.0)); position:absolute; bottom:0; left:0; display:block; width:100%; height:1px; content:"";}
.eyeCatch+.snav div.center.head{ display:none;}
/*pcのみ*/
@media(min-width:741px){
	.snav ul.nav{ margin-bottom:0px; overflow:hidden; padding:0 0 0; text-align:center; border:none;}
	.snav ul.nav li{display:inline-block; border-bottom:none; vertical-align:middle; font-size:15px; padding:0; background:none;}
	.snav ul.nav li a{ font-weight:normal; display:block; padding:10px 30px 10px 10px; position:relative; padding:15px 30px; border-radius:3px;}
}
.snav ul.nav li a{ font-size:14px;}
.snav ul.nav li a.current{ font-weight:bold;}
.snav ul.nav li a:hover{ background:rgba(0,0,0,0.05);}

/* -----------------------------------------------------------
見出し
----------------------------------------------------------- */
h1{ line-height:1.4; font-size:40px; font-weight:bold; padding:0; margin:0 0 0.7em; position:relative;}
h2{ line-height:1.4; font-size:35px; font-weight:bold; padding:0; margin:0 0 0.7em; position:relative;}
    h2.large{font-size: 40px;}h2.small{font-size: 30px;}
h3 { line-height:1.4; font-size:30px; font-weight:bold; padding:0; margin:0 0 0.7em; position:relative;}
h4{ line-height:1.4; font-size:25px; font-weight:bold; padding:0; margin:0 0 0.7em; position:relative;}
h5{ line-height:1.4; font-size:20px; font-weight:bold; padding:0; margin:0 0 0.7em; position:relative;}
h6{ line-height:1.4; font-size:16px; font-weight:bold; padding:0; margin:0 0 0.7em; position:relative;}

/*主な要素直下の見出しは、上部に適度なマージン*/
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;}

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

/* -----------------------------------------------------------
アイキャッチ見出し
----------------------------------------------------------- */
.eyeCatch{ text-align:center; background:linear-gradient(to bottom,#014c86,#7EA0BD);}
.eyeCatch .inner{ padding:0 20px; max-width:1280px; min-width:960px; margin:auto; position:relative;}
.eyeCatch .inner>*{ padding:0.7em 0 0.7em 0.2em; letter-spacing:0.2em; margin:0; line-height:1.4; font-size:30px; font-weight:bold; position:relative; color:#fff; text-shadow:0 0 0.5em rgba(47,74,102,0.2);}
.eyeCatch .inner>* img.icon{ height:64px; margin:0 1em 0 0; background:#fff; display:inline-block; padding:7px; border-radius:14px;}
.eyeCatch .inner>a.back{ position:absolute; top:50%; left:20px; height:30px; line-height:30px; margin:-15px 0 0 0; font-size:16px; letter-spacing:0; padding:0; text-shadow:none; z-index:100;}
.eyeCatch .inner>a.back:before{ content:"\f053"; font-family:"Font Awesome 5 Free"; font-weight:600; margin-right:0.5em;}
.eyeCatch .inner>a.back:hover{ text-decoration:none; color:#AACAFF;}

/*見出しスタイル　タイトル*/
h1.style{ padding:0.5em; padding-right: 230px; background:linear-gradient(to right , #014C86 10%,#4E82AB 90%); color: #fff;}
h1.style:after{ content:""; display:block; width:211px; height:136px; position:absolute; bottom:0; right:20px; background:url(../img/h1.png) no-repeat center bottom;}

/*見出しスタイル　普通のバー*/
h2.style{ padding:0.5em; border-bottom:1px solid #ddd; background:linear-gradient(to bottom , #fff 30%,#f5f5f5); box-shadow:0 -1px 0 0px #fff inset;}
h2.style:before{ content:""; display:block; width:100%; height:3px; position:absolute; top:0; left:0; background:linear-gradient(to right,#014c86 10% ,#6dc9ed 90%);}
h2.style.positive{ border-bottom-color:#D0D4DC; background:linear-gradient(to bottom , #fff 30%,#F0F5FE);}
h2.style.positive:before{ background:linear-gradient(to right,#4285F4 10% ,#D0D4DC 90%);}
h2.style.negative{ border-bottom-color:#DCD1D3; background:linear-gradient(to bottom , #fff 30%,#FEF1F4);}
h2.style.negative:before{ background:linear-gradient(to right,#f46f60 10% ,#DCD1D3 90%);}

/*見出しスタイル　h3*/
h3.style{ padding:0.3em 0.6em; border-left:0.3em solid #014c86; background:#f5f5f5;}
h3.style.positive{ border-color: #4285F4; background: #F0F5FE;}
h3.style.negative{ border-color: #f46f60; background: #FEF1F4;}

/*見出しスタイル　h3　塗り*/
h3.bg{ background:#f5f5f5; padding:0.5em;}
h3.bg.hasNum{padding-left: 2.4em;}
h3.bg span.num{ display:inline-block; background:#014c86; color:#fff; width:1.4em; height:1.4em; line-height:1.4em; text-align:center; border-radius:99em; position: absolute; top: 0.5em; left: 0.5em;}
h3.bg.positive{ background:#F0F5FE;}
h3.bg.positive span.num, span.num.positive{ background-color:#4285F4;}

/*見出しスタイル　アンダーライン*/
h2.underline { margin-bottom: 1em; padding-bottom: 0.7em;}
h2.underline:after {content: "";position: absolute;bottom: 0;left: 0;display: block;width: 100%;height: 1px;background: linear-gradient(to right, rgba(0,0,0, 0.8), rgba(0,0,0, 0.1));}
h2.underline.center:after {background: linear-gradient(to right, rgba(0,0,0, 0.1), rgba(0,0,0, 0.8), rgba(0,0,0, 0.1));}
h2.underline.reverse {color: #fff;}
h2.underline.reverse:after {background: linear-gradient(to right, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.1));}
h2.underline.reverse.center:after {background: linear-gradient(to right, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.1));}
h2.underline.color:after {background: linear-gradient(to right, rgba(1,76,134, 1.0), rgba(1,76,134, 0.1));}
h2.underline.color.center:after {background: linear-gradient(to right, rgba(1,76,134, 0.1), rgba(1,76,134, 1.0), rgba(1,76,134, 0.1));}


/* -----------------------------------------------------------
リスト
----------------------------------------------------------- */
/*チェックリスト*/
ul.check{ margin:1.6em 0;}
ul.check li{line-height:1.6; margin:0.8em 0; padding: 0 0 0 1.5em; position: relative; font-size: 110%; color: #32526e; font-weight: bold;}
ul.check li:before{ position: absolute; top: 0; left: 0; font-family:"Font Awesome 5 Free"; font-weight:300; content:"\f0c8";  color: #60809f; z-index: 1; opacity: 0.3;}
ul.check li:after{ position: absolute; top: 0; left: 0; font-family:"Font Awesome 5 Free"; font-weight:600; content:"\f00c";  color: #60809f; z-index: 2;}
ul.check.positive li{color: #275092;}
ul.check.positive li:after{ color: #4285F4;}
ul.check.negative li{color: #f46f60;}
ul.check.negative li:after{color: #941E3C;}

/*discリスト*/
ul.disc{ margin:1em 0; padding:0 0 0 1.5em;}
ul.disc li{ list-style:disc outside; line-height:1.4; margin-bottom:1em;}
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 0 1em;}

/* -----------------------------------------------------------
フロート操作
----------------------------------------------------------- */
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; width:100%; line-height: 1.6;}
table.style th{ border:1px solid #D3D4D9; background:#F4F5FA; padding:0.4em 0.6em; font-weight:bold; vertical-align:middle; text-align: inherit;}
table.style td{ border:1px solid #ddd; padding:0.4em 0.6em; vertical-align:middle; text-align: inherit;}

/* -----------------------------------------------------------
テーブル.ボーダー
----------------------------------------------------------- */
table.style.border{ border-top:1px solid #ddd;}
table.style.border th{ border:none; border-bottom:1px solid #ddd; background:inherit; padding:0.4em 0.4em; vertical-align:top;}
table.style.border td{ border:none; border-bottom:1px solid #ddd; background:inherit; padding:0.4em 0.4em; vertical-align:top;}
table.style.border.stripe tr:nth-child(even){ background-color:#f9f9f9;}

/* -----------------------------------------------------------
アコーディオン　デフォルト
----------------------------------------------------------- */
.ac{}
.ac .trigger{ cursor:pointer; margin:0 0 2px; background-color:rgba(0,0,0,0.05); padding:15px 30px 15px 15px; display:block; vertical-align:middle; border:1px solid rgba(0,0,0,0.0); border-bottom:none; position:relative; font-size: 18px;
 -webkit-transition:color 0.3s,background 0.3s,opacity 0.3s,margin 0.3s; transition:color 0.3s,background 0.3s,opacity 0.3s,margin 0.3s; }
.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:20px; letter-spacing:0;}
.ac .trigger:hover{ opacity:0.8;}
.ac .trigger.open{ margin-bottom:0; background-color:#e9f0f8; border-color:rgba(0,0,0,0.15); margin-top:2em;}
.ac .trigger:first-child.open{margin-top:0px;}
.ac .trigger:after{font-family:"Font Awesome 5 Free"; font-weight:600; 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:#2F4A66;
 transition:0.3s transform,0.3s color; -webkit-transition:0.3s transform,0.3s color;}
.ac .trigger.open:after{ transform:rotate(135deg); color:#f46f60;}
.ac .trigger+*{ display:none; border:1px solid #ddd; border-top:0; margin-bottom:2.25em; background:rgba(255,255,255,0.5); padding:20px; position:relative;}

/* -----------------------------------------------------------
アコーディオン　Q and A
----------------------------------------------------------- */
.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:15px; left:15px; border-radius:99px; color:#fff; background-color:#004b85;}
.ac.qanda .trigger.open{}
.ac.qanda .trigger.open:before{background-color:#4285f4;}
.ac.qanda .trigger+*{padding: 24px 20px 6px 75px;}
.ac.qanda .trigger+*:before{content: "A"; background:/*url(../img/author.jpg) center center / cover*/ #f46f60; /*width: 60px; height: 60px; */ border-radius:99em; /*top: 10px;*/ top: 27px; left: 40px;}

/* -----------------------------------------------------------
フォトスワイプ用隠したコンテンツ
----------------------------------------------------------- */
.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;}

/* -----------------------------------------------------------
ページャ
----------------------------------------------------------- */
.pager{ background:#e9f0f8; padding:1.2em; text-align:center; margin:2em 0; overflow:hidden; position:relative;}
.pager:before{ position:absolute; bottom:0px; left:50%; content:"ページ"; color:#999; font-size:11px; display:block; width:100px; margin:0 0 0 -50px;}
.pager select{ display:inline-block; margin:0 1em; min-width:120px; text-align:center; border-color:#999; cursor:pointer; padding:0 2.5em; line-height:40px; background-color:#fff;}
.pager select:focus{border-color:#75B9F0;}
.pager .button{min-width:120px; padding:0; line-height:42px;}
.pager .button.disable{ pointer-events:none; background:linear-gradient(to bottom,#fff,#eee); border-color:#ddd; color:#ccc; box-shadow:none;}






