@charset "utf-8";


/*  + normalize ==================================================================== */
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; }
[hidden] { display: none; }


::-moz-selection { background: #fce8c4; text-shadow: none; }
::selection { background: #fce8c4; text-shadow: none; }

*,
*:before,
*:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }

a { color:#003d97; outline:none; text-decoration:none;}
a:hover { text-decoration:none;}

abbr[title] { border-bottom: 1px dotted; }
b, strong { font-weight: bold; }
blockquote { margin: 1em 40px; }
dfn { font-style: nomal; }
hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }
ins { background: #ff9; color: #000; text-decoration: none; }
mark { background: #ffd56b; font-weight: bold; }
pre, code, kbd, samp { font-family: monospace, monospace; _font-family: 'courier new', monospace; }
pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }
q { quotes: none; }
q:before, q:after { content: ""; content: none; }
nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0; }
img { width: auto; height: auto; max-width: 100%; border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; }
svg:not(:root) { overflow: hidden; }
figure { margin: 0; }
picture { display: block; width: 100%; }

form { margin: 0; }
fieldset { border: 0; margin: 0; padding: 0; }
label { cursor: pointer; }
button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; }
button, input { line-height: normal; *overflow: visible; }
table button, table input { *overflow: auto; }
button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; }
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; }
input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
input:invalid, textarea:invalid { background-color: #f0dddd; }

table { border-collapse: collapse; border-spacing: 0; }
td { vertical-align: top; }
img { border:0; }
ul, ol { list-style:none; }
#fb-root{width:1px;margin:0 auto}
/*  - normalize ==================================================================== */


/* + non-semantic helper classes ======================================================== */
.clearfix{ clear:both;}
.clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden;}
.clearfix{display:inline-block;}
/*¥*/
*html .clearfix{height:1%;}
*:first-child+html .clearfix{height:auto;}
.clearfix{display:block;}
/**/
/* - non-semantic helper classes ======================================================== */


/*  + General page styling ============================================================ */
* { padding:0; margin:0; }
body{
  padding:0;
  margin:0;
  font-family:"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ", Meiryo,"ヒラギノ丸ゴ Pro W4","Hiragino Maru Gothic Pro","ＭＳ Ｐゴシック", "MS PGothic", Helvetica, sans-serif;
  line-height:1.5;
  font-size:12px;
  color:#1f1f1f;
}
*:first-child+html body { font-size: 75%; }
h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight:bold; }
#wp { margin:0 auto; width:100%; }
#wp .image-w100per { width: 100%;}
.generalHover:hover { opacity: 0.75; }

@media screen and (min-width: 769px) {
  .visible-pc { display: block !important; }
  .visible-sp { display: none !important; }
  #wp { min-width:990px; }
}
@media screen and (max-width: 768px) {
  .visible-pc { display: none !important; }
  .visible-sp { display: block !important; }
}
/*  - General page styling ============================================================ */


/*  + General setting =============================================================== */
.errorText{
  color:#cc0000;
  font-weight:bold;
  padding:.5em 0;
  text-align:left;
}
.roundedDash_thin{
  background-color: #fafafa;
  border: 1px dashed #afafaf;
}
.generalBtn{
  border:1px solid #bbbbbb;
  background-color:#f7f8f8;
  display:inline-block;
  *display:inline;
  *zoom: 1;
  padding:.2em 1.1em .1em .5em;
  background-repeat:no-repeat;
  text-align:left;
  color:#3e3a39;
  border-radius:5px;
  position:relative;/* for PIE */
}
.generalBtn:hover{
  background-color:#e6e6e6;
  text-decoration:none;
}
.generalBtn img{
  vertical-align:middle;
  margin-top:-4px;
  margin-left:-4px;
  margin-right:2px;
}
.generalBtn.small{
  font-size:108.3%;
  background-image:url(../img/common/icon/icon_triangle_r_s.png);
  background-position:96% 50%;
}
.generalBtn.middle{
  font-size:141.6%;
  background-image:url(../img/common/icon/icon_triangle_r_m.png);
  background-position:96% 50%;
}
.generalBtn.large{
  font-size:175%;
  background-image:url(../img/common/icon/icon_triangle_r_l.png);
  background-position:97% 50%;
}
.generalBtn.modal{
  font-size:175%;
  padding:.2em .5em .1em .5em;
}
.generalBtn.regist{
  font-size:141.6%;
  background-image:url(../img/common/icon/icon_circle.png);
  background-position:96% 50%;
  padding:.2em 1.8em .1em .8em;
}
.genealSquareBox{
  border:2px solid #959595;
  position:relative;
}
.genealSquareBox.close{
  border:1px solid #959595;
}
.genealSquareBox.close .slideBox{
  display: none;
}
/* ornament */
.genealSquareBox .ornamentClip{
  position:absolute;
  right:0px;
  top:-21px;
  z-index:2;
}
/* title */
.genealSquareBox .floatTitle{
  position:absolute;
  left:-2px;
  top:-0.7em;
  background:#fff url(../img/common/icon/icon_balloon1.png) 0 40% no-repeat;
  padding:0 .5em 0 38px;
  min-height:24px;
  font-size:200%;
  font-weight:normal;
  z-index:2;
}
.genealSquareBox .squareBoxTrigger{
  width: 100%;
  height: 24px;
  position: absolute;
  left: 0;
  top: 0;
  cursor: pointer;
}
.genealSquareBox .btn_squareBoxTrigger{
  width: 24px;
  height: 24px;
  margin-top: -2px;
  margin-left: 10px;
  display: inline-block;
  background: url(../img/common/btn/btn_boxtrigger.png) left bottom no-repeat;
  text-align: left;
  text-indent: -9999px;
  font-size: 1px;
  line-height: 1;
  vertical-align: middle;
}
.genealSquareBox.close .btn_squareBoxTrigger{
  background: url(../img/common/btn/btn_boxtrigger.png) left top no-repeat;
}
/* gradation */
.genealSquareBox.redGradation{
  background: #fff; /* Old browsers */
  background: -moz-linear-gradient(top,  #fff 0%, #fff 20%, #ebdada 100%); /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fff), color-stop(20%,#fff), color-stop(100%,#ebdada)); /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top,  #fff 0%,#fff 20%,#ebdada 100%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top,  #fff 0%,#fff 20%,#ebdada 100%); /* Opera 11.10+ */
  background: -ms-linear-gradient(top,  #fff 0%,#fff 20%,#ebdada 100%); /* IE10+ */
  background: linear-gradient(to bottom,  #fff 0%,#fff 20%,#ebdada 100%); /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fff', endColorstr='#ebdada',GradientType=0 ); /* IE6-9 */
}
.genealSquareBox.greenGradation{
  background: #fff; /* Old browsers */
  background: -moz-linear-gradient(top,  #fff 0%, #fff 20%, #c9d5c8 100%); /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fff), color-stop(20%,#fff), color-stop(100%,#c9d5c8)); /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top,  #fff 0%,#fff 20%,#c9d5c8 100%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top,  #fff 0%,#fff 20%,#c9d5c8 100%); /* Opera 11.10+ */
  background: -ms-linear-gradient(top,  #fff 0%,#fff 20%,#c9d5c8 100%); /* IE10+ */
  background: linear-gradient(to bottom,  #fff 0%,#fff 20%,#c9d5c8 100%); /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fff', endColorstr='#c9d5c8',GradientType=0 ); /* IE6-9 */
}
.genealSquareBox.blueGradation{
  background: #fff; /* Old browsers */
  background: -moz-linear-gradient(top,  #fff 0%, #fff 20%, #ceddeb 100%); /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fff), color-stop(20%,#fff), color-stop(100%,#ceddeb)); /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top,  #fff 0%,#fff 20%,#ceddeb 100%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top,  #fff 0%,#fff 20%,#ceddeb 100%); /* Opera 11.10+ */
  background: -ms-linear-gradient(top,  #fff 0%,#fff 20%,#ceddeb 100%); /* IE10+ */
  background: linear-gradient(to bottom,  #fff 0%,#fff 20%,#ceddeb 100%); /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fff', endColorstr='#ceddeb',GradientType=0 ); /* IE6-9 */
}
.invisible{
  display:none;
}
.audiojs{
  margin: 0 0 12px 0;
}
#wp .maintenanceNote {
  max-width: 990px;
  margin:10px auto 24px auto;
  background-color: #e90909;
  color: #fff;
  padding:12px 14px 0 14px;
  font-size: 108.3%;
  text-align: left;
}
#wp .maintenanceNote p{
  padding-bottom: 1em;
}

#wp .solidBtnM{
  width: 184px;
  height: 44px;
  display: inline-block;
  overflow: hidden;
  background:url(../img/common/btn/btn_solid_m.png) left top no-repeat;
  line-height: 44px;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
}
#wp .solidBtnL{
  width: 244px;
  height: 64px;
  display: inline-block;
  overflow: hidden;
  background:url(../img/common/btn/btn_solid_l.png) left top no-repeat;
  line-height: 64px;
  font-size: 24px;
  font-weight: bold;
  text-align: center;
}
/*  - General setting =============================================================== */


/*  + recommendText ============================================================== */
#hd #recommendTextWp{
  width:300px;
  position:absolute;
  right:246px;
  top:10px;

}
#text_recommend  {
  text-align: center;
  margin-top:8px;
  height:100px;
}

#text_recommend img {
  margin:0 10px;
}
/*  - recommendText ============================================================== */

/*  + ct ======================================================================= */
#ct{
  max-width:990px;
  margin:0 auto;
  padding:17px 0 50px 0;
}
.ct1{
  width:100%;
  margin:0;
}
.ct2{
  width:100%;
  margin:0;
}
#ct .ctL{
  width:763px;
  margin:0;
  float:left;
}
#ct .ctR{
  width:213px;
  margin:0;
  padding:0 0 18px 0;
  float:right;
}
/* sideMenuBox */
#ct .ctR .sideMenuBox{
  width:211px;
  margin:0 0 18px 0;
  padding:10px 0 10px 0;
  border-radius:8px;
  border:1px solid #959595;
  position:relative;
}
#ct .ctR .sideMenuBox .sideMenuTit{
  padding:0 12px .5em 12px;
  font-size:150%;
  font-weight:normal;
  line-height:1.3;
}
#ct .ctR .sideMenuBox .pageLinkList{
  padding:0 12px 10px 12px;
  font-size:116.6%;
}
#ct .ctR .sideMenuBox .pageLinkList a{
  color:#1f1f1f;
}
#ct .ctR .sideMenuBox .pageLinkList a:hover{
  text-decoration:underline;
}
#ct .ctR .sideMenuBox .sideMenuList{
  padding:0 12px 10px 12px;
  font-size:116.6%;
}
#ct .ctR .sideMenuBox .sideMenuList .generalBtn{
  font-size:100%;
  margin:0 0 8px 0;
}
#ct .ctR .sideMenuBox .sideMenuList a{
  color:#1f1f1f;
}
#ct .ctR .sideMenuBox .sideMenuList a:hover{
  text-decoration:underline;
}
#ct .ctR .sideMenuBox .sideMenuList a.generalBtn:hover{
  text-decoration:none;
}
/* banner */
#ct .ctR .sideBnrList{
  width:100%;
}
#ct .ctR .sideBnrList li{
  display:block;
  padding:0 0 12px 0;
}
#ct .ctR .sideBnrList li a{
  display:block;
}
#ct .ctR .sideBnrList li span{
  display:block;
  font-size:83.3%;
  padding:2px 0 0 0;
}
#ct .ctR .sideBnrList li a img{
  max-width:100%;
}

/* bnv ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
#bnv{
  width:100%;
  padding:0 0 40px 0;
}
#bnv li{
  display:inline;
  font-size: 15px;
}
#bnv li img{
  width: 24px;
  vertical-align:middle;
  margin-right:4px;
  margin-bottom: 3px;
}
#bnv li span{
  margin-left:2px;
  margin-right:3px;
  font-size: 15px;
}
#bnv li .arrow{
  width: 6px;
}
#bnv li a{
  color:#003d97;
  font-size: 15px;
  text-decoration:underline;
}
@media screen and (max-width: 768px) {
  #bnv { padding: 0 10px; }
  #bnv li,
  #bnv li a { font-size: 12px; }
  #bnv li img { width: 18px; }
}
/* /bnv +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

/* newsArea ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
#ct .newsWp{
  width: 100%;
}
#ct .newsWp .title{
  background:#fff url(../img/common/icon/icon_balloon1.png) 0 40% no-repeat;
  padding:0 .5em 4px 38px;
  min-height:24px;
  font-size:200%;
  font-weight:normal;
}
#ct .newsArea{
  width: 988px;
  margin: 0 auto;
  padding:20px 0 14px 0;
  background:#fafafa;
  border:1px dashed #ddd;
  border-radius:8px;
}
#ct .newsList{
  margin: 0 12px 0 22px;
  padding:0 10px 0 0;
  height:200px;
  overflow-y:scroll;
  font-size:133.3%;
  line-height:1.7;
}
#ct .newsList a:hover{
  text-decoration:underline;
}
/* banner */
#ct .includeBnr{
  width: 100%;
}
#ct .includeBnr .bnr{
  float: left;
}
#ct .includeBnr .text{
  overflow: hidden;
}
/* /newsArea +++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

/*  - ct ======================================================================= */


/*  + ft ======================================================================= */
/* ftGogaku +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
#ftGogaku{
  width: 100%;
  padding: 20px 0;
}
#ftGogaku #ftGogaku-inner{
  margin: 0 auto;
  position: relative;
}
#ftGogaku #ftGogaku-inner #pageTop{
  width: 50px;
  height: 50px;
  position: fixed;
  right: 20px;
  bottom: 50px;
  z-index:100;
  display:none;
}
#ftGogaku #ftGogaku-inner #pageTop > a { display: block; width: 100%; }
#ftGogaku #ftGogaku-inner #pageTop img{
  width: 60px;
  height: 60px;
}
#ftGogaku #ftGogaku-inner #logo_ft_gogaku{
  padding-bottom: 25px;
}
#ftGogaku #ftGogaku-inner #fnvArea{
  margin: 0 0 0 0;
  display: flex;
  -webkit-justify-content: space-between;
          justify-content: space-between;
}
#ftGogaku #ftGogaku-inner #fnvArea .fnvBlock.fnv01{  width: 13%;}
#ftGogaku #ftGogaku-inner #fnvArea .fnvBlock.fnv02{  width: 33%;}
#ftGogaku #ftGogaku-inner #fnvArea .fnvBlock.fnv03{  width: 33%;}
#ftGogaku #ftGogaku-inner #fnvArea .fnvBlock.fnv04{  width: 17%;}
#ftGogaku #ftGogaku-inner #fnvArea .fnvBlock dl{
  width: 100%;
  overflow: hidden;
}
#ftGogaku #ftGogaku-inner #fnvArea .fnvBlock dl dt{
  width: 100%;
  padding: 0 0 3px 0;
  border-bottom: 5px solid #c7c7cc;;
  font-size: 20px;
  font-weight: bold;
}
#ftGogaku #ftGogaku-inner #fnvArea .fnvBlock dl .fnvBox{
  width: 100%;
  display: block;
  padding: 10px 0 12px 0;
}
#ftGogaku #ftGogaku-inner #fnvArea .fnvBlock dl .fnvBox ul{
  width: 100%;
}
#ftGogaku #ftGogaku-inner #fnvArea .fnvBlock dl .fnvBox ul li{
  display: block;
  line-height: 1.6;
}
#ftGogaku #ftGogaku-inner #fnvArea .fnvBlock dl .fnvBox ul li a{
  color: #242424;
  font-size: 15px;
  margin-left: 1px;
  text-decoration: none;
}
#ftGogaku #ftGogaku-inner #fnvArea .fnvBlock dl .fnvBox ul li a:hover{
  text-decoration: underline;
}
#ftGogaku #ftGogaku-inner #fnvArea .fnvBlock.fnv02 dl .fnvBox{
  width: 33%;
  display: block;
  float: left;
}
@media screen and (min-width: 769px) {
  #ftGogaku #ftGogaku-inner { max-width: 990px; }
}
@media screen and (max-width: 768px) {
  #ftGogaku { margin-bottom: 58px; }
  #ftGogaku #ftGogaku-inner #logo_ft_gogaku { margin: 0 auto 20px; width: 47.65625%; }
  #ftGogaku #ftGogaku-inner #fnvArea { display: block; margin: 0 10px; }
  #ftGogaku #ftGogaku-inner #fnvArea .fnvBlock { float: none; }
  #ftGogaku #ftGogaku-inner #fnvArea .fnvBlock.fnv01,
  #ftGogaku #ftGogaku-inner #fnvArea .fnvBlock.fnv02,
  #ftGogaku #ftGogaku-inner #fnvArea .fnvBlock.fnv03,
  #ftGogaku #ftGogaku-inner #fnvArea .fnvBlock.fnv04 { width: auto; }
  #ftGogaku #ftGogaku-inner #fnvArea .fnvBlock.fnv01 { display: none; }
  #ftGogaku #ftGogaku-inner #fnvArea .fnvBlock dl { padding-top: 6px; border-top: solid #c7c7cc 3px; }
  #ftGogaku #ftGogaku-inner #fnvArea .fnvBlock dl dt { border-bottom: none; }
  #ftGogaku #ftGogaku-inner #fnvArea .fnvBlock dl .fnvBox { padding: 4px 0 16px; }
  #ftGogaku #ftGogaku-inner #fnvArea .fnvBlock.fnv04 dl dt { display: none; }
  #ftGogaku #ftGogaku-inner #pageTop { right: 0; bottom: 130px !important; width: 60px; height: 60px; }
  .has-cookie #ftGogaku #ftGogaku-inner #pageTop { bottom: 50px !important; }
}
/* /ftGogaku ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

/* ftMore ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
#ftMore{
  width:100%;
  background-color: #003d97;
}
#ftMore #ftMore-inner{
  margin: 0 auto;
  padding: 0 0 0 0;
  position:relative;
}
#ftMore #ftMore-inner dl{
  width:100%;
  margin: 0;
  padding:6px 0 4px 0;
}
#ftMore #ftMore-inner dl dt{
  display:block;
  float:left;
  background:url(../img/common/ft/bg_ftmore.png) right 40% no-repeat;
  padding:0 14px 0 0;
  color:#fff;
}
#ftMore #ftMore-inner dl dt em{
  font-style:normal;
  font-size:150%;
  display:block;
}
#ftMore #ftMore-inner dl dt .note{
  display:block;
}
#ftMore #ftMore-inner dl dd{
  display: block;
  *display:inline;
  *zoom:1;
  float:right;
  margin-left:12px;
}
#ftMore #ftMore-inner dl dd a{
  text-decoration:underline;
  color:#fff;
  font-size:116.6%;
  line-height:3em;
}
@media screen and (min-width: 769px) {
  #ftMore #ftMore-inner { max-width: 990px; }
}
@media screen and (max-width: 768px) {
  #ftMore { display: none; }
}
/* /ftMore +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

/* ftNHK ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
#ftNHK{
  width:100%;
  min-width:990px;
  background-color: #e8e8e8;
}
#ftNHK #ftNHK-inner{
  width:990px;
  margin: 0 auto;
  padding: 0 0 0 0;
  position:relative;
}
#ftNHK #ftNHK-inner dl{
  width:830px;
  margin: 0 auto 0 0;
  padding: 22px 0 20px 0;
}
#ftNHK #ftNHK-inner dl dt a{
  position: absolute;
  left: 11px;
  top: 25px;
}
#ftNHK #ftNHK-inner dl dd{
  display: block;
  margin: 0 0 0 92px;
  line-height: 1.3;
}
#ftNHK #ftNHK-inner dl dd .ft-Link{
  width: 100%;
}
#ftNHK #ftNHK-inner dl dd .ft-Link li{
  display: inline;
}
#ftNHK #ftNHK-inner dl dd .ft-Link li a{
  color: #003d97;
}
#ftNHK #ftNHK-inner .ft-bnr{
  width:165px;
  margin: 0;
  position: absolute;
  right: 0px;
  top: 21px;
}
#ftNHK #ftNHK-inner .ft-bnr li{
  display: inline;
}
#ftNHK #ftNHK-inner .ft-bnr li img{
  height: 46px;
  margin-right: 13px;
  float: right;;
}
#ftNHK #ftNHK-inner .ft-bnr .border img{
  height: 44px;
  border:1px solid #333;
}
/* /ftNHK +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/*  - ft ======================================================================= */


/*  + simple modal window =========================================================== */
#mask {
  position:absolute;
  left:0;
  top:0;
  z-index:9000;
  display:none;
  background:#fff;
}

#boxes .window{
  width:800px;
  height:500px;
  position:fixed;
  display:none;
  z-index:9999;
  text-align:center;
  color:#1a1a1a;
}
#boxes #dialogTrue{
  width:301px;
}
#boxes #dialogFalse{
  width:301px;
}
#boxes #dialogEnd{
  width:301px;
}
#boxes .dialog-Up{
  width:100%;
  height:13px;
  font-size:0;
  line-height:0;
  background:url(../img/mygogaku/answerpopup/bg_answerpopup_up.png) left bottom no-repeat;
}
#boxes .dialog-Bot{
  width:100%;
  height:13px;
  background:url(../img/mygogaku/answerpopup/bg_answerpopup_bot.png) left top no-repeat;
}
#boxes .dialog-Mid{
  width:100%;
  min-height:100px;
  background:url(../img/mygogaku/answerpopup/bg_answerpopup_mid.png) left top repeat-y;
  text-align:center;
}
#boxes .dialog-Mid h3{
  padding:40px 0 38px 0;
  cursor:pointer;
}
#boxes .window .btnCloseModal{
  width: 14px;
  height: 14px;
  position: absolute;
  right: 10px;
  top: 10px;
  cursor: pointer;
}
/*  - simple modal window =========================================================== */


/* ruby ++++++++++++++++++++++++++++++++++++++++++++++ */
ruby {
  display  : inline-table;
  text-align    : center;
  text-indent    : 0px;
  white-space    : nowrap;
  border      : none;
  margin      :  0 0 .3em 0;
  padding      : 0px;
  line-height    : 1;
  height      : 1em;
  vertical-align  : text-bottom;
  border      : none;
  word-break:keep-all;
  word-wrap:normal;
}
* html body ruby {
  white-space    : normal;
  vertical-align  : baseline;
}

rb {
  display      : table-row-group;
  line-height    : 1;
  text-align    : center;
  border      : none;
  margin      : 0px;
  padding      : 0px;
  white-space    : nowrap;
  vertical-align:top;
}
*:first-child+html rb {
  white-space    : normal;
}
* html body ruby rb {
  display      : table-row-group;
  vertical-align  : bottom;
  white-space    : normal;
}
rt {
  display      : table-header-group;
  font-size    : 0.625em;
  line-height    : 1.1;
  text-align    : center;
  white-space    : nowrap;
  border      : none;
  margin      : 0px;
  padding      : 0px;
}
*:first-child+html rt {
  white-space    : normal;
}
* html body ruby rt {
  white-space    : normal;
  line-height    : 1em;
  display      : table-header-group;
  position    : static;
  top        : 0em;
}
.nowrap{
  white-space:nowrap;
}
/* rp（CSS OFF状態での区切り文字、通常不可視）
------------------------------------------- */
/* 全ブラウザ共通指定 */
rp {
  display: none;
}
/* /ruby +++++++++++++++++++++++++++++++++++++++++++++ */


/* relatedBox +++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.related-wrapper{
  background-color: #f5f7f8;
  padding:50px 0 74px 0;
}
.relatedArea{
  max-width: 990px;
  margin: 0 auto;
}
.relatedArea .relatedTit{
  display: inline-block;
  padding:0 0 4px 0;
  font-size: 28px;
  font-weight: normal;
  line-height: 1.3;
  border-bottom: 3px solid #003D97;
}
.relatedArea .relatedTit .txtSub{
  margin-left: .5em;
  font-size:75%;
  font-weight:bold;
  color: #37358d;
}
.relatedBox .relatedWp{
  margin: 28px 0 0 0;
  padding:28px 14px 28px 28px;
  background-color: #FFF;
  -webkit-border-radius: 15px;
          border-radius: 15px;
}
.relatedBox .relatedWp .relatedWp-inner{
  width:100%;
}
.relatedBox .relatedWp .relatedWp-inner dl .thumbnail{
  float:left;
}
.relatedBox .relatedWp .relatedWp-inner dl .thumbnail.shadow{
  box-shadow:1px 2px 2px 0px rgba(0,0,0,0.70);
-moz-box-shadow:1px 2px 2px 0px rgba(0,0,0,0.70);
-webkit-box-shadow:1px 2px 2px 0px rgba(0,0,0,0.70);
}
.relatedBox .relatedWp .relatedWp-inner dl dd{
  padding:0 18px 0 48px;
  overflow: hidden;
}
.relatedBox .relatedWp .relatedWp-inner dl dd .textTit{
  font-weight:bold;
  font-size:150%;
  line-height:1.3;
  color:#003d97;
  display:block;
}
.relatedBox .relatedWp .relatedWp-inner dl dd a:hover strong{
  text-decoration:underline;
}
.relatedBox .relatedWp .relatedWp-inner dl dd .textExp{
  padding: 1em 0 0 0;
  display:block;
  font-size:116.6%;
}
.relatedBox .relatedWp .relatedWp-inner dl dd .linkList{
  padding:32px 0 0 0;
}
.relatedBox .relatedWp .relatedWp-inner dl dd .linkList li{
  display:inline;
}
.relatedBox .relatedWp .relatedWp-inner dl dd .linkList li a{
  display:inline-block;
  margin-right:12px;
}
.relatedBox .relatedWp .relatedWp-inner dl dd .bottomdTxt{
  padding: 12px 0 0 0;
  color: #666;
}
.relatedBox .relatedWp .button-related{
  display: block;
  margin: 0 auto;
  width: 200px;
  height: 60px;
  box-shadow: 0 3px 0 rgba(0, 0, 0, 0.2);
  background-color: #f5f7f8;
  -webkit-border-radius: 6px;
          border-radius: 6px;
  color: #003D97;
  font-weight: bold;
  font-size: 18px;
  line-height: 60px;
  text-align: center;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .related-wrapper { padding:24px 10px 40px 10px; background-color: #F5F7F8; }
  .related-wrapper .relatedTit{ display: inline-block; margin-left: 10px; padding:0 0 8px 0; font-size: 20px; font-weight: normal; line-height: 1.3; border-bottom: 3px solid #003D97; }
  .relatedBox .relatedWp{ margin-top: 24px; padding:20px 14px 14px 15px; background-color: #FFF; -webkit-border-radius: 15px; border-radius: 15px; }
  .relatedBox .relatedWp .relatedWp-inner{ width:100%; }
  .relatedBox .relatedWp .relatedWp-inner dl .thumbnail{ float: none; max-width: 82%; margin: 0 auto; }
  .relatedBox .relatedWp .relatedWp-inner dl .thumbnail.textImg{ max-width: 109px; }
  .relatedBox .relatedWp .relatedWp-inner dl .thumbnail img{ width: 100%; }
  .relatedBox .relatedWp .relatedWp-inner dl dd{ padding:5px 0 0 0; overflow: hidden; }
  .relatedBox .relatedWp .relatedWp-inner dl dd .textTit{ font-weight:bold; font-size:150%; line-height:1.3; color:#003d97; display:block; }
  .relatedBox .relatedWp .relatedWp-inner dl dd a:hover strong{ text-decoration:underline; }
  .relatedBox .relatedWp .relatedWp-inner dl dd .textTit{ padding: 8px 0 0 0; margin-bottom: -8px; display:block; font-size:108.3%; line-height: 1.5; }
  .relatedBox .relatedWp .relatedWp-inner dl dd .textExp{ padding: 1em 0 0 0; display:block; font-size:12px; line-height: 1.5; }
  .relatedBox .relatedWp .relatedWp-inner dl dd .linkList{ padding:9px 0 0 0; text-align: center; }
  .relatedBox .relatedWp .relatedWp-inner dl dd .linkList li{ display:block; margin: 0 auto 9px auto; }
  .relatedBox .relatedWp .relatedWp-inner dl dd .bottomdTxt{ padding: 14px 0 0 0; }
  .relatedBox .relatedWp .relatedWp-inner .button-related{ display: block; margin: 20px auto 0 auto; width: 220px; height: 60px; box-shadow: 0 3px 0 rgba(0, 0, 0, 0.2); background-color: #f5f7f8; -webkit-border-radius: 6px; border-radius: 6px; color: #003D97; font-weight: bold; font-size: 18px; line-height: 60px; text-align: center; cursor: pointer; }
}
/* /relatedBox +++++++++++++++++++++++++++++++++++++++++++++++++++++ */


/* ====================================================================================
+ header +
/* ==================================================================================== */
.header-gogaku{
  min-width: 990px;
  height: 70px;
  margin: 0 auto;
  background-color: #003D97;
  position: relative;
}
.header-gogaku .logo-header{
  position: absolute;
  left: 37px;
  top: 16px;
  width: 72px;
}
.header-gogaku .header-list{
  height: 100%;
  position: absolute;
  right: 37px;
  top: 0;
  display: flex;
  -webkit-justify-content: flex-end;
          justify-content: flex-end;
}
.header-gogaku .header-list .list{
  height: 100%;
}
.header-gogaku .header-list .list .anchor{
  display: flex;
  height: 100%;
  margin-right: 1em;  
  color: #FFF;
  -webkit-align-items: center;
          align-items: center;
  font-size: 20px;
}
.header-gogaku .header-list .list .anchor.appli{
  color: #81D4F9;
}

/* gogaku */
.gogaku-hd { position: relative; height: 70px; background: #003d97; color: #fff; }
.gogaku-hd a { color: #fff; }
.gogaku-hd--logo { position: absolute; top: 16px; left: 38px; width: 72px; }
.gogaku-hd--logo a { display: block; width: 100%; }
.gogaku-hd__links { display: flex; position: absolute; top: 20px; right: 48px; }
.gogaku-hd__links--item { margin-left: 24px; font-size: 20px; }
.gogaku-hd__links--item:first-child { margin-left: 0; }
.gogaku-hd__links--item.app a { color: #c4eee0; }

@media screen and (max-width: 768px) {
  .gogaku-hd { height: 54px; }
  .gogaku-hd--logo { top: 12px; left: 12px; width: 55px; }
  .gogaku-hd__links { top: 16px; right: 10px; }
  .gogaku-hd__links--item { display: none; margin-left: 12px; font-size: 16px; }
  .gogaku-hd__links--item.app { display: block; }
}

/* / header
/* =================================================================================== */

.hide{
  display:none;
}
.color-red{
  color:#ff0000;
}

/* font-size config
(20px) -> 166.6%
(19px) -> 158.3%
(18px) -> 150%
(17px) -> 141.6%
(16px) -> 133.3%
(15px) -> 125%
(14px) -> 116.6%
(13px) -> 108.3%
(11px) -> 91.6%
(10px) -> 83.3%
(9px)  -> 75%
(8px)  -> 66.6%
*/

/*  + feature wrap ================================================================== */
.feature-wrap { width: 100%; background-color: #f5f7f8; }
.feature-wrap .pageLinkBox { padding: 0 0 36px 0; text-align: center; }
.feature-wrap .pageLinkBox li { display: inline-block; text-align: center; margin: 0 15px; }
.feature-wrap .pageLinkBox li img { width: 360px; }
.feature-wrap .tit_feature1 { font-size: 150%; padding: 14px 0 34px 0; font-weight: bold; text-align: center; color: #37358d; }
.feature-wrap .tit_feature2 { margin: 0 auto; font-size: 200%; padding: 50px 0 30px 0; font-weight: bold; text-align: center; color: #37358d; }
.feature-wrap .featureArea { position: relative; margin: 0 auto; }
.feature-wrap .featureArea .featureArea-l dl { padding: 0 0 20px; }
.feature-wrap .featureArea .featureArea-l dl .title { padding: 10px 0; display: block; background-color: #37358d; border-radius: 5px; text-align: center; font-size: 166.6%; color: #fff; position: relative; }
.feature-wrap .featureArea .featureArea-l dl .title .icon_new { width: 42px; height: 42px; position: absolute; right: -15px; top: -13px; }
.feature-wrap .featureArea .featureArea-l dl .note { padding: 9px 20px; color: #666; font-size: 91.6%; }
.feature-wrap .featureArea .featureArea-program { width: 668px; height: 128px; position: absolute; right: -4px; top: -2px; background: url(../img/hatsuon/bg_programbox.png) 0 0 no-repeat; }
.feature-wrap .featureArea .featureArea-program .tit_english { position: absolute; left: 22px; top: 20px; }
.feature-wrap .featureArea .featureArea-program .tit_chinese { position: absolute; left: 22px; top: 72px; }
.feature-wrap .featureArea .featureArea-program ul li { display: inline; }
.feature-wrap .featureArea .featureArea-program ul li a { margin-right: 3px; padding:.2em 1.3em .1em .6em; font-size: 116.6%; background-position:95% 50%; text-decoration: none; }
.feature-wrap .featureArea .featureArea-program .list_english { position: absolute; left: 145px; top: 24px; }
.feature-wrap .featureArea .featureArea-program .list_chinese { position: absolute; left: 145px; top: 80px; }
.feature-wrap .featureArea .featureArea-appli dl dd { padding-bottom: 5px; text-align: left; color: #666; font-size: 12px; }
.feature-wrap .featureArea .featureArea-appli dl dd > a { display: block; width: 100%; }

@media screen and (min-width: 769px) {
  .feature-wrap{ min-width: 980px; }
  .feature-wrap .tit_feature2 { width: 990px; }
  .feature-wrap .featureArea { display: flex; flex-wrap: wrap; padding-bottom: 30px; width: 990px; }
  .feature-wrap .featureArea .featureArea-l { margin: 3px auto 0 0; width: 300px; }
  .feature-wrap .featureArea .featureArea-appli { position: relative; width: 668px; height: 208px; background: url(../img/hatsuon/bg_applibox.png) 0 0 no-repeat; }
  .feature-wrap .featureArea .featureArea-appli .tit_appli { position: absolute; left: 22px; top: 18px; width: 232px; }
  .feature-wrap .featureArea .featureArea-appli dl dd { width: 240px; }
  .feature-wrap .featureArea .featureArea-appli .appli-box-android { position: absolute; left: 25px; top: 78px; }
  .feature-wrap .featureArea .featureArea-appli .appli-box-android .title { padding-bottom: 2px; text-align: left; color: #37358d; font-size: 18px; font-weight: bold; }
  .feature-wrap .featureArea .featureArea-appli .appli-box-android .span { font-size: 13px; }
  .feature-wrap .featureArea .featureArea-appli .appli-box-ios { position: absolute; left: 350px; top: 78px; }
  .feature-wrap .featureArea .featureArea-appli .appli-box-ios .title { text-align: left; color: #37358d; font-size: 18px; font-weight: bold; }
  .feature-wrap .featureArea .featureArea-appli .appli-box-ios .title span { font-size: 13px; }
  .feature-wrap .app-attention { margin-top: 15px; width: 100%; }
}

@media screen and (max-width: 768px) {
  .feature-wrap { text-align:center; line-height: 1.6; color: #666; background-color: #f5f7f8; }
  .feature-wrap .tit_feature1 { padding: 18px 24px 36px 20px; font-size: 116.6%; color: #37358d; font-weight: bold; text-align: left; }
  .feature-wrap .tit_feature2 { padding: 18px 24px; text-align: center; font-size: 133.3%; color: #37358d; font-weight: bold; }
  .feature-wrap .featureArea { display: flex; flex-wrap: wrap; }
  .feature-wrap .featureArea .featureArea-l { order: 2; padding: 15px 15px 0; text-align: left; }
  .feature-wrap .featureArea .featureArea-appli { order: 1; position: relative; }
  .feature-wrap .featureArea .featureArea-l dl { padding-bottom: 0; }
  .feature-wrap .featureArea .featureArea-appli { margin: 0 15px; background-color: #fff; border-radius: 5px; box-shadow: 1px 1px 3px #ebedee; }
  .feature-wrap .featureArea .featureArea-appli .tit_appli { width: 100%; position: relative; }
  .feature-wrap .featureArea .featureArea-appli dl { margin: 0 15px; padding: 15px 0 7px 0; text-align: center; }
  .feature-wrap .featureArea .featureArea-appli dl + dl { border-top: 1px solid #cfd8dc; }
  .feature-wrap .featureArea .featureArea-appli dl dt { padding: 0 0 1px 0; text-align: center; font-size: 18px; font-weight: bold; color: #37358d; }
  .feature-wrap .featureArea .featureArea-appli dl dt span { font-size: 13.5px; }
  .feature-wrap .featureArea .featureArea-appli dl dt.iOS { color: #92a6af; }
  .feature-wrap .featureArea .featureArea-appli dl dt em { font-style: normal; font-size: 18px; }
  .feature-wrap .featureArea .featureArea-appli dl dd { padding: 0 10px 6px; text-align: center; font-size: 12px; }
  .feature-wrap .featureArea .featureArea-program { display: none; }
  .feature-wrap .app-attention { order: 3; margin-top: 10px; }
}
/*  - feature wrap ================================================================== */

/* appbanner-table ++++++++++++++++++++++++++++++++++++++++++++++++++ */
.appbanner-table{ width: 100%; display: table; position: fixed; left: 0; bottom: 0; z-index: 10000; height: 105px; background-color: rgba(0,0,0,0.85); }
.appbanner-table a{ text-decoration: none; }
.has-cookie .appbanner-table{ display: none; }
.appbanner-table .app-cell{ width: 95px; height: 80px; display: table-cell; padding: 15px 10px 10px 5px; }
.appbanner-table .app-cell .btn-app{ width: 80px; height: 80px; }
.appbanner-table .text-cell{ display: table-cell; vertical-align: top; padding: 15px 0 10px 0; color: #FFF; }
.appbanner-table .text-cell .text{ padding: 0 0 6px 0; line-height: 1.3; }
.appbanner-table .fz-10{ font-size: 10px; }
.appbanner-table .fz-15{ font-size: 15px; }
.appbanner-table .close-cell{ width: 40px; display: table-cell; padding: 5px 10px 0 0; vertical-align: top; text-align: right; }
.appbanner-table .close-cell .btn-close{ width: 30px; }
.appbanner-table .text-cell .btn-detail-wrap{ padding: 8px 0 0 0; text-align: right; }
.appbanner-table .text-cell .btn-detail-wrap .btn-detail{ padding: 6px 6px 6px 10px; text-align: right; color: #0A018A; background-color: #fff; text-align: center; border-radius: 5px; }
.appbanner-table .link-cookie:active,
.appbanner-table .link-cookie.active{ opacity: 0.75; }
@media screen and (min-width: 769px) {
  .appbanner-table { display: none !important; }
}
/* /appbanner-table +++++++++++++++++++++++++++++++++++++++++++++++++ */

/* others ++++++++++++++++++++++++++++++++++++++++++++++++++ */
.app-attention { position: relative; padding: 14px 10px 15px 30px; background-color: #b3e5fc; border-radius: 0 0 3px 3px; text-align: left; font-size: 12px; font-weight: bold; line-height: 1.5; color: #2962ff; }
.app-attention::after { content: ''; position: absolute; top: 15px; left: 10px; width: 16px; height: 16px; background: url(../img/common/icon/icon_notice_blue.png) no-repeat center center; background-size: 100%; }

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

@media screen and (min-width: 769px) {
  .app-attention { margin-top: 12px; padding: 12px 65px; border-radius: 4px; font-size: 15px; line-height: 1.3; }
  .app-attention::after { top: 11px; left: 40px; width: 20px; height: 20px; }
}
/* /others +++++++++++++++++++++++++++++++++++++++++++++++++ */