@charset "utf-8";


/* ------------------------------------------------------------
B-1. 基本要素
------------------------------------------------------------ */


/* body */
body                { background: url(../img/bg/main.jpg) 0 121px no-repeat; }
body#popup          { background: #fff; }



/* 基本文字セット */
body                { color: #333; font-family: 'メイリオ','Meiryo','Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3','ＭＳ Ｐゴシック',Arial; }
a                   { color: #004f95; text-decoration: underline; }
a.btn               { text-decoration: none; }
a:hover             { color: #c03; text-decoration: underline; }
em                  { font-weight: bold; }



/* 見出し */
h1                  { margin: 40px 0 30px; font-size: 24px; line-height: 32px; }
h2                  { margin: 20px 0 5px; font-size: 20px; line-height: 32px; }
h3                  { margin: 15px 0 5px; font-size: 16px; line-height: 32px; }



/* セクション */
.section             { margin: 30px 0 0; }

.section .header      { margin-bottom: 20px; padding: 8px 10px;
  border: 1px solid #ccc;
  -webkit-border-radius: 6px;
  -moz-border-radius:    6px;
  border-radius:         6px;
}
.section .header h2   { margin: 0; font-size: 16px; line-height: 1.2; }
.section .header .btn { margin-top: -6px; margin-right: -6px; }

.section .footer      { text-align: right; font-size: 12px; }

.section p           { margin: 15px 0; }

.section .figure      { overflow: hidden; margin: 0 15px 25px 0; }
.section .figcaption  { display: block; margin: 15px 0; padding-left: 5px; border-left: 4px solid #D70C19; font-weight: bold; font-size: 14px; line-height: 1.2; }
.section .figure.border img  { border: 1px solid #e6e6e6; }




















/* ------------------------------------------------------------
C-1. #header
------------------------------------------------------------ */


/* 共通ヘッダ */
#header                                 { height: 121px; margin-bottom: 20px; }
#header .navbar-inner                   { min-width: 280px; height: 121px; padding: 0 10px; background: #fff url(../img/bg/header.jpg) 50% 45px repeat-x; filter: none; }
#header .navbar-inner .container        { position: relative; width: auto; }
#header .navbar-fixed-top               { position: relative; }



/* 共通ヘッダ：ロゴ */
#header .masthead                       { padding: 20px 0 0 7px; }
#header .brand                          { margin: 0; padding: 0; }
#header .brand h1                       { margin: 0; line-height: 1; }
#header .btn                            { font-size: 90%; }
body#home #header .backhome             { visibility: hidden; margin-left: -9999px; }
@media screen and (max-width: 767px)    {
  #header .masthead                     { padding-left: 0; }
  #header .backhome                     { visibility: hidden; margin-left: -9999px; }
  #header .guidebook                    { width: 70px; padding-left: 5px; padding-right: 5px; line-height: 1.2; }
}



/* 共通ヘッダ：POPUP */
body#popup #header,
body#popup #header .navbar-inner        { height: 90px; margin-bottom: 0; }
body#popup #header .masthead            { margin: 8px -10px; padding: 10px; background: #999; }
body#popup #header .btn                 { display: none; }










/* ------------------------------------------------------------
C-2. #footer
------------------------------------------------------------ */


/* 共通フッタ */
#footer             { position: relative; padding-top: 25px; }
@media screen and (max-width: 767px)    {
  #footer           { margin-left: -20px; margin-right: -20px; }
}



/* 共通フッタ：装飾 */
#footer .row-fluid  { padding: 20px 0 0; border-top: 1px solid #999; background: #ececec; text-align: center;
  -webkit-box-shadow: #ccc 1px 1px 3px inset;
  -moz-box-shadow:    #ccc 1px 1px 3px inset;
  box-shadow:         #ccc 1px 1px 3px inset;
}
#footer .tab        { position: absolute; top: 0; right: 20px; height: 20px; padding: 5px 15px 0; font-size: 12px;
  border: 1px solid #b1b1b1;
  border-bottom: 5px solid #ececec;
  background: #ececec;
  -webkit-border-radius: 3px 3px 0 0;
  -moz-border-radius:    3px 3px 0 0;
  border-radius:         3px 3px 0 0;
  -webkit-box-shadow: #ccc 1px 1px 3px inset;
  -moz-box-shadow:    #ccc 1px 1px 3px inset;
  box-shadow:         #ccc 1px 1px 3px inset;
}



/* 共通フッタ：ナビ */
#footer .nav        { display: inline-block; margin: 0 0 0 20px; }
* html #footer .nav { display: none; }
*+html #footer .nav { display: inline; zoom: 1; line-height: 999px; overflow: hidden; }

#footer .nav-pills  { font-size: 12px; }
#footer .nav-pills a{ text-decoration: none; }

#footer .dropdown-menu   { max-width: 280px; }
#footer .dropdown-menu a { overflow: hidden; text-overflow: ellipsis; text-align: left; }



/* 共通フッタ：アドレス */
#footer address     { text-align: center; font-size: 12px; color: #999; }



/* 共通フッタ：POPUP */
body#popup #footer .tab,
body#popup #footer .nav { display: none; }










/* ------------------------------------------------------------
C-3. #main
------------------------------------------------------------ */


/* #shadow */
#shadow             { position: relative; height: 150px; margin: 0 20px 0 10px; background: transparent url(../img/bg/shadow.png) no-repeat; }
#shadow:after       { content: ""; display: block; position: absolute; top: 0; right: -10px; width: 10px; height: 140px; background: transparent url(../img/bg/shadow.png) 100% 0 no-repeat; }
@media screen and (max-width: 767px) {
  #shadow           { margin-right: -10px; margin-left: -20px;  }
}
body#popup #shadow  { display: none; }



/* #main */
#main               { position: relative; margin-top: -150px; margin-right: 20px; margin-left: 20px; padding: 5px 30px 30px; }
@media screen and (max-width: 767px) {
  #main             { margin-right: -10px; margin-left: -10px; padding-right: 5px; padding-left: 10px; }
}
body#popup #main    { margin-top: 0px; }










/* ------------------------------------------------------------
C-3-1. #main > #content
------------------------------------------------------------ */


/* nav : main */
.nav-main           { margin: 10px 0 0; padding-bottom: 10px; border-bottom: 1px dotted #d6d6d6; }
.nav-main .nav      { margin: 0; font-size: 11px; }
* html .nav-main    { display: none; }
/*
.nav-main .dropdown-menu   { max-width: 280px; }
.nav-main .dropdown-menu a { overflow: hidden; text-overflow: ellipsis; text-align: left; }
*/



/* mod : もくじ */
.mod-index          { margin-bottom: 50px; }
.mod-index h2       { position: relative; margin-top: 30px; margin-bottom: 15px; padding: 10px 20px; color: #fff;
  background-color: #27455f;
  background-image: -webkit-gradient(linear, 0 0, 100% 100%, from(#27455f), color-stop(0.1,#27455f), to(#7794ad));
  background-image: -webkit-linear-gradient(left, #27455f, #27455f 10%, #7794ad);
  background-image:    -moz-linear-gradient(left, #27455f, #27455f 10%, #7794ad);
  background-image:     -ms-linear-gradient(left, #27455f, #27455f 10%, #7794ad);
  background-image:      -o-linear-gradient(left, #27455f, #27455f 10%, #7794ad);
  background-image:         linear-gradient(left, #27455f, #27455f 10%, #7794ad);
  -webkit-border-radius: 30px;
  -moz-border-radius:    30px;
  border-radius:         30px;
}
@media (max-width: 767px) {
  .mod-index h2 {
    border-radius: 6px;
  }
}
.mod-index ol       { list-style: none; margin: 10px; }
.mod-index li       { padding-bottom: 12px; }
.mod-index p {
  margin: 15px;
}
.mod-index .table li   { padding-bottom: 3px; }
@media (min-width: 768px) {
  .mod-index .table {
    margin-left: 15px;
  }
}

.mod-index .red {
  font-weight: normal;
  text-decoration: underline;
  color: #f00;
}

.mod-index .btn-block {
  max-width: 80%;
  margin: 0 auto;
}

/* btn */
.mod-index .btn-danger {
  padding: 15px 5px;
}
.mod-index .btn-danger.btn-pad {
  padding: 15px 30px;
}
.mod-index .btn-danger strong {
  font-size: 1.4em;
}




/* mod : お問い合わせ */
.mod-contact        { position: relative; padding: 10px 10px 10px; text-align: center;
  border: 1px solid #d8d8d8;
  background: #f6f6f6;
  -webkit-border-radius: 10px;
  -moz-border-radius:    10px;
  border-radius:         10px;
  -webkit-box-shadow: #ccc 0 0 2px;
  -moz-box-shadow:    #ccc 0 0 2px;
  box-shadow:         #ccc 0 0 2px;
}
.mod-contact h3     { clear: left; font-size: 24px; color: #004f95; }
.mod-contact .tag   { position: relative; float: left; display: inline; margin: -10px 0 5px -10px; padding: 8px; background: #fff; font-size: 12px;
  border-right: 1px solid #d8d8d8;
  border-bottom: 1px solid #d8d8d8;
  -webkit-border-radius: 10px 0 10px 0;
  -moz-border-radius:    10px 0 10px 0;
  border-radius:         10px 0 10px 0;
}





/* ------------------------------------------------------------
C-3-2. #main > #sidebar
------------------------------------------------------------ */


/* #sidebar */
#sidebar            {  }
@media screen and (max-width: 767px) {
  #sidebar          { margin-top: 40px; border-top: 1px dotted #ccc; }
}



/* サブナビゲーション */
.nav-local li       {
  margin: 0 0 4px;
  background-color: #fbfbfb;
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f5f5f5));
  background-image: -webkit-linear-gradient(top, #ffffff, #f5f5f5);
  background-image:    -moz-linear-gradient(top, #ffffff, #f5f5f5);
  background-image:     -ms-linear-gradient(top, #ffffff, #f5f5f5);
  background-image:      -o-linear-gradient(top, #ffffff, #f5f5f5);
  background-image:         linear-gradient(top, #ffffff, #f5f5f5);
  background-repeat: repeat-x;
  border: 1px solid #ddd;
  -webkit-border-radius: 3px;
     -moz-border-radius: 3px;
          border-radius: 3px;
  filter: progid:dximagetransform.microsoft.gradient(startColorstr='#ffffff', endColorstr='#f5f5f5', GradientType=0);
  -webkit-box-shadow: inset 0 1px 0 #ffffff;
     -moz-box-shadow: inset 0 1px 0 #ffffff;
          box-shadow: inset 0 1px 0 #ffffff;
}
.nav-local li a     { display: block; padding: 12px 8px 10px; }
.nav-local li ul    { margin: 0 0 0 15px; list-style: none; }
.nav-local li li    { border: none; background: none; font-size: 90%; border-top: 1px dotted #ccc; }
.nav-local li li a  { padding: 6px 8px 4px; }




















/* ------------------------------------------------------------
D-1. 共用パーツ：インライン要素：ロゴ・アイコン・ボタン系
------------------------------------------------------------ */


/* logo */
.logo               { display: inline-block;margin: 0; vertical-align: middle; background-repeat: no-repeat; font-size: 0px !important; text-shadow: none !important; }
.logo.brand         {  }
.logo.dente         { width: 60px; height: 45px; background: url(../img/logo/den-te.png); }
.logo.mufg          { width: 160px; height: 45px; background: url(../img/logo/mufg.png); }



/* icon（arrow） */
.icon               { display: inline-block; width: 21px; height: 21px; margin: 0 10px 3px; vertical-align: middle; font-size: 0px !important; text-shadow: none !important; }
.icon.arrow         { background: url(../img/icon/arrow.png) 0 0 no-repeat; }
.icon.tel           { width: 29px; height: 29px; background: url(../img/icon/tel.png) 0 0 no-repeat; }
.icon.a             { width: 22px; height: 22px; margin-left: 0; background: url(../img/icon/a.png) 0 0 no-repeat; }
.icon.q             { width: 22px; height: 22px; margin-left: 0; background: url(../img/icon/q.png) 0 0 no-repeat; }
li .icon.q          { width: 18px; height: 18px; background: url(../img/icon/q_s.png) 0 0 no-repeat; }



/* num */
.num                { display: inline-block; width: 19px; height: 19px; margin: 0 3px 3px 0; background: url(../img/icon/num.png) no-repeat; vertical-align: middle; font-size: 0px !important; text-shadow: none !important; }
* html .num         { display: inline; zoom: 1; line-height: 999px; overflow: hidden; }
*+html .num         { display: inline; zoom: 1; line-height: 999px; overflow: hidden; }
.num.n1             { background-position: 0 0px; }
.num.n2             { background-position: 0 -40px; }
.num.n3             { background-position: 0 -80px; }
.num.n4             { background-position: 0 -120px; }
.num.n5             { background-position: 0 -160px; }
.num.n6             { background-position: 0 -200px; }
.num.n7             { background-position: 0 -240px; }
.num.n8             { background-position: 0 -280px; }
.num.n9             { background-position: 0 -320px; }



/* label */
.label              { display: inline-block; min-width: 61px; line-height: 14px; margin: 0 2px; padding: 0 2px; vertical-align: middle; text-align: center; font-style: normal; font-size: 10px; font-weight: normal !important; -webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0; text-shadow: none !important; }
* html .label       { display: inline; zoom: 1; }
*+html .label       { display: inline; zoom: 1; }
#hero  .label       { line-height: 16px; font-size: 12px; }











/* ------------------------------------------------------------
D-2. 共用パーツ：罫線、テーブル、リスト
------------------------------------------------------------ */


/* hr */
.hr                 { height: 1px; margin-top: 30px; border: 0; border-top: 1px dotted #d0d0d0; }
#footer .hr         { height: 1px; margin-top: 20px; border: 0; border-top: 1px solid #d0d0d0; background: #fff; }
.hr2                { height: 10px; margin: 40px 0; border: 0; background: url(../img/bg/dot.png); }



/* table */
.table              { border: 1px solid #ddd; }
.table.table-bordered { border-radius: 0; }
.table-bordered thead:first-child tr:first-child th:last-child,
.table-bordered tbody:first-child tr:first-child td:last-child { border-right: 0; }
.table .table-head th { background-color: #888; text-align: center; color: #fff; }
.table th           { vertical-align: middle; background-color: #f0f0f0; text-align: center; }
.table td small     { font-size: 75%; }

.table.text-center th,
.table.text-center td { text-align: center; vertical-align: middle; }


/* .list-spec */
dl.list-spec        { padding-left: 10px; border-left: 1px solid #fff; }
dl.list-spec dt     { clear: left; float: left; width: 3em; }
dl.list-spec dt.fluid { float: none; width: auto; }
dl.list-spec dt.fluid + dd { margin-left: 0; }
dl.list-spec dd     { margin-left: 3.5em; word-wrap: break-word; }



/* .list-step */
.list-step          { counter-reset: li; }
.list-step > li     { padding-bottom: 10px; list-style: none; }
.list-step > li:before { content: counter(li)". "; counter-increment:li; font-weight: bold; font-size: 18px; margin-left: -1em; }
.list-step ol,
.list-step ul       { margin-top: 10px; }
* html .list-step li   { list-style: decimal; margin-left: 0; }
* html .list-step li ul li { list-style: disc; }
* html .list-step li ol li { list-style: decimal; }
*+html .list-step > li { list-style: decimal; margin-left: 0; }










/* ------------------------------------------------------------
D-3. 共用パーツ：その他
------------------------------------------------------------ */


/* .gotop */
a.gotop             { padding-left: 13px; background: url(../img/icon/arrow.png) 0 3px no-repeat; text-decoration: none; color: #333; }
#footer a.gotop     { background-position: 0 -97px; }



/* .balloon */
.balloon            { position: relative; margin: 0 0 15px; padding: 10px; background: #e9f4f8;
  border: 1px solid #becfd6;
  -webkit-border-radius: 6px;
  -moz-border-radius:    6px;
  border-radius:         6px;
}

.balloon .arrow     { position: absolute; top: 17px; left: -15px; display: block; width: 16px; height: 15px; background: url(../img/icon/arrow-balloon.png) no-repeat; }

dl.balloon          { background-color: #fff2e9; }
dl.balloon .arrow   { background-image: url(../img/icon/arrow-balloon2.png); }
dl.balloon dt       { clear: left; float: left; }
dl.balloon dd       { margin-left: 25px; }



/* gradation */
.bar-black          { position: relative;
  background-color: #373737;
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#373737), to(#151515));
  background-image: -webkit-linear-gradient(#373737, #151515);
  background-image:    -moz-linear-gradient(#373737, #151515);
  background-image:     -ms-linear-gradient(#373737, #151515);
  background-image:      -o-linear-gradient(#373737, #151515);
  background-image:         linear-gradient(#373737, #151515);
}



/* .socobox */
.socobox            { padding-left: 10px; }















/* 2017 addon */
.row {
  margin: 0 -10px;
}
[class^="col-"] {
  float: left;
  padding: 0px 10px 20px;
  box-sizing: border-box;
}
[class^="col-"] .btn {
  display: block;
}

@media (min-width: 768px) {
  .col-sm-3 {
    width: 25.000000%;
  }
}
@media (max-width: 767px) {
  .col-xs-6 {
    width: 50.000000%;
  }
}























/* ====  PRINT SETTING  =============================================== */

@media print {
  body              { zoom: 0.65; }
  #header .brand    { text-indent: 0; background: none; }
  #header .brand h1 { margin: 0; color: #333; }
  #header .btn      { display: none; }
}
