@charset "utf-8";

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

　　共通設定

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


/*  全体　基本設定
---------------------------------------------*/

html,
body {
  width: 100%;
  height: 100%;
}

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


/*  PC・SP表示切り替え 共通設定
-------------------------- */

.mediaSP {
  display: none;
}


/*  画像 基本設定
-------------------------- */

img {
  transition: opacity .4s ease-in-out;
  vertical-align: top;
  border: none;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}


/*  リンク 基本設定
-------------------------- */

a {
  color: #444;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}

a:hover {
  color: #444;
  text-decoration: underline;
}

/*  フォーム 設定
-------------------------- */

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="password"],
button,
select,
textarea {
  border-radius: 0 !important;
  padding: 5px;
  background: #fff;
  font-size: 1em;
  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: 4px;
  padding: 0;
  font-size: 1.2em;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="password"],
input[type="submit"],
textarea {
  -webkit-appearance: none;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea,
select {
  border: 1px solid #bbb;
}

select {
  min-width: 200px;
  max-width: 100%;
  height: 30px;
  padding: 0;
}

textarea {
  resize: vertical;
  width: 100%;
  height: 120px;
  line-height: 1.6em;
}


/*　コンテナー　設定
---------------------------------------------*/

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

.jsNavActive #container.gt740 {
  width: 100% !important;
  position: relative !important;
  right: auto !important;
}

.boxInner {
  width: 1050px;
  min-width: 1050px;
  margin: 0 auto;
  text-align: left;
}


/*  ヘッダー 設定
---------------------------------------------*/

#header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99999;
  width: 100%;
  min-width: 1050px;
  background: #f2f2f2;
  font-weight: bold;
}

#header a {
  color: #444;
}

.gt740 #header {
  left: 0 !important;
}

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

#header #logo {
  overflow: hidden;
  height: 46px;
  padding: 11px 0 0;
  text-align: left;
}

#header #logo a {
  display: block;
  position: relative;
  transition: opacity .3s ease-in-out;
}

#header #logo a:hover {
  opacity: .7;
}

#header #logo h1,
#header #logo p {
  display: inline-block;
  *display: inline; /* IE7用 */
  *zoom: 1; /* IE7用 */
  position: relative;
  z-index: 2;
  vertical-align: middle;
}

#header #logo h1 img {
  width: 138px;
  height: auto;
}

#header #logo p {
  padding-left: 5px;
  color: #333;
  font-size: .85em;
}

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

#header #sitemenu {
}

#header #sitemenu #menu .boxMenuList li a {
  transition: opacity .4s ease-in-out;
}

#header #sitemenu #menu .boxMenuList li a:hover {
  opacity: .6;
}

/* -- Menu Button -- */

#header #sitemenu #gnavBtn {
  display: none;
}

/* -- Menu Content -- */

#header #sitemenu #menu {
  text-align: right;
}

.gt740 #header #sitemenu #menu {
  display: block !important;
  overflow: visible !important;
  height: auto !important;
}

#header #sitemenu .boxMenuList {
}

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

#header #sitemenu #gnav {
  height: 53px;
  background: #d40000;
}

#header #sitemenu #gnav .boxInner {
	position: relative;
	width: 1060px;
}

#header #sitemenu #gnav,
#header #sitemenu #gnav a {
  color: #fff;
}

/* -- Menu List -- */

#header #sitemenu #gnav ul {
  letter-spacing: -.40em;
}

#header #sitemenu #gnav li {
  display: inline-block;
  *display: inline; /* IE7用 */
  *zoom: 1; /* IE7用 */
  transition: background .3s ease-in-out;
  position: relative;
  height: 100%;
  width: 150px;
  color: #fff;
  font-size: .95em;
  font-weight: bold;
  letter-spacing: -.04em;
  line-height: 1.5em;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
}

/* -- List : Hover -- */

#header #sitemenu #gnav li:hover {
  background-color: #be0000;
}

/* -- Link -- */

#header #sitemenu #gnav li a {
  display: inline-block;
  *display: inline; /* IE7用 */
  *zoom: 1; /* IE7用 */
  position: relative;
  width: 100%;
  height: 100%;
  padding: 10px 6px;
  text-decoration: none;
}

#header #sitemenu #gnav li.mediaSP {
  display: none;
}

#header #sitemenu #gnav li a.podcast img {
  position: relative;
  top: 2px;
  height: 13px;
}

#header #sitemenu #gnav li a.youtube img {
  height: 15px;
}


/* -- Side Line -- */

#header #sitemenu #gnav li a:before,
#header #sitemenu #gnav li:last-child a:after {
  display: block;
  transition: all 0.2s ease-in-out;
  position: absolute;
  top: 12px;
  left: 0;
  bottom: 12px;
  width: 1px;
  border-left: 1px solid #840000;
  background: #e66969;
  content: "";
}

#header #sitemenu #gnav li:last-child a:after {
  left: auto;
  right: 0;
}

/* -- Side Line : Hover -- */

#header #sitemenu #gnav li:hover a:before,
#header #sitemenu #gnav li:last-child:hover a:after {
  border-left-color: #be0000;
  background-color: #be0000;
}

#header #sitemenu #gnav li:hover + li a:before {
  border-left-color: #d40000;
  background-color: #d40000;
}

#header #sitemenu #gnav li a:hover {
  opacity: 1 !important;
}

#header #sitemenu #gnav li a span {
  display: block;
  font-size: .7em;
  color: #ccc;
  line-height: 1.4em;
}

/* ------ Sub List Common Style ------ */

#header #sitemenu .menuSubList {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

#header #sitemenu .menuSubList .boxInner {
  text-align: right;
}

#header #sitemenu .menuSubList ul {
  letter-spacing: -.40em;
}

#header #sitemenu .menuSubList li {
  display: inline-block;
  *display: inline; /* IE7用 */
  *zoom: 1; /* IE7用 */
  transition: background .4s ease-in-out;
  position: relative;
  vertical-align: top;
  letter-spacing: normal;
  font-size: .91em;
  letter-spacing: 0em;
}

#header #sitemenu .menuSubList a {
  display: table-cell;
  width: auto;
  height: 46px;
  vertical-align: middle;
  text-align: center;
  text-decoration: none;
}

/* #header #sitemenu .menuSubList li.un01 a {width: 190px;}
#header #sitemenu .menuSubList li.un02 a {width: 95px;} */

#header #sitemenu .menuSubList a span {
  vertical-align: middle;
}

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

#header #sitemenu #usernav {
	padding-right: 10px;
}

#header #sitemenu #usernav li {
  position: relative;
  z-index: 2;
  background: #000;
}

#header #sitemenu #usernav li a {
  padding: 0 20px;
}

#header #sitemenu #usernav li:before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  border-left: 1px solid #777;
  background: #000;
  content: "";
}

#header #sitemenu #usernav li:first-child:before {
	border-left: none;
}

#header #sitemenu #usernav a {
  color: #fff;
}

/* ------ Site Navi ------ */

#header #sitemenu #sitenav {
}

#header #sitemenu #sitenav .boxInner {
	padding-right: 367px;
}

#header #sitemenu #sitenav ul {
}

#header #sitemenu #sitenav li {
  margin-left: 1px;
}

#header #sitemenu #sitenav a {
  width: 48px;
  background-repeat: no-repeat;
  background-position: center;
  background-color: #dadada;
}

#header #sitemenu #sitenav .icnTW a {
  background-image: url(../img/header/icn-social-tw.png);
}

#header #sitemenu #sitenav .icnFB a {
  background-image: url(../img/header/icn-social-fb.png);
}

#header #sitemenu #sitenav .icnSiteMap a {
  background-image: url(../img/header/icn-social-sitemap.png);
}

#header #sitemenu #sitenav span {
  display: none;
}

/* ------ Side Link ------ */
#header .sideLink {
  position: fixed;
  top: 200px;
  right: 0;
  width: 49px;
}

#header .sideLink :hover {
  background-color: #be0000;
  transition: background .3s ease-in-out;
}

#header .sideLink a {
  display: block;
  position: relative;
  padding: 34px 10px 18px;
  background-color: #d40000;
  font-size: 15px;
  color: #fff;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}

#header .sideLink a:hover {
  text-decoration: none;
}

#header .sideLink a:after {
  position: absolute;
  top: 17px;
  left: 50%;
  width: 17px;
  height: 12px;
  margin-left: -8px;
  content: "";
  background: url(../img/header/icn-sidelink-book.png) no-repeat;
  background-size: 100%;
}

/*  コンテンツ 設定
---------------------------------------------*/

#content {
  padding-top: 103px;
  padding-bottom: 613px;
}

#contentTop {
  position: relative;
  z-index: 0;
}


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

#contentMain {
  position: relative;
  z-index: 0;
  margin-top: -65px;
}

#contentMain img {
  max-width: 100%;
	height: auto;
}

#contentMain .boxInner {
  position: relative;
  padding: 35px 30px;
  background: #fff;
}

#contentMain .boxInner:before,
#contentMain .boxInner:after {
  position: absolute;
  top: 0;
  left: 12px;
  z-index: -1;
  width: 50%;
  height: 200px;
  box-shadow: -1px 18px 15px 12px #908c8c;
  -webkit-transform: skew(5deg);
  -moz-transform: skew(5deg);
  -o-transform: skew(5deg);
  content: "";
}

#contentMain .boxInner:after {
  right: 10px;
  left: auto;
  -webkit-transform: skew(-5deg);
  -moz-transform: skew(-5deg);
  -o-transform: skew(-5deg);
}

/*  Content Bottom
-----------------------------------*/

#contentBtm {
}

/*  2カラム 設定
-----------------------------------*/

/* ---- 2カラム・メインエリア ---- */

#main {
  float: left;
  width: 740px;
}

/* ---- 2カラム・サイドエリア ---- */

#side {
  float: right;
  width: 225px;
}



/*  フッター 設定
---------------------------------------------*/

#footer {
  position: absolute;
  left: 0;
  bottom: 0px;
  z-index: 100;
  width: 100%;
  height: 613px;
  width: 100%;
  line-height: 1.6em;
}

/* -------- フッター上部 -------- */

#footerTop {
  background: #000;
}

#footerTop,
#footerTop a {
  color: #fff;
  text-decoration: none;
}

#footerTop .boxInner {
  padding: 40px 0;
}

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

#footer .boxFooterLogo {
  display: block;
  width: auto;
  padding-bottom: 35px;
  font-size: .9em;
  font-weight: bold;
  text-align: center;
  line-height: 1.7em;
  letter-spacing: -.02em;
}

#footer .boxFooterLogo span {
  font-size: 1.2em;
}

#footer .boxFooterLogo img {
  width: 208px;
  height: auto;
  margin-bottom: 15px;
  padding-bottom: 2px;
	outline: none;
}

#footer .boxFooterLogo a {
  transition: opacity .4s ease-in-out;
  text-decoration: none;
	outline: none;
}

#footer .boxFooterLogo a:hover {
  opacity: .7;
	outline: none;
}

/* ---- Footer Nav ---- */

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

#footer .boxFooterNav a:hover {
  text-decoration: underline;
}

#footer .boxFooterNav > ul {
  margin-top: -20px;
  margin-left: -50px;
  letter-spacing: -.40em;
}

#footer .boxFooterNav > ul > li {
  display: inline-block;
  *display: inline; /* IE7用 */
  *zoom: 1; /* IE7用 */
  width: 25%;
  padding-top: 20px;
  padding-left: 50px;
  letter-spacing: normal;
  vertical-align: top;
}

#footer .boxFooterNav > ul > li > a {
  display: inline-block;
  *display: inline; /* IE7用 */
  *zoom: 1; /* IE7用 */
  padding-bottom: 5px;
  font-weight: bold;
}

#footer .boxFooterNav > ul > li > ul {
  padding: 12px 0;
  border-top: 1px solid #555;
  font-size: .95em;
  line-height: 1.9em;
  letter-spacing: -.02em;
}

/* -------- フッター下部 -------- */

#footerBtm {
  background: #fff;
}

#footerBtm .boxInner {
  padding: 15px 0 80px;
  text-align: center;
}

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

#footer  #copyright {
  display: block;
  float: left;
  font-size: .9em;
  line-height: 1.6em;
  letter-spacing: .05em;
}

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

#footer  #footerSiteNav {
  float: right;
  font-size: .9em;
  letter-spacing: -.08em;
}

#footer  #footerSiteNav li {
  display: inline-block;
  *display: inline; /* IE7用 */
  *zoom: 1; /* IE7用 */
}

#footer  #footerSiteNav li:before {
  border-left: 1px solid #444;
  margin: 0 12px;
  content: "";
}

#footer  #footerSiteNav li:first-child:before {
  display: none;
}

#footer  #footerSiteNav li a {
  color: #444;
}

#footer  #footerSiteNav li a:hover {
  text-decoration: underline;
}

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

#footer #pagetop {
  display: block;
  position: fixed;
  top: auto !important;
  right: 20px;
  bottom: 25px;
  z-index: 50;
  width: 46px;
  height: 46px;
}

#footer #pagetop a {
  display: block;
  position: relative;
  top: auto;
  left: auto;
  overflow: hidden;
  transition: opacity .3s ease-in-out;
  width: 100%;
  height: 100%;
  margin: 0;
  border-radius: 100%;
  background: #000;
}

#footer #pagetop a:before,
#footer #pagetop a:after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  margin-top: -14px;
  margin-left: -10px;
  border-top: 9px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 9px solid #fff;
  border-left: 10px solid transparent;
  border-radius: 3px;
  content: "";
}

#footer #pagetop a:after {
  margin-top: -12px;
  border-bottom-color: #000;
}

#footer #pagetop a:hover {
  opacity: .6;
}

#footer #pagetop a span {
  display: none;
}

/*  オーバーレイ 共通設定
--------------------------------------------- */

#overlay {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 888;
}
