@charset "utf-8";

/* =============================================================

    Base Setting

============================================================= */


/*  Overall Setting
--------------------------------------------- */

html {
  overflow-y: auto;
}

html,
body {
  height: 100%;
}

body {
  font-family: "segoe UI", "YuGothic", "游ゴシック体", "Yu Gothic", "游ゴシック", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Verdana, sans-serif;
  font-size: 16px;
  text-align: center;
  word-wrap: break-word;
  -webkit-text-size-adjust: 100%;
  -moz-osx-font-smoothing: grayscale;
   -webkit-font-smoothing: antialiased;
  line-height: 1.4;
}

/*  Color Setting
-------------------------- */

/* -- Common Color -- */

body {
  color: #000;
}

a {
  color: inherit;
}

a:hover,
a:focus {
  color: inherit;
}

/* -- Custom Color -- */

/* Default */
.txt-default,
a.txt-default,
a.txt-default:hover,
a.txt-default:focus {
  color: #222 !important;
}

.bg-default {
  background-color: #222 !important;
}

.txt-default-light,
a.txt-default-light,
a.txt-default-light:hover,
a.txt-default-light:focus {
  color: #ccc !important;
}

.bg-default-light {
  background-color: #f6f6f6 !important;
}

.bg-default-light2 {
  background-color: #eee !important;
}

.txt-default-dark,
a.txt-default-dark,
a.txt-default-dark:hover,
a.txt-default-dark:focus {
  color: #000 !important;
}

.bg-default-dark {
  background-color: #000 !important;
}

/* Base */
.txt-base,
a.txt-base,
a.txt-base:hover,
a.txt-base:focus {
  color: #666 !important;
}

.bg-base {
  background-color: #666 !important;
}

.txt-base-light,
a.txt-base-light,
a.txt-base-light:hover,
a.txt-base-light:focus {
  color: #888 !important;
}

.bg-base-light {
  background-color: #888 !important;
}

.txt-base-dark,
a.txt-base-dark,
a.txt-base-dark:hover,
a.txt-base-dark:focus {
  color: #333 !important;
}

.bg-base-dark {
  background-color: #333 !important;
}

/* Primary */
.txt-primary,
a.txt-primary,
a.txt-primary:hover,
a.txt-primary:focus {
  color: #022d92 !important;
}

.bg-primary {
  background-color: #022d92 !important;
}

/* Primary Light */
.txt-primary-light,
a.txt-primary-light,
a.txt-primary-light:hover,
a.txt-primary-light:focus {
  color: #3755a2 !important;
}

.bg-primary-light {
  background-color: #f0f3fc !important;
}

/* Primary2 */
.txt-primary2,
a.txt-primary2,
a.txt-primary2:hover,
a.txt-primary2:focus {
  color: #1d2090 !important;
}

.bg-primary2 {
  background-color: #1d2090 !important;
}

/* Primary3 */
.txt-primary3,
a.txt-primary3,
a.txt-primary3:hover,
a.txt-primary3:focus {
  color: #0070a1 !important;
}

.bg-primary3 {
  background-color: #0070a1 !important;
}

.bg-primary3-light {
  background-color: #f1f9fb !important;
}

/* Accent */
.txt-accent,
a.txt-accent,
a.txt-accent:hover,
a.txt-accent:focus {
  color: #df1300 !important;
}

.bg-accent {
  background-color: #df1300 !important;
}

.bg-accent-light {
  background-color: #fff6f6 !important;
}

.txt-accent-dark,
a.txt-accent-dark,
a.txt-accent-dark:hover,
a.txt-accent-dark:focus {
  color: #b91115 !important;
}

/* Accent2 */
.txt-accent2,
a.txt-accent2,
a.txt-accent2:hover,
a.txt-accent2:focus {
  color: #d8528c !important;
}

.bg-accent2 {
  background-color: #d8528c !important;
}

.bg-accent2-light {
  background-color: #fff5f9 !important;
}

/* Accent3 */
.txt-accent3,
a.txt-accent3,
a.txt-accent3:hover,
a.txt-accent3:focus {
  color: #ffadab !important;
}

.bg-accent3 {
  background-color: #ffadab !important;
}


/* Sub */
.txt-sub,
a.txt-sub,
a.txt-sub:hover,
a.txt-sub:focus {
  color: #156c00 !important;
}

.bg-sub {
  background-color: #156c00 !important;
}

.bg-sub-light {
  background-color: #eef3f2 !important;
}

/* Sub Dark */
.txt-sub-dark,
a.txt-sub-dark,
a.txt-sub-dark:hover,
a.txt-sub-dark:focus {
  color: #5c865c !important;
}

.txt-sub-dark2,
a.txt-sub-dark2,
a.txt-sub-dark2:hover,
a.txt-sub-dark2:focus {
  color: #748471 !important;
}

.bg-sub-dark {
  background-color: #5c865c !important;
}

/* Sub2 */
.txt-sub2,
a.txt-sub2,
a.txt-sub2:hover,
a.txt-sub2:focus {
  color: #259700 !important;
}

.bg-sub2 {
  background-color: #259700 !important;
}

/* Sub3 */
.txt-sub3,
a.txt-sub3,
a.txt-sub3:hover,
a.txt-sub3:focus {
  color: #6d5d14 !important;
}

.bg-sub3 {
  background-color: #6d5d14 !important;
}

.bg-sub3-light {
  background-color: #fffeee !important;
}

/* Sub4 */
.txt-sub4,
a.txt-sub4,
a.txt-sub4:hover,
a.txt-sub4:focus {
  color: #99cc34 !important;
}

.bg-sub4 {
  background-color: #99cc34 !important;
}

/* -- Form Color -- */

.form-control,
.search-input {
  border-radius: 0;
  border: 1px solid #ccc;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  color: #333;
}

.form-control:focus,
.search-input:focus {
  border-color: #ccc;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 4px rgba(136, 136, 136, .6);
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 4px rgba(136, 136, 136, .6);
}

/* -- Placeholder Color -- */

:placeholder-shown {
  color: #999;
}

::-webkit-input-placeholder {
  color: #999;
}

:-moz-placeholder {
  color: #999;
}

::-moz-placeholder {
  color: #999;
}

:-ms-input-placeholder {
  color: #999;
}

/* -- Text Select Color -- */

::selection {
  background: #e1e8fc;
  color: #2447a0;
}

::-moz-selection {
  background: #e1e8fc;
  color: #2447a0;
}

/*  Switch Display
-------------------------- */

.media-sp {
  display: none;
}

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

  .media-sp {
    display: none !important;
  }

}

/*  Link Setting
-------------------------- */

a {
  text-decoration: none;
}

a,
a:before,
a:after,
a img {
  transition: opacity .3s ease-in-out,
              color .3s ease-in-out,
              background-color .3s ease-in-out,
              border-color .3s ease-in-out,
              text-shadow .3s ease-in-out;
}

a:hover {
  text-decoration: underline;
}

a:focus {
  text-decoration: none;
}


/*  Form Setting
-------------------------- */

.form-control {
  height: 30px;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="password"],
button,
select,
textarea {
  border-radius: 4px;
  border-color: #bbb;
  padding: 5px;
  font-size: .9em;
  font-family: "segoe UI", "YuGothic", "游ゴシック体", "Yu Gothic", "游ゴシック", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Verdana, sans-serif;
}

input[type="checkbox"],
input[type="radio"] {
  margin-right: 8px;
  padding: 0;
  font-size: 1.2em;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea,
select {
  transition: border-color .3s ease-in-out;
}

select,
select[multiple],
select[size] {
  min-width: 20px;
  height: 32px;
  padding: 0 5px;
  background-color: #fff;
  vertical-align: middle;
}


/*  Container Setting
--------------------------------------------- */

#container {
  position: relative;
  width: 100% !important;
  min-width: 1256px;
  height: auto !important;
  height: 100%;
  min-height: 100%;
  background: #fff;
}

#container.display-pc {
  width: 100% !important;
  position: relative !important;
  right: auto !important;
}

#container.lang-e {
  font-family: Helvetica, Arial, Verdana, sans-serif;
  letter-spacing: 0;
}

.inner {
  width: 1256px;
  margin: 0 auto;
  padding: 0 28px;
  text-align: left;
}

.main-content-inner {
  width: 100% !important;
}


/*  Header Setting
--------------------------------------------- */

#header {
  width: 100%;
  background: #fff;
  font-size: .9em;
}

.display-pc #header {
  left: 0 !important;
}

#header .inner {
  position: relative;
  width: 100%;
  padding: 0;
}

#header a {
  text-decoration: none;
}

#header p,
#header ul {
  margin-bottom: 0;
  padding-left: 0;
}

/* -------- Site Logo -------- */

#logo {
  position: absolute;
  top: 0;
  left: 28px;
  z-index: 100;
  width: 155px;
  background: #fff;
  text-align: center;
}

#logo h1 {
  margin: 0;
}

#logo a {
  display: block;
  padding: 24px 44px 18px;
  background: #fff;
}

#logo a:hover {
  opacity: .8;
}

.lang-e #logo a {
  padding: 48px 15px 34px;
}

/* -------- Site Menu -------- */

#sitemenu {
  padding-top: 58px;
  padding-left: 200px;
  padding-bottom: 2px;
  font-size: 1.15em;
  font-weight: bold;
}

/* -- Menu Button -- */

#sitemenu #menu-btn {
  display: none;
}

/* -- Menu Content -- */

#sitemenu #menu {
  height: 70px;
}

/* ------ Global Navi ------ */

#gnav {
}

#gnav .menu-list {
  position: relative;
  min-width: 1056px;
  padding-left: 0;
  font-size: .95em;
}

#gnav ul {
  margin-top: 0;
  letter-spacing: -.40em;
  text-align: center;
}

#gnav li {
  float: left;
  position: relative;
  letter-spacing: normal;
  vertical-align: middle;
}

#gnav li:hover {
  cursor: pointer;
}

#gnav li a {
  display: block;
  position: relative;
  z-index: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 20px 14px;
  line-height: 1.4;
  letter-spacing: -.04em;
  text-decoration: none;
}

.lang-e #gnav li a {
  letter-spacing: 0;
}

#gnav li a span {
  position: relative;
  z-index: 0;
  display: inline-block;
  *display: inline;
  *zoom: 1;
}

/* Hover Line */
#gnav li a span:after,
#gnav .current a span:after {
  transition: all .42s linear;
  position: absolute;
  left: 0;
  bottom: -5px;
  z-index: -1;
  width: 100%;
  height: 2px;
  background: #da1f21;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform .3s;
  content: "";
}

#gnav li:hover span:after,
#gnav .current a span:after {
  transform-origin: left top;
  transform: scale(1, 1);
}

#gnav .current a span:after {
  transition: none;
}


/* ---- Sub Menu ---- */

/* -- Sub Menu List -- */

#gnav .menu-sub {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 110;
  min-width: 290px;
  margin-left: 0;
  background: #fff;
  border: 1px solid #eee \9;
  /*box-shadow: 0 5px 10px rgba(0, 0, 0, 0.15);*/
  -webkit-filter: drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
  -moz-filter: drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
  -ms-filter: drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
  filter: drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
  font-size: .88em;
  letter-spacing: -.02em;
  line-height: 1.55;
}

#gnav .menu-sub ul {
  padding: 0 10px 10px;
  background: #fff;
  text-align: left;
}

/* Menu Arrow */
#gnav .menu-sub:before {
  position: absolute;
  top: -20px;
  left: 20%;
  width: 0;
  height: 0;
  border-width: 12px 10px 12px 10px;
  border-color:  transparent transparent #fff transparent;
  border-style: solid;
  content: "";
}

#gnav .menu-sub li {
  display: block;
  float: none;
  width: 100%;
  border-top: 1px solid #ddd;
}

#gnav .menu-sub li:first-child,
#gnav .menu-sub li.media-sp + li {
  border-top-width: 0;
}

#gnav .menu-sub li.media-sp {
  display: none;
}

#gnav .menu-sub li a {
  display: block;
  position: relative;
  width: 100%;
  padding: 14px 30px 14px 12px;
  font-size: 1em;
  letter-spacing: -.02em;
  line-height: 1.55;
  text-align: left;
}

#gnav .menu-sub li a:before {
}

#gnav .menu-sub li a:hover {
  opacity: 1;
  color: #337ab7 !important;
  background-color: #f4f4f4;
  border-color: #f4f4f4;
}

#gnav .menu-sub li a:hover:before {
  border-top-color: #337ab7;
  border-right-color: #337ab7;
}

#gnav .menu-sub .bnr-area {
  padding: 10px 10px 20px;
}

#gnav .menu-sub .bnr-area a {
  padding: 5px;
}

#gnav .menu-sub .bnr-area a:hover {
  opacity: .7;
}

/* -- Sub Menu Open -- */

.display-pc #gnav .menu-sub {
  display: block;
  transition: opacity .4s ease-in-out;
  opacity: 0;
  overflow: hidden;
  height: 0;
}

.display-pc #gnav .menu-list > ul > li:hover .menu-sub {
  display: block !important;
  opacity: 1;
  overflow: visible !important;
  height: auto;
  padding-top: 8px;
}

/* -- Sub Menu List -- */

#gnav .menu-ticket .menu-sub li {
  border-top-width: 0;
  border-bottom: 1px solid #ddd;
}

#gnav .menu-archives .menu-sub:before {
  margin-left: 15px;
}

#gnav .menu-ticket .menu-sub:before,
#gnav .menu-community .menu-sub:before,
#gnav .menu-subscriber .menu-sub:before {
  margin-left: -18px;
}

#gnav .menu-member .menu-sub:before,
#gnav .menu-support .menu-sub:before {
  margin-left: -26px;
}

/* ------ User Navi ------ */

#usernav {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  font-size: .82em;
}

#usernav .inner {
  padding-top: 0;
  text-align: right;
}

#usernav .inner > * {
  position: relative;
  z-index: 2;
  display: inline-block;
  *display: inline;
  *zoom: 1;
  margin-left: 15px;
  padding-left: 15px;
  vertical-align: middle;
}

#usernav .inner > *:before,
#usernav .usernav-link li:before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 1px;
  height: 16px;
  margin-top: -8px;
  background: #ddd;
  content: "";
}

#usernav .usernav-list ul {
  overflow: hidden;
  margin: 0 10px 0 -20px;
  padding: 0;
  letter-spacing: -.4em;
}

#usernav .usernav-list li {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  width: auto;
  padding-top: 0;
  padding-left: 20px;
  vertical-align: middle;
  letter-spacing: normal;
}

/* ---- Social ---- */

#usernav .usernav-social {
  margin-left: 5px;
}

/* ---- Font Size ---- */

#usernav .usernav-fontsize {
  padding-left: 30px;
  font-family: "segoe UI", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Verdana, sans-serif;
  font-weight: normal;
}

#usernav .usernav-fontsize ul {
  overflow: visible;
}

#usernav .usernav-fontsize li {
  position: relative;
  display: table-cell;
  padding-left: 0;
  vertical-align: bottom;
  line-height: .8;
}

#usernav .usernav-fontsize li:before {
  opacity: 0;
  position: absolute;
  top: -8px;
  left: 50%;
  width: 20px;
  height: 2px;
  margin-left: -10px;
  background: #ef242d;
  content: "";
}

#usernav .usernav-fontsize li.on:before {
  opacity: 1;
}

#usernav .usernav-fontsize a {
  display: block;
  height: 100%;
  padding: 4px 5px;
}

#usernav .usernav-fontsize a:before {
  content: "A";
}

#usernav .usernav-fontsize span {
  display: none;
}

#usernav #fontsize-normal a {
  padding: 5px 8px;
}

#usernav #fontsize-enlarge {
}

#usernav #fontsize-enlarge a:before {
  font-size: 1.5em;
}

/* ---- Voice ---- */

#usernav .usernav-voice {
}

/* ---- User Navi List ---- */

#usernav .usernav-link {
  margin-left: 0;
}

#usernav .usernav-link:before {
  display: none;
}

#usernav .usernav-link li {
  position: relative;
  margin-left: 15px;
  padding-left: 15px;
}

#usernav .usernav-link .web-ticket {
  padding: 5px;
}

#usernav .usernav-link .web-ticket:before {
  display: none;
}

/* ---- Language ---- */

/*
#usernav .usernav-lang {
  margin-left: 20px;
  color: #fff;
}

#usernav .usernav-lang li {
  margin-left: 1px;
  padding-left: 0;
}

#usernav .usernav-lang a {
  display: block;
  padding: 10px 18px;
  background: #022d92;
}

#usernav .usernav-lang a:hover {
  opacity: .7;
}
*/

#usernav .usernav-menu:before {
  display: none;
}

#usernav .usernav-menu {
  outline: none !important;
  transition: all .5s ease;
  position: relative;
  display: inline-block;
  *display: inline;
  *zoom: 1;
  height: 100%;
  margin: 0;
  padding: 0;
  background-color: #fff;
  text-align: left;
}

#usernav .usernav-menu .menu-btn,
#usernav .usernav-menu .menu-list {
  border: 1px solid #fff;
}

#usernav .usernav-menu .menu-btn {
  border-bottom-width: 0;
}

#usernav .usernav-menu .menu-list {
  border-top-width: 0;
}

#usernav .usernav-menu.on .menu-btn,
#usernav .usernav-menu.on .menu-list {
  border-color: #eee;
}

/* -- Menu Button -- */

#usernav .usernav-menu .menu-btn {
  transition: background-color .2s ease-in-out;
  cursor: pointer;
  display: block;
  padding: 0 20px 0 0;
}

#usernav .usernav-menu .menu-btn:before {
  transform: rotate(135deg);
  position: absolute;
  top: 11px;
  right: 10px;
  z-index: 20;
  width: 8px;
  height: 8px;
  margin: 0;
  border-radius: 0;
  border-style: solid;
  border-width: 1px 1px 0 0;
  border-color: #000 #000 transparent transparent;
  content: "";
}

#usernav .usernav-menu.on .menu-btn:before {
  top: 15px;
  transform: rotate(-45deg);
}

#usernav .usernav-menu .menu-btn a {
  display: block;
  padding: 7px 10px;
}


/* -- Menu List -- */

#usernav .usernav-menu .menu-list {
  display: none;
  padding: 0;
  list-style: none;
  overflow: hidden;
  position: absolute;
  left: 0;
  z-index: 1000;
  background-color: #fff;
  width: 100%;
  margin: 0;
  max-height: 144px;
  overflow-y: auto;
}

#usernav .usernav-menu .menu-list li {
  transition: background-color .2s ease-in-out;
  cursor: pointer;
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
}

#usernav .usernav-menu .menu-list a {
  transition: color .2s ease-in-out;
  display: block;
  width: 100%;
  padding: 7px 10px;
}

#usernav .usernav-menu.on .menu-btn:hover,
#usernav .usernav-menu.on .menu-list li:hover {
  background-color: #f6f6f6;
}

#usernav .usernav-menu.on .menu-btn a:hover,
#usernav .usernav-menu.on .menu-list a:hover {
  color: #022d92;
}

/* ---- Menu Search ---- */

.header-search-section .search-form {
  position: relative;
}

.header-search-section .search-form .search-input {
  width: 100%;
  height: 70px;
  padding-left: 20px;
  padding-right: 60px;
  border-width: 0;
  box-shadow: none;
  background: #fff;
  color: #222;
  font-size: 1.2em;
  line-height: 64px;
}

.header-search-section .search-form .search-btn {
  overflow: hidden;
  transition: background .4s ease-in-out,opacity .4s ease-in-out;
  position: absolute;
  top: 1px;
  right: 1px;
  width: 60px;
  height: 69px;
  padding: 0;
  border-radius: 0 2px 2px 0 !important;
  border: none;
  background: url(/common/img/icn-search.png) no-repeat center #fff;
  background-size: 28px;
  text-indent: 300px;
  line-height: 300px;
  white-space: nowrap;
  cursor: pointer;
}

/* -------- Scroll Navi (onlyPC) -------- */

.display-pc #header.scroll .inner {
  max-width: 1200px;
  /*height: 62px;*/
  padding: 0;
}

.display-pc #header.scroll #logo a {
  transition: top .4s ease-in-out,opacity .4s ease-in-out;
  background: url(/common/img/logo-sp.png) no-repeat center center;
  background-size: 100px;
}

.display-pc #header.scroll #logo a {
  position: fixed;
  top: 0;
  z-index: 55;
  overflow: hidden;
  width: 100%;
  width: 120px;
  height: 62px;
  margin: 0 0 0 -35px;
  padding: 0;
}

.display-pc #header #logo a img {
  transition: none;
  opacity: 1;
}

.display-pc #header.scroll #logo a img {
  opacity: 0;
}

.display-pc #header.scroll #gnav {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 50;
  box-shadow: 2px 2px 2px rgba(221,221,221,.8);
  background: #fff;
}

.display-pc #header.scroll #gnav .menu-list > ul {
  display: table;
  width: 1200px;
  height: 62px;
  margin: 0;
  padding: 0 0 0 142px;
}

.lang-e.display-pc #header.scroll #gnav .menu-list > ul {
  text-align: left;
}

.display-pc #header.scroll #gnav .menu-list > ul > li {
  float: none;
  display: table-cell;
  vertical-align: middle;
}

.lang-e.display-pc #header.scroll #gnav .menu-list > ul > li {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  text-align: center;
}

.display-pc #header.scroll #gnav .menu-list > ul > li > a,
.display-pc #header.scroll #gnav .menu-list > ul > li > p > a {
  height: auto;
  padding: 16px 0;
}

/* -- Parts Setting -- */

.display-pc #header.scroll #gnav .menu-list > ul > li.menu-archives {
  width: 150px;
  white-space: nowrap;
}

.display-pc #header.scroll #gnav .menu-list > ul > li.menu-about .menu-sub:before {
  left: 25%;
}

.display-pc #header.scroll #gnav .menu-list > ul > li.menu-archives .menu-sub:before {
  left: 17%;
}

.display-pc #header.scroll #gnav .menu-list > ul > li.menu-community .menu-sub:before {
  left: 22%;
}

.display-pc #header.scroll #gnav .menu-list > ul > li.menu-support .menu-sub:before {
  left: 21%;
}

.display-pc #header.scroll #gnav .menu-list > ul > li.menu-subscriber .menu-sub:before {
  left: 27%;
}

/* -- Language English -- */

.display-pc.lang-e #header.scroll #logo a {
  background-image: url(/common/img/logo-e.png);
  background-size: 60px;
}

.lang-e.display-pc #header.scroll #gnav .menu-list > ul > li.menu-concert {
  width: 100px;
}

.lang-e.display-pc #header.scroll #gnav .menu-list > ul > li.menu-ticket {
  width: 100px;
}

.lang-e.display-pc #header.scroll #gnav .menu-list > ul > li.menu-ticket .menu-sub:before {
  left: 20%;
}

.lang-e.display-pc #header.scroll #gnav .menu-list > ul > li.menu-member {
  width: 190px;
}

.lang-e.display-pc #header.scroll #gnav .menu-list > ul > li.menu-member .menu-sub:before {
  left: 39%;
}

.lang-e.display-pc #header.scroll #gnav .menu-list > ul > li.menu-about {
  width: 130px;
}

.lang-e.display-pc #header.scroll #gnav .menu-list > ul > li.menu-about .menu-sub:before {
  left: 19%;
}

.lang-e.display-pc #header.scroll #gnav .menu-list > ul > li.menu-archives {
  width: 160px;
}

.lang-e.display-pc #header.scroll #gnav .menu-list > ul > li.menu-archives .menu-sub:before {
  left: 20%;
}

/* -- Animation -- */

.display-pc #header.scroll #logo a,
.display-pc #header.scroll #gnav {
  top: -200px;
  top: 0\9;
  animation: hdrfx 1s ease 0s 1 forwards;
}

/* IE10 */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .display-pc #header.scroll #logo a,
  .display-pc #header.scroll #gnav {
    top: -200px;
  }
}

@keyframes hdrfx {
  100% {
    top: 0;
  }
}


/*  Content Settings
--------------------------------------------- */

#content {
}

.main-content-inner {
  padding-top: 0;
}

/*  Content Top
----------------------------------- */

#content-top {
}

/*  Content Main
----------------------------------- */

#content-main {
  overflow: hidden;
  width: 100%;
  min-height: 30vh;
  padding-top: 40px;
}

#content-main > .inner {
  padding-top: 20px;
  padding-bottom: 80px;
}

/*  Footer Setting
--------------------------------------------- */

#footer {
  z-index: 10;
  width: 100%;
  color: #fff;
}

#footer .inner {
  font-size: .9em;
}

#footer p,
#footer ul {
  margin-bottom: 0;
  padding-left: 0;
}

#footer-top {
  background: #222;
}

#footer-top .inner {
  padding: 50px 0 60px;
}

#footer-top .section-half.float-left {
  width: 45%;
}

#footer-top .section-half.float-right {
  width: 55%;
}

#footer-bottom {
  background: #fff;
  color: #000;
}

#footer-bottom .inner {
  padding: 30px 0 80px;
}

/* ---- Footer Navi ---- */

#footernav {
  background: #313131;
}

#footernav .inner {
  padding: 20px 0;
  text-align: center;
}

#footernav .menu-list li {
  display: inline-block;
  *display: inline;
  *zoom: 1;
  vertical-align: top;
}

#footernav .menu-list li:before {
  padding-left: 2px;
  padding-right: 5px;
  content: "|";
}

#footernav .menu-list li:first-child:before {
  display: none;
}

#footernav .menu-list a {
  padding: 5px;
}

#footernav .menu-list a:hover {
  opacity: .6;
  text-decoration: none;
}

/* ---- Footer Logo ---- */

#footer-logo {
}

.lang-e #footer-logo {
  margin-bottom: 1.5em;
}

/* ---- Address ---- */

#footer-address {
  letter-spacing: .05em;
}

#footer-address h3 {
  margin: 1.8em 0 1em;
}

#footer-address h3 a {
  text-decoration: underline;
}

#footer-address .list-dl-contact {
  margin: 0 0 1.5em;
}

#footer-address .list-dl-contact li {
  padding: 0;
}

#footer-address .list-dl-contact dl dt {
  width: 80px;
  font-weight: normal;
}

#footer-address .list-dl-contact dl dd {
  padding-left: 80px;
}

/* ---- Info ---- */

#footer-info {
  margin: 0;
  padding: 35px;
  border: 1px solid #535353;
  font-weight: bold;
  letter-spacing: .02em;
  line-height: 1.8;
}

#footer-info .list {
  margin: 0;
}

#footer-info ul {
  padding-left: 1em !important;
}

#footer-info li {
  margin-top: 1.5em;
}

#footer-info li:first-child {
  margin-top: 0;
}

#footer-info li:before {
  margin-right: 8px;
  margin-left: -.8em;
  background: #fff;
  vertical-align: 4px;
}

/* ---- Copyright ---- */

#copyright {
  display: block;
  font-size: .85em;
  text-align: center;
  line-height: 1.7;
}


/* ---- Page Top ---- */

#pagetop {
  visibility: hidden;
  opacity: 0;
  display: none\9;
  transition: opacity .3s ease-in-out,visibility .3s ease-in-out,z-index .3s ease-in-out;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translate3d(0,0,0);
  transform: translate3d(0, 0, 0);
  overflow: hidden;
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: -2;
  width: 58px;
  height: 58px;
}

#pagetop.show {
  opacity: 1;
  display: block\9;
  z-index: 10;
  visibility: visible;
}

#pagetop.fxd {
}

#pagetop a {
  display: block;
  position: relative;
  top: auto;
  left: auto;
  overflow: hidden;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 2px solid #222;
  background: #222;
  border-radius: 100%;
}

#pagetop a:before {
  display: block;
  border-radius: 1px;
  overflow: hidden;
  transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 16px;
  margin-top: -4px;
  margin-left: -8px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  content: "";
}

#pagetop a:hover {
  background-color: transparent;
}

#pagetop a:hover:before {
  border-top-color: #222;
  border-right-color: #222;
}

#pagetop a span {
  display: none;
}

#pagetop.show a:hover {
  border-color: #fff;
  background-color: transparent;
}

#pagetop.show a:hover:before {
  border-top-color: #fff;
  border-right-color: #fff;
}

#pagetop.show.fxd a:hover {
  border-color: #222;
  background-color: transparent;
}

#pagetop.show.fxd a:hover:before {
  border-top-color: #222;
  border-right-color: #222;
}



/*  Overlay Setting
--------------------------------------------- */

#overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 50;
  background: rgba(0,0,0,.6);
}
