/* clearfix
----------------------------------------------------------------------------------------------------*/
.clearfix:after {
	content:"";
	display:block;
	clear:both;
}



/* Font
----------------------------------------------------------------------------------------------------*/
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
	body {
		-webkit-font-smoothing:antialiased;
		-moz-osx-font-smoothing:grayscale;
	}
}

/* Basic
----------------------------------------------------------------------------------------------------*/
html {
	background-color: #FFF;
	min-height: 100%;
	min-width: 960px;
	position: relative;
	overflow-y: hidden;
}
body {
	background-color: #FFF;
	height: 100%;
	width: 100%;
	color: #000;
	word-wrap: break-word;
	overflow: hidden;
}
body.noscroll {
}

a:link { color: #000; text-decoration: none; }
a:visited { color: #000; text-decoration: none; }
a:hover { color: #000; text-decoration: none; }
a:active { color: #000; text-decoration: none; }
.LinkLine a:link, .LinkLine a:visited, a:link.LinkLine, a:visited.LinkLine { text-decoration: underline; }
.LinkLine a:hover, .LinkLine a:active, a:hover.LinkLine, a:active.LinkLine { text-decoration: none; }

.Fleft { float: left !important; }
.Fright { float: right !important; }
.Fnone { float: none !important; }

.TextLeft { text-align: left !important; }
.TextCenter { text-align: center !important; }
.TextRight { text-align: right !important; }

.mb0 { margin-bottom: 0px !important; }
.mb5 { margin-bottom: 5px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb15 { margin-bottom: 15px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb25 { margin-bottom: 25px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb35 { margin-bottom: 35px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb45 { margin-bottom: 45px !important; }
.mb50 { margin-bottom: 50px !important; }

.mt0 { margin-top: 0px !important; }
.mt5 { margin-top: 5px !important; }
.mt10 { margin-top: 10px !important; }
.mt15 { margin-top: 15px !important; }
.mt20 { margin-top: 20px !important; }
.mt25 { margin-top: 25px !important; }
.mt30 { margin-top: 30px !important; }
.mt35 { margin-top: 35px !important; }
.mt40 { margin-top: 40px !important; }
.mt45 { margin-top: 45px !important; }
.mt50 { margin-top: 50px !important; }

.pb0 { padding-bottom: 0px !important; }
.pb5 { padding-bottom: 5px !important; }
.pb10 { padding-bottom: 10px !important; }
.pb15 { padding-bottom: 15px !important; }
.pb20 { padding-bottom: 20px !important; }
.pb25 { padding-bottom: 25px !important; }
.pb30 { padding-bottom: 30px !important; }
.pb35 { padding-bottom: 35px !important; }
.pb40 { padding-bottom: 40px !important; }
.pb45 { padding-bottom: 45px !important; }
.pb50 { padding-bottom: 50px !important; }

.pt0 { padding-top: 0px !important; }
.pt5 { padding-top: 5px !important; }
.pt10 { padding-top: 10px !important; }
.pt15 { padding-top: 15px !important; }
.pt20 { padding-top: 20px !important; }
.pt25 { padding-top: 25px !important; }
.pt30 { padding-top: 30px !important; }
.pt35 { padding-top: 35px !important; }
.pt40 { padding-top: 40px !important; }
.pt45 { padding-top: 45px !important; }
.pt50 { padding-top: 50px !important; }

/* BlogCode */
.BlogCode {}
.BlogCode p, .BlogCode ul, .BlogCode ol, .BlogCode table { margin-top: 1em; }
.BlogCode ul, .BlogCode ol { margin-left: 1.5em; }
.BlogCode li { list-style-position: outside; }
.BlogCode ul { list-style-type: disc; }
.BlogCode ol { list-style-type: decimal; }
.BlogCode a { color: #38ade5; font-weight: 500; }
.BlogCode strong, .BlogCode b { font-weight: 500; }
.BlogCode img {}
.BlogCode .Fright { float: right; margin-left: 38px; margin-bottom: 1em; }

/* JavaScript */
.OverOpacity,
.OverOpacityGroup a {
	opacity: 1;
	
	-webkit-transition: all 0.3s ease 0s;
	-moz-transition: all 0.3s ease 0s;
	-ms-transition: all 0.3s ease 0s;
	-o-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}
.OverOpacity:hover,
.OverOpacityGroup a:hover { opacity: 0.5; }


/* Option
----------------------------------------------------------------------------------------------------*/
/* animation */
.Anime {
	-moz-transition: -moz-all 0.3s linear;
	-webkit-transition: -webkit-all 0.3s linear;
	-o-transition: -o-all 0.3s linear;
	-ms-transition: -ms-all 0.3s linear;
	transition: all 0.3s linear;
}

/* OverOpacity */
.OverOpacity { opacity: 1; }
.OverOpacity:hover { opacity: 0.6; }

/* BoxSizing */
.bs {
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
}


/* Loading
----------------------------------------------------------------------------------------------------*/
#Loading {
	position: fixed;
	top: 0px; left: 0px;
	width: 100%; height: 100%;
	background-color: #FFF;
	z-index: 6000;
	overflow-y: scroll;
}
#ISloading {
	position: relative;
	clear: both;
	width: 100%;
	height: 50px;
}
#Grid.loading #infscr-loading { display: block !important;}
#infscr-loading { position: absolute; left: 0; bottom: 30px; clear: both; width: 100%; }
#infscr-loading img { display: none; }
#infscr-loading .ISmessage { clear: both; width: 100%; text-align: center; }

#Loading .loader,
#ISloading .loader {
  position: absolute;
  width: 40px; height: 40px;
  top: 50%; left: 50%;
  margin: -20px 0 0 -20px;
}
#Loading .loader:before,
#ISloading .loader:before {
  content: '';
  display: block;
  padding-top: 100%;
}

#Loading .circular,
#ISloading .circular {
  -webkit-animation: rotate 2s linear infinite;
          animation: rotate 2s linear infinite;
  height: 100%;
  -webkit-transform-origin: center center;
          transform-origin: center center;
  width: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}

#Loading .path,
#ISloading .path {
  stroke-dasharray: 1, 200;
  stroke-dashoffset: 0;
  -webkit-animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
          animation: dash 1.5s ease-in-out infinite, color 6s ease-in-out infinite;
  stroke-linecap: round;
  stroke: #000;
}

@-webkit-keyframes rotate {
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes rotate {
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@-webkit-keyframes dash {
  0% {
    stroke-dasharray: 1, 200;
    stroke-dashoffset: 0;
  }
  50% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -35px;
  }
  100% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -124px;
  }
}
@keyframes dash {
  0% {
    stroke-dasharray: 1, 200;
    stroke-dashoffset: 0;
  }
  50% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -35px;
  }
  100% {
    stroke-dasharray: 89, 200;
    stroke-dashoffset: -124px;
  }
}
@-webkit-keyframes color {
  100%,
  0% {
    stroke: #000;
  }
  40% {
    stroke: #000;
  }
  66% {
    stroke: #000;
  }
  80%,
  90% {
    stroke: #000;
  }
}
@keyframes color {
  100%,
  0% {
    stroke: #000;
  }
  40% {
    stroke: #000;
  }
  66% {
    stroke: #000;
  }
  80%,
  90% {
    stroke: #000;
  }
}

/*
#Loading:before {
	content: '';
	display: block;
	position: absolute;
	top: 50%; left: 50%;
	background: url(../images/icon_loading.png) no-repeat center center;
	background-size: 36px 38px;
	width: 38px; height: 38px;
	margin: -19px 0 0 -19px;
	animation: icon 2s linear infinite;
}
@keyframes icon {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}
*/

#Loading:after {
	content: '';
	display: block;
	position: absolute;
	top: 50%; left: 0;
	background: url(../images/loading_text.png) no-repeat center top;
	background-size: auto 16px;
	width: 100%; height: 16px;
	margin: 35px 0 0 0;
}
#ISloading:after {
	font-family: "Open Sans", "Noto Sans Japanese", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", YuGothic, "游ゴシック", "メイリオ", sans-serif;
	font-size: 10px;
	text-align: center;
	font-weight: 700;
	content: 'LOADING...';
	display: block;
	position: absolute;
	top: 50%; left: 0;
	width: 100%; height: 12px;
	margin: 30px 0 0 0;
}


/* Header
----------------------------------------------------------------------------------------------------*/
#Header {
	width: 100%;
	padding: 50px 0 20px;
	text-align: center;
}
#Header .Logo {
	font-size: 20px;
	line-height: 1;
}


/* MemberList
----------------------------------------------------------------------------------------------------*/
#MemberList {
	text-align: center;
	line-height: 1;
	margin: 0 auto 48px;
}
#MemberList ul {
	list-style: none;
}
#MemberList li,
#Member li {
	display: inline-block;
	white-space: nowrap;
	font-size: 16px;
	margin-top: 30px;
	padding: 0 15px 0 0;
}
#MemberList li:after,
#Member li:after {
	font-size: 28px;
	font-weight: bold;
}
#MemberList li:after {
	content: ' /';
}
#MemberList li strong,
#Member li strong {
	position: relative;
	font-size: 28px;
}
#MemberList li strong:after,
#Member li strong:after,
#Member dl dt:after,
#Menu li a:after {
	content: '';
	display: block;
	position: absolute;
	width: 100%;
	height: 1px;
	bottom: 4px; left: 0;
	background-color: #000;
	
	-moz-transition: -moz-all 0.1s ease-out;
	-webkit-transition: -webkit-all 0.1s ease-out;
	-o-transition: -o-all 0.1s ease-out;
	-ms-transition: -ms-all 0.1s ease-out;
	transition: all 0.1s ease-out;
}
#Member li strong:after,
#Member dl dt:after {
	height: 2px;
	bottom: 2px;
}
#Menu li a:after {
	height: 2px;
	bottom: -4px;
}
#MemberList li strong span,
#Member li strong span {
	font-size: 14px;
}
#Member li a:hover strong:after,
#MemberList li a:hover strong:after,
#Member dl:hover dt:after,
#Menu li a:hover:after  {
	width: 0.01%;
	right: 0;
	left: auto;
}
#Member li { display: block; text-align: center; }




/* Footer
----------------------------------------------------------------------------------------------------*/
#Footer {
	position: relative;
	text-align: center;
	padding: 60px 0 30px;
	padding: 16px 0 24px;
}
#PROFILE #Footer,
#CONTACT #Footer,
#RECRUIT #Footer,
#NOTICE #Footer {
	padding: 54px 0 24px;
}

#Footer .Copyright {
	font-size: 10px;
	line-height: 1;
}


/* ScrollTop
----------------------------------------------------------------------------------------------------*/
#ScrollTop {
	position: fixed;
	right: 25px; bottom: 25px;
	text-align: center;
	z-index: 5000;
	opacity: 0;
	
	-moz-transition: -moz-all 0.3s ease-out;
	-webkit-transition: -webkit-all 0.3s ease-out;
	-o-transition: -o-all 0.3s ease-out;
	-ms-transition: -ms-all 0.3s ease-out;
	transition: all 0.3s ease-out;
}
#ScrollTop.showUI {
	opacity: 1;
}
#ScrollTop a {
	display: inline-block;
	padding-top: 24px;
	background: url(../images/icon_pagetop.png) no-repeat center top;
	background-size: 20px auto;
	font-size: 12px;
	line-height: 1;
}
#ScrollTop a:hover {
	opacity: 0.5;
}


/* SideMenu
----------------------------------------------------------------------------------------------------*/
#MemberBtn,
#MenuBtn {
	position: fixed;
	top: 0;
	display: table;
	width: auto; height: 100vh;
	text-align: center;
	vertical-align: middle;
	padding: 0;
	font-weight: bold;
	z-index: 5000;
	font-size: 12px;
	
	-moz-transition: -moz-all 0.3s ease-out;
	-webkit-transition: -webkit-all 0.3s ease-out;
	-o-transition: -o-all 0.3s ease-out;
	-ms-transition: -ms-all 0.3s ease-out;
	transition: all 0.3s ease-out;
}
#MemberBtn a,
#MenuBtn a {
	display: table-cell;
	height: 100%;
	width: 80px;
	text-align: center;
	vertical-align: middle;
}
#MemberBtn a:hover,
#MenuBtn a:hover {
	opacity: 0.5
}
#MemberBtn {
	left: 0;
	left: -80px;
}
#MenuBtn {
	right: 0;
	right: -80px;
}
body.showUI #MemberBtn {
	left: 0;
}
body.showUI #MenuBtn {
	right: 0;
}
#MemberBtn a:before,
#MenuBtn a:before,
#MemberBtn a:after,
#MenuBtn a:after {
	position: absolute;
	content: '';
	background-color: #000;
	width: 20px;
	height: 2px;
	top: 50%;
	left: 50%;
	margin-left: -10px;
	
	-moz-transition: -moz-all 0.1s ease-out;
	-webkit-transition: -webkit-all 0.1s ease-out;
	-o-transition: -o-all 0.1s ease-out;
	-ms-transition: -ms-all 0.1s ease-out;
	transition: all 0.1s ease-out;
}
#MemberBtn a.close:before,
#MenuBtn a.close:before {
	margin-top: -20px;
}
#MemberBtn a.close:after,
#MenuBtn a.close:after {
	margin-top: -14px;
}
#MemberBtn a.open:before,
#MenuBtn a.open:before {
	transform: rotate(45deg);
	margin-top: -20px;
}
#MemberBtn a.open:after,
#MenuBtn a.open:after {
	transform: rotate(-45deg);
	margin-top: -20px;
}


/* Member
----------------------------------------------------------------------------------------------------*/
#Member,
#Menu {
	position: fixed;
	top: 0; right: -150%;
	z-index: 1000;
	width: 150%; height: 100%;
	overflow-y: auto;
	padding: 50px 0;
	opacity: 0;
	
	/*
	-moz-transition: -moz-all 0.5s ease-out;
	-webkit-transition: -webkit-all 0.5s ease-out;
	-o-transition: -o-all 0.5s ease-out;
	-ms-transition: -ms-all 0.5s ease-out;
	transition: all 0.5s ease-out;
	*/
	
	-moz-transition: -moz-opacity 0.3s ease-out, -moz-width 0.4s ease-out;
	-webkit-transition: -webkit-opacity 0.3s ease-out, -webkit-width 0.4s ease-out;
	-o-transition: -o-opacity 0.3s ease-out, -o-width 0.5s ease-out;
	-ms-transition: -ms-opacity 0.3s ease-out, -ms-width 0.4s ease-out;
	transition: opacity 0.3s ease-out, width 0.4s ease-out;
}
#Navi.menuberOpen #Member,
#Navi.menuOpen #Menu {
	right: 0;
	opacity: 1;
	width: 100%;
}
#Member dl {
	width: 600px;
	margin: 0 auto 35px;
	line-height: 28px;
	cursor: pointer;
}
#Member dl dt {
	position: relative;
	float: right;
	font-size: 28px;
	text-align: right;
}
#Member dl dt span {
	position: absolute;
	bottom: -22px; right: 0px;
	display: block;
	font-size: 16px;
	line-height: 1;
}
#Member dl dd {
	float: left;
	font-size: 14px;
	text-align: left;
}
#Navi {
	position: fixed;
	width: 100%; height: 100%;
	top: 0; left: -100%;
	z-index: 100;
	background-color: rgba(255,255,255,0.0);
	
	-moz-transition: -moz-background-color 0.3s ease-out;
	-webkit-transition: -webkit-background-color 0.3s ease-out;
	-o-transition: -o-background-color 0.3s ease-out;
	-ms-transition: -ms-background-color 0.3s ease-out;
	transition: background-color 0.3s ease-out;
}
#Navi.menuberOpen,
#Navi.menuOpen {
	left: 0;
	background-color: rgba(255,255,255,0.96);
}


/* Menu
----------------------------------------------------------------------------------------------------*/
#Menu {
	width: 50%;
	right: 150%;
	padding-top: 165px;
	text-align: center;
}
#Menu ul {
	margin: 0 auto;
	list-style: none;
}
#Menu li {
	font-size: 28px;
	line-height: 1;
	margin-bottom: 40px;
}
#Menu li a {
	position: relative;
	display: inline-block;
}
#Member li a.active,
#Menu li a.active {
	color: #DDD;
	font-weight: 800;
}
#Member li a.active strong:after,
#Menu li a.active:after {
	display: none;
}


/* Main
----------------------------------------------------------------------------------------------------*/
#Main,
#Other {
	text-align: center;
	width: 84.375%;
	margin: 0 auto;
}
#Main svg,
#Other svg {
	height:0;
	width: 0;
	position: absolute;
}


/* ProfileHead
----------------------------------------------------------------------------------------------------*/
#ProfileHead,
#NewsHead,
#SecretHead {
	text-align: center;
	line-height: 1;
	padding-top: 30px;
	margin-bottom: 60px;
}
#ProfileHead {
	position: relative;
	background: url(../images/profile_name_bg.png) no-repeat center bottom;
	background-size: 302px auto;
}
#NewsHead {
	background: url(../images/news_name_bg.png) no-repeat center bottom;
	background-size: 302px auto;
}
#NewsHead {
	padding-top: 0;
}
#ProfileHead .Job,
#SecretHead .Job {
	font-size: 12px;
}
#ProfileHead .Name,
#NewsHead .Name,
#SecretHead .Name {
	font-size: 77px;
	margin-bottom: 115px;
}
#ProfileHead .Name,
#SecretHead .Name {
	margin-top: 18px;
}
#NewsHead .Name {
	margin-top: 60px;
}
#DETAIL #ProfileHead .Name {
	font-size: 16px;
	margin-top: 29px;
	margin-bottom: 112px;
} 
#ProfileHead .Navi,
#NewsHead .Navi {
	width: 200px;
	font-size: 14px;
	font-weight: 600;
	margin: 0 auto;
	padding-bottom: 10px;
}
#NewsHead .Navi {
	width: 50px;
}
#ProfileHead .Navi ul,
#NewsHead .Navi ul {
	list-style: none;
}
#ProfileHead .Navi .Category,
#NewsHead .Navi .Year,
#NewsHead .Navi .Month {
	position: relative;
	float: left;
	list-style: none;
	background: url(../images/icon_profile_plus.png) no-repeat right 3px;
	background-size: 9px;
	padding-right: 15px;
	text-align: left;
}
#ProfileHead .Navi .Category:hover,
#NewsHead .Navi .Year:hover,
#NewsHead .Navi .Month:hover {
	background: url(../images/icon_profile_minus.png) no-repeat right 3px;
	background-size: 9px;
}
#ProfileHead .Navi .Category:after,
#ProfileHead .Navi .Category ul li a span:after,
#ProfileHead .Caution a:after,
#NewsHead .Navi .Year:after,
#NewsHead .Navi .Year ul li a span:after,
#NewsHead .Navi .Month:after,
#NewsHead .Navi .Month ul li a span:after,
#ProfileHead .Navi .Profile a:after {
	display: block;
	content: '';
	position: absolute;
	bottom: -3px; left: 0;
	width: 100%; height: 1px;
	background-color: #000;
	
	-moz-transition: -moz-all 0.1s ease-out;
	-webkit-transition: -webkit-all 0.1s ease-out;
	-o-transition: -o-all 0.1s ease-out;
	-ms-transition: -ms-all 0.1s ease-out;
	transition: all 0.1s ease-out;
}
#ProfileHead .Navi .Category:hover:after,
#NewsHead .Navi .Year:hover:after,
#NewsHead .Navi .Month:hover:after,
#ProfileHead .Navi .Profile a:hover:after {
	width: 0.01%;
	right: 0;
	left: auto;
}
#ProfileHead .Navi .Category .Selector > a,
#NewsHead .Navi .Year .Selector > a,
#NewsHead .Navi .Month .Selector > a,
#ProfileHead .Navi .Profile a {
	position: relative;
	z-index: 100;
}
#ProfileHead .Navi .Category ul,
#NewsHead .Navi .Year ul,
#NewsHead .Navi .Month ul {
	position: absolute;
	top: 0;
	left: -15px;
	z-index: 100;
	padding-top: 22px;
	overflow: hidden;
	display: none;
}
#ProfileHead .Navi .Category ul li,
#NewsHead .Navi .Year ul li,
#NewsHead .Navi .Month ul li {
	vertical-align: top;
}
#ProfileHead .Navi .Category ul li a,
#NewsHead .Navi .Year ul li a,
#NewsHead .Navi .Month ul li a {
	display: inline-block;
	position: relative;
	line-height: 32px;
	padding: 0 15px;
	background-color: #FFF;
}
#ProfileHead .Navi .Category ul li a span,
#ProfileHead .Caution a,
#NewsHead .Navi .Year ul li a span,
#NewsHead .Navi .Month ul li a span {
	position: relative;
	display: inline-block;
}
#ProfileHead .Navi .Category ul li a span:after,
#NewsHead .Navi .Year ul li a span:after,
#NewsHead .Navi .Month ul li a span:after {
	left: 0;
	bottom: 5px;
}
#ProfileHead .Navi .Category ul li a:hover span:after,
#ProfileHead .Caution a:hover:after,
#NewsHead .Navi .Year ul li a:hover span:after,
#NewsHead .Navi .Month ul li a:hover span:after {
	width: 0.01%;
	right: 0;
	left: auto;
}
#ProfileHead .Navi .Category ul li a.active,
#NewsHead .Navi .Year ul li a.active,
#NewsHead .Navi .Month ul li a.active,
#PROFILE #ProfileHead .Navi .Profile {
	font-weight: 800;
	opacity: 0.2;
	cursor: default;
}
#ProfileHead .Navi li.current-cat a,
#NewsHead .Navi li.current-cat a {
	color: #CCC;
	font-weight: 800;
	cursor: default;
}
#ProfileHead .Navi .Category ul li a.active span:after,
#NewsHead .Navi .Year ul li a.active span:after,
#NewsHead .Navi .Month ul li a.active span:after,
#ProfileHead .Navi li.current-cat a span:after,
#NewsHead .Navi li.current-cat a span:after,
#PROFILE #ProfileHead .Navi .Profile a:after {
	display: none !important;
	width: 0;
}
#ProfileHead .Navi .Profile,
#NewsHead .Navi .Month {
	float: right;
}
#ProfileHead .Caution {
	position: absolute;
	left: 0; bottom: -30px;
	width: 100%;
	font-size: 12px;
}


/* ProfileDetail
----------------------------------------------------------------------------------------------------*/
#ProfileDetail,
#ContactDetail,
#RecruitDetail,
#NoticeDetail {
	width: 100%;
	margin-top: 60px;
	margin: 0 auto;
	text-align: left;
}
#ProfileDetail dl,
#ContactDetail dl,
#RecruitDetail dl,
#NoticeDetail dl {
	margin-top: 45px;
}
#ProfileDetail dt,
#ProfileDetail dd,
#ContactDetail dt,
#ContactDetail dd,
#RecruitDetail dt,
#RecruitDetail dd,
#NoticeDetail dt,
#NoticeDetail dd {
	width: 48.148148148%;
	border-top: solid 1px #e5e5e5;
	padding-left: 16px;
	padding-right: 16px;
}
#ProfileDetail dt,
#ContactDetail dt,
#RecruitDetail dt,
#NoticeDetail dt {
	float: left;
	font-size: 15px;
	line-height: 1;
	font-weight: 700;
	padding-top: 24px;
}
#ProfileDetail dt.EN,
#ContactDetail dt.EN,
#RecruitDetail dt.EN,
#NoticeDetail dt.EN {
	font-size: 18px;
}
#ProfileDetail dd,
#ContactDetail dd,
#RecruitDetail dd,
#NoticeDetail dd {
	float: right;
	font-size: 13px;
	line-height: 1.85;
	font-weight: 300;
	padding-top: 20px;
}
#ProfileDetail dd a,
#ContactDetail dd a,
#RecruitDetail dd a,
#NoticeDetail dd a {
	position: relative;
}
#ProfileDetail dd a:after,
#ContactDetail dd a:after,
#RecruitDetail dd a:after,
#NoticeDetail dd a:after {
	display: block;
	content: '';
	position: absolute;
	bottom: -2px; left: 0;
	width: 100%; height: 1px;
	background-color: #000;
	
	-moz-transition: -moz-all 0.1s ease-out;
	-webkit-transition: -webkit-all 0.1s ease-out;
	-o-transition: -o-all 0.1s ease-out;
	-ms-transition: -ms-all 0.1s ease-out;
	transition: all 0.1s ease-out;
}
#ProfileDetail dd a:hover:after,
#ContactDetail dd a:hover:after,
#RecruitDetail dd a:hover:after,
#NoticeDetail dd a:hover:after {
	width: 0.01%;
	right: 0;
	left: auto;
}


/* DetailData
----------------------------------------------------------------------------------------------------*/
#DetailData {
	width: 100%;
	padding-bottom: 50px;
	border-bottom: solid 1px #e5e5e5;
	margin: 0 auot;
}
#DetailData .WorkTitle {
	font-size: 40px;
	line-height: 1.2;
	text-align: center;
	margin-bottom: 60px;
}
#DetailData .Cover {
	text-align: center;
	/*
	margin-bottom: 3.571428571%;
	*/
}
#DetailData .Cover img,
#DetailData .Image li img,
#NewsData .Cover li img {
	max-width: 100%;
	height: auto;
}
#DetailData .Cover.Movie,
#DetailData .Image li.Movie,
#NewsData .Cover li.Movie {
	position: relative;
	padding-top: 56.25%;
}
#DetailData .Cover.Movie {
	width: 100%;
}
#NewsData .Cover li.Movie,
#DetailData .Image li.Movie {
	width: 96.428571428%;
}
#DetailData .Cover.Movie iframe,
#DetailData .Image li.Movie iframe,
#NewsData .Cover li.Movie iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}
#DetailData .Image,
#NewsData .Cover {
	position: relative;
	width: 103.703703703%;
	margin-left: -3.7037037037%;
	list-style: none;
}
#DetailData .Image li,
#NewsData .Cover li {
	float: left;
	width: 96.428571428%;
	margin-left: 3.571428571%;
	text-align: center;
}
#DetailData .Image li {
	margin-top: 3.571428571%;
}
#NewsData .Cover li {
	margin-top: 0;
	margin-bottom: 3.571428571%;
}
#DetailData .Image li.half,
#NewsData .Cover li.half {
	width: 46.428571428%;
}
#DetailData .FreeArea,
#NewsData .EntryText {
	margin: 25px 18px 0;
	font-size: 14px;
	line-height: 1.72;
	font-weight: 300;
	text-align: left;
}
#DetailData .FreeArea p {
	margin-top: 1em;
}
#DetailData .FreeArea.Movie {
	text-align: center;
}
#DetailData .FreeArea.Movie iframe {
	margin-left: auto;
	margin-right: auto;
}
#DetailData .FreeArea.Movie p {
	text-align: center !important;
}
#NewsData .EntryText {
	margin-top: -15px;
}
#NewsData .EntryText p {
	margin-bottom: 1em;
}
#Other {
	margin-top: 60px;
}
#Other .OtherTitle {
	font-size: 16px;
	line-height: 1;
	margin-bottom: 30px;
}


/* NewsData
----------------------------------------------------------------------------------------------------*/
#NewsData {}
#NewsData .Entry {
	border-top: solid 1px #e5e5e5;
	padding-top: 43px;
	padding-bottom: 45px;
}
#NewsData .Entry .EntryDate {
	text-align: center;
	font-size: 14px;
	margin-bottom: 4px;
}
#NewsData .Entry .EntryTitle {
	text-align: center;
	font-size: 40px;
	font-weight: bold;
	margin-bottom: 43px;
}

#PageNavi {
	border-top: solid 1px #e5e5e5;
	padding: 35px 18px 64px;
	line-height: 1;
	font-size: 14px;
}
#PageNavi .wp-pagenavi {
	text-align: center;
	margin: 0 auto;
	list-style: none;
}
#PageNavi .Navi a {
	position: relative;
}
#PageNavi .wp-pagenavi a,
#PageNavi .wp-pagenavi span {
	position: relative;
	display: inline-block;
	margin: 0 6px;
	padding: 0 6px;
}
#PageNavi .wp-pagenavi span,
#PageNavi .wp-pagenavi li.current {
	font-weight: 800;
	opacity: 0.2;
}
#PageNavi .Navi a:after,
#PageNavi .wp-pagenavi a:after {
	display: block;
	content: '';
	position: absolute;
	bottom: -2px; left: 0;
	width: 100%; height: 1px;
	background-color: #000;
	
	-moz-transition: -moz-all 0.1s ease-out;
	-webkit-transition: -webkit-all 0.1s ease-out;
	-o-transition: -o-all 0.1s ease-out;
	-ms-transition: -ms-all 0.1s ease-out;
	transition: all 0.1s ease-out;
}
#PageNavi .Navi a:hover:after,
#PageNavi .wp-pagenavi a:hover:after {
	width: 0.01%;
	left: auto;
	right: 0;
}

/* secret */
#SECRET #PageNavi .wp-pagenavi {
	list-style: none;
}
#SECRET #PageNavi .wp-pagenavi li {
	list-style: none;
	display: inline;
}
#PageNavi .wp-pagenavi li.current {
	padding: 0 6px;
	margin: 0 6px;
}


/* SECRET
----------------------------------------------------------------------------------------------------*/
#SECRET #NewsData .Media {
	margin-bottom: 30px;
}
#SECRET #NewsData video,
#SECRET #NewsData audio {
	width: 100%;
	height: auto;
}
#SECRET #NewsData .Image {
	text-align: center;
}
#SECRET #NewsData .Image img {
	max-width: 100%;
	height: auto;
}


/* Contact
----------------------------------------------------------------------------------------------------*/
#CONTACT .Name,
#RECRUIT .Name,
#NOTICE .Name {
	font-size: 77px;
	line-height: 1;
	margin-top: 60px;
	margin-bottom: 87px;
}
#gmap {
	width: 100%;
	height: 240px;
}
#CONTACT .LinkMap {
	float: right;
	font-size: 13px;
	margin: 1em 0 0 1em;
	white-space: nowrap;
}
#CONTACT .Howto {
	margin-top: 1em;
}
#CONTACT .LinkMap a {
	position: relative;
	background: url(../images/icon_blank.png) no-repeat right 4px;
	background-size: 14px 11px;
	padding-right: 18px;
}
#CONTACT .LinkMap a:after {
	display: block;
	content: '';
	position: absolute;
	bottom: -2px; right: 0;
	width: 100%; height: 1px;
	background-color: #000;
	
	-moz-transition: -moz-all 0.1s ease-out;
	-webkit-transition: -webkit-all 0.1s ease-out;
	-o-transition: -o-all 0.1s ease-out;
	-ms-transition: -ms-all 0.1s ease-out;
	transition: all 0.1s ease-out;
}
#CONTACT .LinkMap a:hover:after {
	width: 0.01%;
}


/* RECRUIT
----------------------------------------------------------------------------------------------------*/
#RECRUIT {}
#RecruitDetail dd ul {
	list-style: none;
}
#RecruitDetail dd ul li {
	margin-bottom: 1em;
}
#RecruitDetail dd ul li .RecruitName {
	font-weight: normal;
	font-size: 1em;
}
#RecruitDetail dd ul li p {
	margin-left: 1em;
}


/* NOTICE
----------------------------------------------------------------------------------------------------*/
#NOTICE {}
#NoticeDetail dd .Caution {
	margin-top: 1em;
	font-size: 12px;
	line-height: 1.5;
}


/* Error
----------------------------------------------------------------------------------------------------*/
#ErrorData {
	margin: 100px 0;
}
#ErrorData header {
	line-height: 1;
}
#ErrorData .Code {
	font-size: 77px;
}
#ErrorData .Name {
	font-size: 24px;
	margin-top: 10px;
}
#ErrorData .Message {
	margin-top: 40px;
	font-size: 13px;
	line-height: 1.85;
}
#ErrorData .Message .EN {
	margin-top: 40px;
}
#ErrorData .Message .JA {
	margin-top: 1em;
}


/* Grid
----------------------------------------------------------------------------------------------------*/
#Grid {
	margin: 0 auto;
	list-style: none;
	text-align: left;
}
#Grid .grid-item,
#Grid .grid-sizer {
	width: 80px;
}

#Grid li img,
#Grid li .blur-ie image {
	width: 100%; height: auto;
}
#Grid .grid2 {
	width: 192px;
}
#Grid .grid3 {
	width: 304px;
}
#Grid .grid4 {
	width: 416px;
}
#Grid .grid5 {
	width: 528px;
}

#Grid li.stamp {
	float: left;
	position: absolute;
	margin-bottom: 48px;
}
#Grid li.grid-item {
	position: relative;
	float: left;
	margin-bottom: 48px;
	color: #FFF;
	font-size: 12px;
	line-height: 1.75;
}
#Grid li.grid-item a {
	text-decoration: none;
}
#Grid li.Image .Text {
	font-size: 13px;
	margin-top: 6px;
}
#Grid li.Blur {
	text-shadow: 0px 0px 5px #999;
}
#Grid li.Blur a {
	color: #FFF;
}

/* Data */
#Grid .Data {
	position: absolute;
	width: 100%; height: 100%;
	top: 0; left: 0;
	padding: 24px;
	z-index: 20;
	overflow: hidden;

	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-ms-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	transition: all 0.2s linear;
}
#Grid .Data p {
	margin-bottom: 1em;
}
#Grid .Data dl,
#Grid .Data p.Text {
	position: absolute;
	left: 24px; bottom: 18px;
	margin: 0;
	margin-right: 20px;
}
#Grid .Data dt {
	font-size: 16px;
	line-height: 1.125;
}
#Grid .Data dd {
	position: relative;
	font-size: 13px;
	line-height: 1.5;
	font-weight: normal;
	margin-top: 25px;
}
#Grid .Data dd:after {
	position: absolute;
	top: -12px; left: 0;
	display: block;
	content: '';
	width: 16px;
	height: 1px;
	background-color: #FFF;
}

#Grid li .Media img {
	vertical-align: top;
}
#Grid .Blur .Media {
	position: relative;
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 100% auto;
}

#Grid li.Blur .Media span,
#Grid li .blur-ie {
	display: block;
	position: absolute;
	top: 0; left:0; right:0; bottom:0;
	z-index: 10;
	
	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-ms-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	transition: all 0.2s linear;
}
#Grid li.Blur .Media span {
	background: inherit;
	filter: blur(5px) grayscale(70%);
	-webkit-filter: blur(5px) grayscale(70%);
	filter:progid:DXImageTransform.Microsoft.Blur(PixelRadius='5');
}
#Grid li:hover.Blur .Media span {
	filter: blur(0);
	-webkit-filter: blur(0);
	filter:progid:DXImageTransform.Microsoft.Blur(PixelRadius='0');
}
#Grid li.Blur .blur-ie {
	opacity: 1;
}
#Grid li:hover.Blur .blur-ie {
	opacity: 0;
}
#Grid li:hover.Blur .Data {
	opacity: 0;
}
#Grid li.Image .Media {
	opacity: 1;
	-moz-transition: -moz-all 0.2s ease-out;
	-webkit-transition: -webkit-all 0.2s ease-out;
	-o-transition: -o-all 0.2s ease-out;
	-ms-transition: -ms-all 0.2s ease-out;
	transition: all 0.2s ease-out;
}
#Grid li:hover.Image .Media {
	opacity: 0.5;
}
