@charset "UTF-8";
/*   
Theme Name: 鉄の道文化圏
Theme URI: 
Description: 
Author: Daisuke Ushio
Author URI: 
Template: 
Version: 
.
コメント／利用許諾の記述 (あれば)
.
*/
/*
  Site-Navigation
*/
html {
  background: #282828;
}

body {
  height: 100%;
  font-size: 13px;
}

@media only screen and (max-width: 767px) {
  body {
    font-size: 11px;
  }
}

.locked {
  overflow: hidden;
}

.background-cover {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.nobr {
  white-space: nowrap;
}

#menu {
  width: auto;
  position: absolute;
  right: 0;
}

#navigation {
  position: static;
  display: none;
}

#navigation nav {
  position: fixed;
  top: 0;
  right: 0;
  background: rgba(0,0,0,0.85);
  width: 500px;
  height: 100%;
  z-index: 100;
  font-size: 110%;
  overflow: auto;
}

@media only screen and (max-width: 959px) {
  #navigation nav {
    width: 66%;
    font-size: 150%;
  }

}

@media only screen and (max-width: 639px) {
  #navigation nav {
    width: 100%;
    font-size: 175%;
  }
}


#navigation ul.menu {
  list-style: none;
  margin: 3em 1.5em 1.5em 1.5em;
}

#navigation ul li {
  line-height: 1.5em;
}

#navigation ul.menu > li {
  border-bottom: 1px dashed #888;
  padding: 0.5em 0;
}

#navigation ul.menu > li:first-child {
  border-top: 1px solid #888;
}

#navigation ul.menu > li:last-child {
  border-bottom: 1px solid #888;
}

#navigation ul.menu > li:before {
  content: "\f138";
  color: #E68A5D;
  font-weight: bold;
  margin-right: 0.5em;
}


#navigation ul.sub-menu {
  margin: 0;
  padding-left: 2em;
}

#navigation ul.sub-menu li {
  list-style-type: none;
  
}

#navigation ul.sub-menu .sub-menu {
  padding-left: 1em;
}

#navigation li {
  text-indent: 0;
}

#navigation li:before {
  content: none;
}

#navigation li a {
  color: #fff;
}

#navigation li rt {
  display: none;
}

/*
  Header
*/
#header {
  position: fixed;
  width: 100%;
  height: 100px;
  background-color: rgba(255,255,255,0.75);
  background:-webkit-gradient(linear, left top, left bottom, from(#fff), to(rgba(255,255,255,0.6)));
  background:-webkit-linear-gradient(top, #fff, rgba(255,255,255,0.6));
  background:-moz-linear-gradient(top, #fff, rgba(255,255,255,0.6));
  background:-o-linear-gradient(top, #fff, rgba(255,255,255,0.6));
  background:linear-gradient(#fff, rgba(255,255,255,0.6));
  z-index: 10;
}

@media only screen and (max-width: 639px) {
  #header {
    height: 65px;
  }
}

#header img.logo {
  width: 480px;
  height: 100px;
}

@media only screen and (max-width: 639px) {
  #header img.logo {
    width: 360px;
    height: 65px;
  }
}

@media only screen and (max-width: 479px) {
  #header img.logo {
    width: 200px;
    height: 65px;
  }
}

#header > .wfx {
  position: static;
}

#foreign-langs {
  font-size: 100%;
  position: absolute;
  top: 3em;
  right: 13em;
}

#foreign-langs ul li {
  list-style-type: none;
  float: left;
  margin-left: 0.5em;
  text-indent: 0;
}

#foreign-langs ul li:before {
  content: none;
}

#foreign-langs ul li a {
  display: inline-block;
  color: #404040;
  border: 1px solid #404040;
  padding: 0.1em 2em;
}

#show-menu {
  display: inline-block;
  position: absolute;
  right: 0;
  top: 0;
  background-color: #333;
}



#sns-links {
  font-size: 130%;
  position: absolute;
  top: 2em;
  right: 23em;
}

#sns-links img {
  height: 3rem;
}

#sns-links ul li {
  list-style-type: none;
  float: left;
  margin-left: 0.5em;
  text-indent: 0;
}

#sns-links ul li:before {
  content: none;
}

#sns-links ul li {
  display: inline-block;
  padding: 0;
}

#sns-links ul li:first-of-type {
  margin-right: 0.5rem;
}




#show-menu a {
  color: #fff;
  position: absolute;
  right: 1em;
  top: 2em;
  display: inline-block;
  font-size: 130%;
  width: 6em;
  text-align: center;
  background-color: #181818;
  padding: 0.25em 1em;
}

@media only screen and (max-width: 639px) {
  #show-menu a {
    top: 1.25em;
  }
}

#show-menu a i {
  color: #f5832e;
  margin-right: 0.33em;
}

#hide-menu {
  position: relative;
}

#hide-menu a {
  position: absolute;
  right: 1em;
  top: 0.5em;
  color: #fff;
  font-size: 150%;
}

/*
  Main
*/
#main-bundle {
  width: 100%;
  text-align: center;
  padding-top: 120px;
  padding-bottom: 100px;
}

#main-bundle > * {
  text-align: left;
}

#main-bundle > .wfx {
  display: inline-block;
  position: relative;
}

#content {
  width: 100%;
}

#content.lang-en p {
  text-indent: 2em;
}

/* @media only screen and (max-width: 1160px) {
  #sns-links {
    top: 4.5em;
    right: 1em;
  }
} */

@media only screen and (max-width: 959px) {
  #main-bundle {
    padding-bottom: 0;
  }
}


/*
  Footer
*/
#footer {
  position: fixed;
  bottom: 0;
  width: 100%;
  height: 100px;
  background: #232323;
  color: #fff;
  border-top: 1px solid #4b4b4b;
  z-index: 5;
}

#goto-top a {
  display: inline-block;
  position: absolute;
  top: -2em;
  right: 0;
  background-color: #4b4b4b;
  height: 2em;
  line-height: 2em;
  padding: 0 0.5em;
  color: #bdbdbd !important;
}

@media only screen and (max-width: 959px) {
  #foreign-langs {
    display: none;
  }

  #sns-links {
    display: none;
  }

  #footer {
    height: auto;
    position: relative;
  }
}

@media only screen and (max-width: 639px) {
  #footer {
    height: auto;
  }
}

#footer ul {
  margin: 0;
}

#footer p.contact {
  padding: 0 0.5em 0.5em 0.5em;
  margin: 0;
  text-align: center;
  font-size: 95%;
}

#footer p.contact span {
  display: inline-block;
  text-align: left;
  margin-top: 1em;
}

#footer p.contact span span {
  margin-top: 0;
}

#footer p.contact span.address {
  margin: 0 1em;
}

#footer p.contact span.inq {
  border: 1px solid #eee;
  vertical-align: bottom;
}

#footer p.contact span.inq a {
  display: inline-block;
  font-size: 100%;
  margin: 0.33em 1em;
  color: #fff;
}

#footer p.contact span.sns-links img {
  height: 2rem;
  margin-left: 0.5em;
}

@media only screen and (max-width: 767px) {
  #footer p.contact {
    font-size: 110%;
  }

  #footer p.contact > span {
    
  }

  #footer p.contact span.name,
  #footer p.contact span.address {
    display: block;
  }
}

#footer .copy {
  margin-bottom: 0;
  padding-bottom: 1em;
}

#footer .copy small {
}

/*
  Width Fixer
*/
.wfx {
  width: 960px;
  margin: auto;
}

.wfx.wide {
  width: 1280px;
  position: relative !important;
}

@media only screen and (max-width: 1279px) {
  .wfx.wide {
    width: 100%;
  }
}

body > * > .wfx {
  
}

/*
  Path
*/
#path ol {
  display: inline-block;
  list-style: none;
  margin: 0;
}

#path ol li {
  float: left;
}

#path ol li:after {
  content: '>';
  padding: 0 0.5em;
}

#path ol li:last-child:after {
  content: '';
}


/*
  Flex
*/
@media only screen and (max-width: 639px) {
  html, body, #main-bundle, #content {
    position: relative;
  }

  html, #main-bundle, #main-bundle > .wfx, #content {
    height: auto;
  }

  #footer {
    position: relative;
  }
}

@media only screen and (max-width: 959px) {
  .wfx {
    width: 100%;
  }
}

/*
  Tooltip
*/
*[data-define] {
  color: #fff !important;
  cursor: pointer;
  display: inline-block;
  border-bottom: 1px dotted #999;
}

.tooltip {
  z-index: 100;
}

.tooltip > * {
  margin-bottom: 0.5em;
}

.tooltip .title {
  font-weight: bold;
}
