.clearfix, #header #header-inner, #header #header-inner .site-function ul, #header nav ul, #topic-path, #content main, #footer .share .share-inner, #footer .sitemap .sitemap-inner, #footer .footer-nav .footer-nav-inner, #footer .footer-nav .footer-nav-inner ul {
  *zoom: 1;
}
.clearfix:after, #header #header-inner:after, #header #header-inner .site-function ul:after, #header nav ul:after, #topic-path:after, #content main:after, #footer .share .share-inner:after, #footer .sitemap .sitemap-inner:after, #footer .footer-nav .footer-nav-inner:after, #footer .footer-nav .footer-nav-inner ul:after {
  content: "";
  display: table;
  clear: both;
}

.indent {
  padding: 0 0 0 1em;
  text-indent: -1em;
}

/* ==========================================================================
   base
   ========================================================================== */
html {
  overflow-y: scroll;
}

html, body {
  height: 100%;
}

body {
  color: #111;
  font-family: "Helvetica Neue", Arial, YuGothic, Meiryo, "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 14px;
  line-height: 1.8;
  -webkit-text-size-adjust: 100%;
}

a {
  color: #333;
  text-decoration: underline;
  -webkit-transition: all 0.2s;
          transition: all 0.2s;
}
a:hover, a:active {
  opacity: 0.5;
  text-decoration: none;
}

/* ==========================================================================
   container
   ========================================================================== */
#container {
  position: relative;
  min-height: 100%;
  min-width: 320px;
  max-width: 1400px;
  margin: 0 auto;
  background: #5bae0b;
  /* Old browsers */
  /* FF3.6+ */
  background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%, white), color-stop(100%, #5bae0b));
  /* Chrome,Safari4+ */
  background: -webkit-radial-gradient(center, ellipse cover, white 0%, #5bae0b 100%);
  /* Chrome10+,Safari5.1+ */
  /* Opera 12+ */
  /* IE10+ */
  background: -webkit-radial-gradient(center, ellipse, #ffffff 0%, #5bae0b 100%);
  background: radial-gradient(ellipse at center, #ffffff 0%, #5bae0b 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#5bae0b',GradientType=1 )
  /* IE6-9 fallback on horizontal gradient */
}

/* ==========================================================================
   header
   ========================================================================== */
#header {
  background: #fff;
}
#header #header-inner {
  position: relative;
  max-width: 1000px;
  margin: 0 auto;
  /*padding-top: 20px;*/
  padding:20px 0 10px 0;
}
#header #header-inner .site-id {
  float: left;
}
#header #header-inner .site-id h1, #header #header-inner .site-id h2, #header #header-inner .site-id p {
  display: table-cell;
  vertical-align: middle;
}
#header #header-inner .site-id h1, #header #header-inner .site-id h2 {
  padding: 0 15px 0 0;
}
#header #header-inner .site-id p {
  font-size: 12px;
}
#header #header-inner .site-function {
  float: left;
  padding-left:80px;
  margin: 8px;
}
#header #header-inner .site-function p, #header #header-inner .site-function ul {
  display: table-cell;
  vertical-align: middle;
}
#header #header-inner .site-function p {
  font-size: 10px;
  line-height: 1.2;
  text-align: left;
}
#header #header-inner .site-function ul {
  padding: 0 0 0 15px;
  font-size: 12px;
  text-align: center;
}
#header #header-inner .site-function ul li {
  float: left;
}
#header #header-inner .site-function ul li + li {
  margin: 0 0 0 10px;
}
#header #header-inner .site-function ul li a {
  display: inline-block;
  padding: 0 24px;
  border-radius: 12px;
  height: 24px;
  line-height: 24px;
  box-sizing: border-box;
  color: #fff;
  text-decoration: none;
}
#header #header-inner .site-function ul li.registration a {
  background: #ff8000;
}
#header #header-inner .site-function ul li.login a {
  background: #60ad2c;
}
#header #header-inner .notify {
  float: right;
  font-size: 10px;
  margin: 5px 0;
  line-height: 1.2;
  text-align: center;
}
#header #header-inner .w-logged-in {
  width: 236px;
}
#header #header-inner .w-not-logged-in {
  width: 226px;
}
#header nav {
  background: #60AD2C;
}
#header nav.open p {
  color: #60ad2c;
  background: #fff;
  border-bottom: solid 1px #60ad2c;
}
#header nav p {
  height: 40px;
  line-height: 40px;
  position: absolute;
  bottom: 0;
  left: 0;
  display: none;
  width: 100%;
  color: #fff;
  background: #60ad2c;
  text-align: center;
}
#header nav ul {
  position: relative;
  max-width: 1000px;
  margin: 0 auto;
}
#header nav ul:before {
  content: '';
  display: inline-block;
  width: 1px;
  height: 14px;
  position: absolute;
  top: 42%;
  left: 0;
  margin: -7px 0 0 0;
  background: #fff;
}
#header nav ul li {
  position: relative;
  float: left;
  width: 25%;
  line-height: 1;
  text-align: center;
}
#header nav ul li.oneline {
  padding:5px 0 0 0;
}
#header nav ul li:before {
  content: '';
  display: inline-block;
  width: 1px;
  height: 14px;
  position: absolute;
  top: 50%;
  right: 0;
  margin: -7px 0 0 0;
  background: #fff;
}
#header nav ul li.twoline:before {
  top: 42%;
}
#header nav ul li a {
  display: block;
  padding: 15px 0;
  color: #fff;
  text-decoration: none;
}
#header nav ul li.current:after {
  content: '';
  display: inline-block;
  width: 0;
  height: 0;
  position: absolute;
  bottom: 0;
  left: 50%;
  margin: 0 0 0 -3px;
  border: 6px solid transparent;
  border-bottom: solid 8px #dfefd5;
}
#header .page-title {
  color: #fff;
  background: #60ad2c;
  font-size: 36px;
  line-height: 1.2;
}
#header .page-title span {
  display: block;
  max-width: 1000px;
  margin: 0 auto;
  padding: 30px 0;
}

@media screen and (max-width: 1000px) {
  #header #header-inner {
    padding: 20px 10px 0;
  }
  #header #header-inner .site-function p {
    display: none;
  }
  #header nav {
    padding: 0 10px;
  }
  #header .page-title {
    padding: 0 10px;
  }
}
@media screen and (max-width: 768px) {
  #header #header-inner {
    padding: 20px 10px 0;
  }
  #header #header-inner .site-id h1, #header #header-inner .site-id h2, #header #header-inner .site-id p {
    display: block;
  }
  #header #header-inner .site-id h1, #header #header-inner .site-id h2 {
    padding: 0 0 0 0;
  }
  #header #header-inner .site-id p {
    margin: 5px 0 0 0;
  }
  #header nav {
    font-size: 12px;
  }
  #header .page-title {
    font-size: 24px;
    text-align: center;
  }
  #header .page-title span {
    padding: 20px 0;
  }
}
@media screen and (max-width: 520px) {
  #header #header-inner .site-id {
    float: none;
    text-align: center;
  }
  #header #header-inner .site-function {
    float: none;
  }
  #header #header-inner .site-function ul {
    display: block;
    margin: 10px 0 0 0;
    padding: 0 0 0 0;
    font-size: 14px;
  }
  #header #header-inner .site-function ul li {
    float: left;
    width: 49%;
  }
  #header #header-inner .site-function ul li + li {
    margin: 0 0 0 2%;
  }
  #header #header-inner .site-function ul li a {
    display: inline-block;
    padding: 0 40px;
    border-radius: 20px;
    height: 40px;
    line-height: 40px;
    width: 100%;
  }
  #header #header-inner .notify {
    width: 100%;
    float: none;
    text-align: center;
    font-size: 10px;
    margin-top: 5px;
    line-height: 1.2;
  }
  #header nav {
    position: relative;
    padding: 0 0 40px 0;
    font-size: 14px;
  }
  #header nav p {
    display: block;
  }
  #header nav ul {
    display: none;
  }
  #header nav ul:before {
    display: none;
  }
  #header nav ul li {
    float: none;
    width: 100%;
    line-height: 1;
    text-align: left;
  }
  #header nav ul li + li {
    border-top: solid 1px #fff;
  }
  #header nav ul li:before {
    display: none;
  }
  #header nav ul li a {
    padding: 15px 10px;
  }
  #header nav ul li.current:after {
    display: none;
  }
  #header .page-title {
    font-size: 18px;
  }
  #header .page-title span {
    padding: 15px 0;
  }
}
/* ==========================================================================
   topic-path
   ========================================================================== */
#topic-path {
  padding: 5px 0;
  max-width: 1000px;
  margin: 0 auto;
  font-size: 10px;
  color: #fff;
}
#topic-path li {
  float: left;
}
#topic-path li + li {
  margin: 0 0 0 8px;
  padding: 0 0 0 12px;
  background: url(../img/common/arw_white_s.png) no-repeat left center;
}
#topic-path li a {
  color: #fff;
}

@media screen and (max-width: 1000px) {
  #topic-path {
    padding: 5px 10px;
  }
}
/* ==========================================================================
   page-ttl
   ========================================================================== */
#page-ttl {
  background: #fff;
}
#page-ttl h1 {
  max-width: 1000px;
  margin: 0 auto;
  padding: 20px 0;
  color: #60ad2c;
  font-size: 30px;
}

@media screen and (max-width: 1000px) {
  #page-ttl h1 {
    padding: 20px 10px;
    font-size: 24px;
    text-align: center;
  }
}
@media screen and (max-width: 520px) {
  #page-ttl h1 {
    padding: 10px;
    font-size: 18px;
  }
}
/* ==========================================================================
   content
   ========================================================================== */
#content {
  max-width: 1000px;
  margin: 0 auto;
  padding: 25px 0 170px;
}
#content main {
  position: relative;
  padding: 35px 4%;
  background: #fff;
}
#content main #main-column {
  padding: 0 0 0 0px;
}
#content main #main-column section h1 {
  color: #60ad2c;
  font-size: 24px;
  line-height: 1.4;
}
#content main #main-column section h2 {
  font-size: 18px;
  font-weight: bold;
}
#content main #main-column section p {
  margin: 10px 0 0 0;
}
#content main #main-column section p + p {
  margin: 20px 0 0 0;
}
#content main #sub-column {
  position: absolute;
  top: 35px;
  left: 4%;
  width: 200px;
}
#content main #sub-column .local-nav {
  line-height: 1.4;
}
#content main #sub-column .local-nav li {
  display: table;
  width: 100%;
  min-height: 60px;
}
#content main #sub-column .local-nav li + li {
  margin: 1px 0 0 0;
}
#content main #sub-column .local-nav li a {
  position: relative;
  display: table-cell;
  padding: 15px;
  color: #60ad2c;
  background: #dfefd5;
  text-decoration: none;
  vertical-align: middle;
}
#content main #sub-column .local-nav li a:after {
  content: '';
  display: inline-block;
  width: 6px;
  height: 8px;
  position: absolute;
  top: 50%;
  right: 10px;
  margin: -4px 0 0 0;
  background: url(/img/common/arw_green_s.png) no-repeat left top;
}
#content main #sub-column .local-nav li.current a {
  color: #fff;
  background: #60ad2c;
}
#content main #sub-column .local-nav li.current a:after {
  background: url(/img/common/arw_white_s.png) no-repeat left top;
}
#content main #sub-column .local-nav + .bnr {
  margin: 20px 0 0 0;
}
#content main #sub-column .bnr li + li {
  margin: 10px 0 0 0;
}
#content main #sub-column .bnr li a {
  position: relative;
  display: block;
}
#content main #sub-column .bnr li a.blank:after {
  content: '';
  display: inline-block;
  width: 8px;
  height: 7px;
  position: absolute;
  bottom: 6px;
  right: 6px;
  background: url(/img/common/icn_blank.png) no-repeat left top;
}
#content main #sub-column .bnr li a img {
  max-width: 100%;
}
#content main #sub-column .bnr li.shafukukyou {
  background: #dbe8fd;
}
#content main #sub-column .bnr li.shafukukyou a:before {
  content: '';
  display: inline-block;
  width: 10px;
  height: 16px;
  position: absolute;
  top: 50%;
  right: 15px;
  margin: -8px 0 0 0;
  background: url(/img/common/arw_blue.png) no-repeat left top;
}
#content main #sub-column .bnr li.herupa {
  background: #fde9da;
}
#content main #sub-column .bnr li.herupa a:before {
  content: '';
  display: inline-block;
  width: 10px;
  height: 16px;
  position: absolute;
  top: 50%;
  right: 15px;
  margin: -8px 0 0 0;
  background: url(/img/common/arw_orange.png) no-repeat left top;
}

@media screen and (max-width: 1000px) {
  #content {
    padding: 25px 10px;
  }
}
@media screen and (max-width: 768px) {
  #content main #main-column {
    padding: 0 0 0 0;
  }
  #content main #sub-column {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    margin: 30px 0 0 0;
  }
  #content main #sub-column .local-nav {
    line-height: 1.4;
  }
  #content main #sub-column .local-nav li {
    display: table;
    width: 100%;
    min-height: 60px;
  }
  #content main #sub-column .local-nav li + li {
    margin: 1px 0 0 0;
  }
  #content main #sub-column .local-nav li a {
    position: relative;
    display: table-cell;
    padding: 15px;
    color: #60ad2c;
    background: #dfefd5;
    text-decoration: none;
    vertical-align: middle;
  }
  #content main #sub-column .local-nav li a:after {
    content: '';
    display: inline-block;
    width: 6px;
    height: 8px;
    position: absolute;
    top: 50%;
    right: 10px;
    margin: -4px 0 0 0;
    background: url(/img/common/arw_green_s.png) no-repeat left top;
  }
  #content main #sub-column .local-nav li.current a {
    color: #fff;
    background: #60ad2c;
  }
  #content main #sub-column .local-nav li.current a:after {
    background: url(/img/common/arw_white_s.png) no-repeat left top;
  }
  #content main #sub-column .local-nav + .bnr {
    margin: 20px 0 0 0;
  }
  #content main #sub-column .bnr li + li {
    margin: 10px 0 0 0;
  }
  #content main #sub-column .bnr li a {
    position: relative;
    display: block;
  }
  #content main #sub-column .bnr li a.blank:after {
    content: '';
    display: inline-block;
    width: 8px;
    height: 7px;
    position: absolute;
    bottom: 6px;
    right: 6px;
    background: url(/img/common/icn_blank.png) no-repeat left top;
  }
  #content main #sub-column .bnr li a img {
    max-width: 100%;
  }
  #content main #sub-column .bnr li.shafukukyou {
    background: #dbe8fd;
  }
  #content main #sub-column .bnr li.shafukukyou a:before {
    content: '';
    display: inline-block;
    width: 10px;
    height: 16px;
    position: absolute;
    top: 50%;
    right: 15px;
    margin: -8px 0 0 0;
    background: url(/img/common/arw_blue.png) no-repeat left top;
  }
  #content main #sub-column .bnr li.herupa {
    background: #fde9da;
  }
  #content main #sub-column .bnr li.herupa a:before {
    content: '';
    display: inline-block;
    width: 10px;
    height: 16px;
    position: absolute;
    top: 50%;
    right: 15px;
    margin: -8px 0 0 0;
    background: url(/img/common/arw_orange.png) no-repeat left top;
  }
}
@media screen and (max-width: 520px) {
  #content main {
    padding: 20px 4%;
  }
}
/* ==========================================================================
   footer
   ========================================================================== */
/* update 24.07.05 */
#content main #main-column footer h1 {
    color: #60ad2c;
    font-size: 24px;
    line-height: 1.4;
  }
  
 #footer {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}
#footer .share {
  background: #fff;
  line-height: 1;
}
#footer .share .share-inner {
  max-width: 1000px;
  margin: 0 auto;
  padding: 20px 0;
}
#footer .share .share-inner ul {
  float: right;
}
#footer .share .share-inner ul li {
  float: left;
}
#footer .share .share-inner ul li + li {
  margin: 0 0 0 10px;
}
#footer .sitemap {
  background: #dfefd5;
}
#footer .sitemap .sitemap-inner {
  max-width: 1000px;
  margin: 0 auto;
  padding: 10px 0;
}
#footer .sitemap .sitemap-inner .column {
  float: left;
  width: 25%;
}
#footer .sitemap .sitemap-inner .column dl dt{
  text-align:center;
}
#footer .sitemap .sitemap-inner .column dl + dl {
  margin: 20px 0 0 0;
}
#footer .sitemap .sitemap-inner .column dl dd {
  margin: 5px 0 0 0;
  font-size: 12px;
}
#footer .sitemap .sitemap-inner .column dl dd a {
  padding: 0 0 0 12px;
  background: url(/img/common/arw_green_s.png) no-repeat left 0.25em;
}
#footer .sitemap .sitemap-inner .column dl a {
  color: #333;
  text-decoration: none;
}
#footer .footer-nav {
  font-size: 12px;
}
#footer .footer-nav .footer-nav-inner {
  max-width: 1000px;
  margin: 0 auto;
  padding: 20px 0;
  color: #fff;
}
#footer .footer-nav .footer-nav-inner ul {
  float: left;
}
#footer .footer-nav .footer-nav-inner ul li {
  float: left;
}
#footer .footer-nav .footer-nav-inner ul li + li {
  margin: 0 0 0 25px;
}
#footer .footer-nav .footer-nav-inner ul li a {
  color: #fff;
  padding: 0 0 0 12px;
  background: url(/img/common/arw_white_s.png) no-repeat left 0.25em;
  text-decoration: none;
}
#footer .footer-nav .footer-nav-inner p {
  float: right;
}

@media screen and (max-width: 1000px) {
  #footer {
    position: relative;
  }
  #footer .share .share-inner {
    padding: 20px 10px;
  }
  #footer .sitemap .sitemap-inner {
    padding: 25px 10px;
  }
  #footer .footer-nav {
    padding: 0 10px;
  }
}
@media screen and (max-width: 768px) {
  #footer .share {
    text-align: center;
  }
  #footer .share .share-inner ul {
    float: none;
  }
  #footer .share .share-inner ul li {
    float: none;
    display: inline-block;
    margin: 0 10px;
  }
  #footer .share .share-inner ul li + li {
    margin: 0 10px;
  }
  #footer .footer-nav {
    text-align: center;
  }
  #footer .footer-nav .footer-nav-inner ul {
    float: none;
  }
  #footer .footer-nav .footer-nav-inner ul li {
    float: none;
    display: inline-block;
    margin: 0 10px 10px;
  }
  #footer .footer-nav .footer-nav-inner ul li + li {
    margin: 0 10px 10px;
  }
  #footer .footer-nav .footer-nav-inner ul li a {
    padding: 0 0 0 12px;
    background: url(/img/common/arw_green_s.png) no-repeat left 0.25em;
    text-decoration: none;
  }
  #footer .footer-nav .footer-nav-inner p {
    float: none;
  }
}
@media screen and (max-width: 520px) {
  #footer .sitemap .sitemap-inner {
    padding: 0 0 0 0;
  }
  #footer .sitemap .sitemap-inner .column {
    float: none;
    width: 100%;
  }
  #footer .sitemap .sitemap-inner .column + .column {
    border-top: solid 1px #fff;
  }
  #footer .sitemap .sitemap-inner .column dl + dl {
    margin: 0 0 0 0;
    border-top: solid 1px #fff;
  }
  #footer .sitemap .sitemap-inner .column dl dd {
    margin: 5px 0 0 0;
    font-size: 12px;
  }
  #footer .sitemap .sitemap-inner .column dl dd ul {
    background: #dfefd5;
  }
  #footer .sitemap .sitemap-inner .column dl dd ul a {
    padding: 10px 10px 10px 22px;
    color: #60ad2c;
    background: url(/img/common/arw_green_s.png) no-repeat 10px 1.25em;
  }
  #footer .sitemap .sitemap-inner .column dl a {
    display: block;
    padding: 10px;
  }
}
/* ==========================================================================
   pagetop
   ========================================================================== */
#pagetop {
  display: none;
  position: fixed;
  right: 30px;
  bottom: 30px;
}
#pagetop a {
  overflow: hidden;
  display: inline-block;
  width: 40px;
  height: 40px;
  text-indent: -9999px;
  border-radius: 20px;
  background: #60ad2c url(../img/common/arw_white_up.png) no-repeat center center;
}

@media screen and (max-width: 520px) {
  #pagetop {
    right: 10px;
    bottom: 10px;
  }
}
