@charset "UTF-8";
/*+==========================================================+
目次
10. page
11. header
12. global navigation
13. main
14. titleArea
15. footer
+=========================================================+*/

/* 10. page
+=========================================================+*/
#page{
  position: relative;
  width: 100%;
  min-height: 100%;
}

/* 11. header
+=========================================================+*/
#header {
  width: 100%;
  background: #002b5b;
  color: #fff;
  font-size: 13px;
  font-size: 1.3rem;
}
#header .container{
  padding: 10px;
}

/* siteLogo
--------------------------------------------------------- */
.sitelogo {
  float: left;
  width: 505px;
  font-size: 15px;
  font-weight: normal;
  line-height: 1.2;
}
.sitelogo a {
  height: 65px;
  background: url(../images/logo.png) 0 0 no-repeat;
  padding-left: 230px;
  display: table-cell;
  vertical-align: middle;
  color: #fff;
  text-decoration: none;
}

/* btnGlobalNavハンバーガーメニューボタン(スマホ表示用)
--------------------------------------------------------- */
#btnGlobalNav {
  display: none;
  float: right;
  width: 36px;
  height: 36px;
  margin: auto;
  position: absolute;
  top: 10px;
  right:10px;
  padding: 16px 0 0 0;
  border: #fff solid 1px;
  text-align: center;
  border-radius: 2px;
}
#btnGlobalNav i {
  display: block;
  width: 20px;
  height: 2px;
  border-radius: 3px;
  margin: 0 auto;
  background: #fff;
  transition: all 0.3s;
  position: relative;
}
#btnGlobalNav i:before, #btnGlobalNav i:after {
  content: "";
  display: block;
  width: 20px;
  height: 1px;
  background: #fff;
  position: absolute;
  transition: all 0.4s;
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
}
#btnGlobalNav i:before {
  -webkit-transform: translateY(8px);
  transform: translateY(8px);
}
#btnGlobalNav i:after {
  -webkit-transform: translateY(-8px);
  transform: translateY(-8px);
}

/*closeボタン*/
#btnGlobalNav.close i {
  background: rgba(255, 255, 255, 0);
}
#btnGlobalNav.close i:before {
  -webkit-transform: rotate(-45deg) translateY(0px);
  transform: rotate(-45deg) translateY(0px);
}
#btnGlobalNav.close i:after {
  -webkit-transform: rotate(45deg) translateY(0px);
  transform: rotate(45deg) translateY(0px);
}

/* aboutMemberNav
--------------------------------------------------------- */
#aboutMemberNav {
  float: right;
  text-align: center;
  width: 240px;
}
#aboutMemberNav strong {
  display: block;
  margin-bottom: 5px;
  background: #33557c;
}
#aboutMemberNav .btn {
  border: 1px solid #fff;
}

#aboutMemberNav img {
  width:100%;
}

@media screen and (max-width: 768px) {
#aboutMemberNav {
  height:36px;
  text-align: right;
  width: calc(100% - 36px - 10px);
  float: none;
}
#aboutMemberNav .clearfix,
#aboutMemberNav .clearfix .col12{
  height:100%;
}
#aboutMemberNav img {
  height:36px;
  width:auto!important;
  aspect-ratio:436/115;
}

/*
  #aboutMemberNav{display: none;}
*/
}
@media print {
  #aboutMemberNav{display: none;}
}

/* 12. global navigation
+=========================================================+*/
#globalNav {
  font-size: 13px;
  font-size: 1.3rem;
  width: 100%;
  position: absolute;
  height: 40px;
  top: 88px;
  left: 0;
  box-shadow: 0 6px 3px -3px rgba(0, 0, 0, .3) inset;
  background: #e5eef4;
  background: rgba(235, 230, 240, .9);
  color: #002b5b;
  z-index: 9999;
}
#globalNavList {
  position: relative;
  max-width: 1100px;
  margin: 0 auto;
}
#globalNavList li {
  transition: all 0.3s;
}
#globalNavList li a {
  display: block;
  color: #002B5B;
  text-decoration: none;
}
  #globalNavList > li {
  position: relative;
  float: left;
  width: 17%;
  height: 40px;
  text-align: center;
  line-height: 40px;
  white-space: nowrap;
  border-left: solid 1px rgba(255, 255, 255, .5);
  font-weight: bold;
}
#globalNavList > li:first-child {
  width: 15%;
}
#globalNavList > li:last-child {
  border-right: solid 1px rgba(255, 255, 255, .5);
}
#globalNavList li > a {
  position: relative;
}
#globalNavList li:hover,
#globalNavList li.open {
  background: rgba(255, 204, 51, .5);
}
#globalNavList li ul.child {
  display: none;
  position: absolute;
  transition: all 0.3s;
  top: 40px;
  left: 0;
  z-index: 9999;
}
#globalNavList li.open ul.child {
  display: block;
  background: rgba(255, 204, 51, .9);
}
#globalNavList li.open ul.child > li {
  width: 186px;
  text-align: left;
  border-bottom: dotted 1px #fff;
}
#globalNavList li.open ul.child > li a {
  padding: 5px;
}
#globalNavList li.open ul.child > li:last-child {
  border-bottom: none;
}

#btnGlobalNav {
  display: none;
}

@media screen and (max-width: 860px) {
  .sitelogo {
    width: 490px;
    font-size: 14px;
  }
}
@media screen and (max-width: 768px) {
  .sitelogo {
    width: 120px;
  }
  .sitelogo a {
    width: 100%;
    height: 0;
    padding-top: 36px;
    padding-left: 0;
    display: block;
    background-size: 120px 36px;
    overflow: hidden;
  }
  #btnGlobalNav {
    display: block;
  }

  #globalNav {
    display: none;
    top: 56px;
    height: auto;
    background: #ebeff3;
  }
  #globalNavList > li {
    float: none;
    width: 100%;
    height: auto;
    text-align: left;
    line-height: inherit;
    border-left: none;
    border-right: none;
    border-bottom: solid 1px #fff;
  }
  #globalNavList > li:first-child {
    width: 100%;
  }
  #globalNavList > li:last-child {
    border-right: none;
  }
  #globalNavList li div,
  #globalNavList li a {
    position: relative;
    width: 100%;
    padding: 10px;
    display: block;
    text-decoration: none;
    font-weight: bold;
    color: #002b5b;
  }
  #globalNavList li div:after,
  #globalNavList li a:after {
    display: block;
    position: absolute;
    top: 50%;
    right: 10px;
    width: 6px;
    height: 6px;
    margin-top: -4px;
    content: '';
  }
  #globalNavList li div:after {
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
  }
  #globalNavList li.open div:after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  #globalNavList li a:after {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  #globalNavList li.parent div:after,
  #globalNavList li.parent a:after {
    border-top: solid 2px #002b5b;
    border-right: solid 2px #002b5b;
  }
  #globalNavList li ul.child {
    display: none;
    position: static;
    box-shadow: 0 6px 3px -3px rgba(0, 0, 0, .3) inset;
  }

  #globalNavList li.open ul.child > li {
    width: 100%;
    padding: 5px;
    border-bottom: dotted 1px #fff;
  }

  #globalNavList ul.child li:last-child {
    border-bottom: none;
  }
  #globalNavList ul.child li div,
  #globalNavList ul.child li a {
    border: none;
  }
}

/* 13. main
+=========================================================+*/
#main {
  position: relative;
  top: -40px;
  padding: 30px 100px 325px 100px;/* padding-bottomはfooterの高さと同じ */
  box-shadow: 0 -6px 3px -2px rgba(0,0,0,.3);
  background: #fff url(../images/bg-main.gif) repeat-x top left;
}
#main:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

#main h2 {
  margin-bottom: 10px;
  line-height: 1.5;
  color: #002B5B;
  font-size: 26px;
  font-size: 2.6rem;
}
#main h3{
  margin-bottom: 10px;
  padding: 5px;
  background: url(../images/bg-check1.gif);
  color: #fff;
  font-size:22px;
  font-size:2.2rem;
}
#main h4{
  margin-bottom: 10px;
  padding: 5px;
  background: #e5eef4;
  font-size:20px;
  font-size:2rem;
}
#main h5{
  margin-bottom: 5px;
  border-bottom:1px solid #96824b;
  font-size: 18px;
  font-size: 1.8rem;
}
#main h6{
  font-size: 16px;
  font-size: 1.6rem;
}
#main p { margin-bottom: 20px;}


/* titleArea
--------------------------------------------------------- */
#titleArea {
  width: 100%;
  height: 300px;
  overflow: hidden;
  text-align: left;
}
#titleArea .notosans {
  display: table-cell;
  vertical-align: middle;
  width: 484px;
  height: 282px;
  text-align: center;
  background: url(../images/bg-titlearea-h1.png) no-repeat top left;
  color: #002b59;
}
#titleArea .notosans h1 {
  font-size: 34px;
  background: url(../images/line-titlearea-h1.png)no-repeat center bottom;
}
#titleArea .notosans span {
  font-size: 24px;
}

/* breadcrumb navigation
--------------------------------------------------------- */
#breadcrumbNav {
  margin-bottom: 30px;
}
#breadcrumbNav li {
  float: left;
  margin-right: 4px;
  font-size: 14px;
  font-size: 1.4rem;
  font-weight: bold;
}
#breadcrumbNav li a {
  font-weight: normal;
}
#breadcrumbNav li:after {
  margin-left: 4px;
  content: "≫";
  color: #96824b;
}
#breadcrumbNav li:last-child:after {
  content: "";
}
#breadcrumbNav:after {
  content: "";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
@media screen and (max-width: 960px) {
  #main {
    padding: 30px 50px 325px 50px;/* padding-bottomはfooterの高さと同じ */
  }
}
@media screen and (max-width:768px) {
  #main {
    top: -10px;
    padding: 20px 10px;
  }
  #titleArea {
    height: 100px;
    text-align: center;
  }
  #titleArea .notosans {
    display: block;
    width: auto;
    height: 82px;
    text-align: center;
    background: none;
  }
  #titleArea .notosans h1 {
    font-size: 28px;
    padding-top: 10px;
    background: none;
    text-shadow: 0 0 20px #fff, 0 0 10px #fff, 0 0 5px #fff, 0 0 3px #fff;
  }
  #titleArea .notosans span {
    display: none;
  }
  #breadcrumbNav {
    margin-bottom: 20px;
  }
}


/* 17. footer
+=========================================================+*/
#footer {
  position:absolute;
  bottom:0;
  width: 100%;
  height:325px;
  font-size: 13px;
}
#footer .list_arrow li:first-child:before {
  content: "";
}

a.bnr_mobile {
  display: block;
  padding: 5px;
  background: #002b5b;
  text-decoration: none;
  color: #fff;
  font-size: 12px;
}

#footerAddress {
  background: #fff;
}
#footer h6 {
  font-size: 12px;
  font-size: 1.2rem;
}
@media screen and (max-width:768px) {
  #footer {
    position:static;
    margin-top: -10px;
    height:auto;
  }
  #footerAddress {
    background: #e5eef4;
  }
  #footerAddress img {
    width:150px;
  }
}


/* 18. pagetop
+=========================================================+*/
#pagetop {
  position: fixed;
  bottom: 22px;
  right: 20px;
  text-align: center;
}
#pagetop span {
  display: block;
  width: 58px;
  padding: 18px 0;
  background: #002b5b;
  background: rgba(0, 43, 91, .96);
}
#pagetop:hover {
  opacity: .8;
}
