/* Global ---------------------- */
*{
	margin:0;
	padding:0;
	font-size:100%;
}
html {
	height:100%;
}
body {
	margin: 0;
	padding: 0;
	border: 0;
	height:100%;
	line-height:1.3em;
	color:#000000;
	font-family: 'Questrial', sans-serif;
}
h1, h2, h3, h4, h5 {
	margin: 0;
	padding: 0;
	font-weight: normal;
}
img {border:0;}
ul {list-style-type:none;}
a {
	overflow:hidden;
	outline:none;
	color: #000000;
	text-decoration:none;
}
a:hover {color: #999999;}


/* Utilities ---------------------- */
.clearfix:after {
	content: ".";
	display: block;
	visibility: hidden;
	height: 0.1px;
	font-size: 0.1em;
	line-height: 0;
	clear: both;
}
.clearfix {
	zoom: 1;
}



/* Layout ---------------------- */
#container {
	margin:0;
	padding:0;
	/*margin-bottom: 202px;*/
	/*padding-bottom: 202px;*/
	text-align:left;
	width:100%;
	/*height: 100%;*/
	/*min-height: 100%;*/
	position: relative;
}
body > #container {
	height:auto;
}
#pagemain {
	margin-bottom:180px;
	background-color:#FFFFFF;
	/*box-shadow:0px 5px 5px 0px rgba(0,0,0,0.1);*/
	/*-moz-box-shadow:0px 5px 5px 0px rgba(0,0,0,0.1);*/
	/*-webkit-box-shadow:0px 5px 5px 0px rgba(0,0,0,0.1);*/

}
#container-inner {
	margin:0 auto;
	padding: 0 50px;
	/*padding-bottom: 314px;*/
	padding-bottom: 122px;
	/*max-width:1180px;*/
	max-width:1659px;
	position:relative;
}
#pagemain #container-inner {
	background-color:#FFFFFF;
}


/* Layout <Header> ---------------------- */
#header {
	margin:0;
	padding:40px 0 0 0;
	text-align: left;
	background-color:#FFFFFF;
	position: fixed;
	top:0;
	left:0;
	width: 100%;
	/*min-height: 100px;*/
	z-index: 100;
	overflow: hidden;
	-moz-transition: height 0.3s;
	-o-transition: height 0.3s;
	-webkit-transition: height 0.3s;
	transition: height 0.3s;
}
#header-inner {
	margin:0 50px;
}
#header #header_title {
	float:left;
	margin-right:24px;
	margin-bottom:40px;
}
#header #header_title  h1 {
	font-size:140%;
	letter-spacing: 0.2em;
	-moz-transition: font-size 0.3s;
	-o-transition: font-size 0.3s;
	-webkit-transition: font-size 0.3s;
	transition: font-size 0.3s;
}
#header #header_title.smaller  h1 {
	font-size:110%;
	letter-spacing: 0.2em;
}
#header #header_title  h1 a {
	color:#000000;
}

#header #g_navi {
	float:right;
	margin-right:75px;
	overflow:hidden;
}

#header #g_navi #g_menu {
	overflow:hidden;
	position: relative;
	margin-bottom:35px;
}
#header #g_navi ul#main_menu {
	/*margin: 0 0 40px 0;*/
	margin: 0;
	overflow:hidden;
	float:right;
}
#header #g_navi ul#main_menu  li {
	float:left;
	margin-left:28px;
	margin-bottom: 5px;
	letter-spacing: 0.2em;
	font-size: 85%;
}
#header #g_navi ul#main_menu  li.current a{
	/*display:block;
	border-bottom:1px solid #000000;
	padding:0 2px 5px 2px;*/
}
#header #g_navi #slide-line{
	position: absolute;
	bottom: 0;
	height: 1px;
	background-color:#000000;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
	margin-left:26px;
}

#header #g_navi #sub_menu {
	margin:0;
	overflow:hidden;
	float:right;
	clear:both;
	position: relative;
}
#header #g_navi #sub_menu ul li {
	float:left;
	margin-left:20px;
	letter-spacing: 0.2em;
	font-size: 65%;
}
#header #g_navi #sub_menu ul li.s_current a {
	/*border-bottom: 1px solid #000000;
	display: block;
	padding: 0 2px;*/
}
#header #g_navi #sub_menu #side-line {
	position: absolute;
	bottom: 0;
	height: 1px;
	background-color:#000000;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
	margin-left:20px;
}

#header #naviBtn {
	cursor: pointer;
	width:20px;
	height:20px;
	position: absolute;
	top:40px;
	right:50px;
}
#header #naviBtn span {
	display: block;
	position: absolute;
	text-indent: -9999px;
	top: 50%;
	left: 50%;
	width: 20px;
	height: 3px;
	margin: -1px 0 0 -7px;
	background: #000000;
	transition: .2s;
}
#header #naviBtn span:before, #header #naviBtn span:after{
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 20px;
	height: 3px;
	background: #000000;
	transition: .3s;
}
#header #naviBtn span:before{
	margin-top: -8px;
}
#header #naviBtn span:after{
	margin-top: 4px;
}
#header #naviBtn.open span {
	background: transparent;
}
#header #naviBtn.open span:before, #header #naviBtn.open span:after{
	margin-top: 0;
}
#header #naviBtn.open span:before{
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
}
#header #naviBtn.open span:after{
	transform: rotate(-135deg);
	-webkit-transform: rotate(-135deg);
}

/* Layout <Contents> ---------------------- */
/* 共通 */
#content {
	padding-top:107px;
}
#content-inner {
}


/* Layout <Footer> ---------------------- */
#footer {
	margin:0;
	padding:0;
	position:fixed;
	z-index:-10;
	bottom:0;
	width:100%;
	background-color:#efefef;
	color:#575757;
}
#footer #foot-inner {
	font-size:80%;
	text-align:center;
	padding:30px 0;
}
#footer #foot-inner .contact {
	background-repeat: no-repeat;
	background-position: left top;
	background-image: url("../images/contact.svg");
	background-size: contain;
	width:80px;
	height:80px;
	margin:0 auto 14px auto;
}
#footer #foot-inner .contact a {
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
	text-indent: -9999px;
}
#footer #foot-inner ul {
	margin-bottom:5px;
}
#footer #foot-inner ul li {
	margin-right:10px;
	background-repeat: no-repeat;
	background-position: left top;
	background-size: contain;
	display: inline-block;
}
#footer #foot-inner ul li.twitter {
	background-image: url("../images/twitter.svg");
	width:18px;
	height:13px;
}
#footer #foot-inner ul li.facebook {
	background-image: url("../images/facebook.svg");
	width:6px;
	height:14px;
}
#footer #foot-inner ul li.instagram {
	background-image: url("../images/instagram.svg");
	width:14px;
	height:14px;
	margin-right:4px;
}
#footer #foot-inner ul li.twitter:hover {
	background-image: url("../images/twitter_h.svg");
}
#footer #foot-inner ul li.facebook:hover {
	background-image: url("../images/facebook_h.svg");
}
#footer #foot-inner ul li.instagram :hover{
	background-image: url("../images/instagram_h.svg");
}
#footer #foot-inner ul li a {
	width:100%;
	height:100%;
	display:block;
	text-indent: -9999px;
	overflow:hidden;
}
#footer #foot-inner p.copyright {
	font-size:80%;
	letter-spacing: 0.1em;
}




/* Top */
body.top {
	background-repeat: no-repeat;
	background-position: center center;
	background-image: url("../img/top.jpg");
	background-size: cover;
	background-attachment: fixed;
}
body.top #container {
	padding-bottom:0;
}
body.top #header {
	background-color:transparent;
}
body.top #content {
	padding-top:0;
}
body.top #footer {
	padding-bottom:85px;
	background-color:transparent;
	position:fixed;
	/*position:absolute;*/
	z-index:0;
}
body.top #footer #foot-inner {
	text-align:right;
	max-width:1549px;
	margin:0 auto;
	padding:0 45px;
}
body.top #footer #foot-inner .ftRight {
	display:inline-block;
	text-align: center;
}
body.top #footer #foot-inner .contact {
	background-image: url("../images/contact_top.svg");
	width:52px;
	height:37px;
	margin:0 auto;
	/*padding: 0 4px 12px;*/
	display:block;
	background-size: auto;
}
body.top #footer #foot-inner .contact a {
}
body.top #footer #foot-inner ul  {
	clear:both;
	margin-top: 10px;
	margin-bottom: 0;
	padding-top:10px;
	border-top: 1px solid #000000;
}
body.top #footer #foot-inner ul li {
	float:left;
}
body.top #footer #foot-inner ul li.twitter {
	background-image: url("../images/twitter_top.svg");
	width:18px;
	height:13px;
}
body.top #footer #foot-inner ul li.facebook {
	background-image: url("../images/facebook_top.svg");
	width:6px;
	height:14px;
}
body.top #footer #foot-inner ul li.instagram {
	background-image: url("../images/instagram_top.svg");
	width:14px;
	height:14px;
}
body.top #footer #foot-inner ul li.twitter:hover {
	background-image: url("../images/twitter_top_h.svg");
}
body.top #footer #foot-inner ul li.facebook:hover {
	background-image: url("../images/facebook_top_h.svg");
}
body.top #footer #foot-inner ul li.instagram:hover {
	background-image: url("../images/instagram_top_h.svg");
}
body.top #footer #foot-inner ul li a {
}


/* index box */
#content #boxarea {
	padding-top:101px;
	margin-left:-5px;
}
#content #boxarea .box {
	float:left;
	height: 0;
	/*display:none;*/
}
#content #boxarea .box .box-inner {
	margin:0 0 5px 5px;
}
#content #boxarea .box .box-inner a {
	display:block;
	position: relative;
}
#content #boxarea .box .box-inner a img {
	width:100%;
	height:auto;
	display:none;
	bottom: -250px;
	position: relative;
	transform: scale(1.12);
	transition: opacity 0.35s ease 0s, transform 0.35s ease 0s;
}
#content #boxarea .box .box-inner a  p{
	background-color: rgba(0, 0, 0, 0.5);
	color:#FFFFFF;
	width: 100%;
	height:100%;
	position: absolute;
	bottom: 0px;
	-webkit-transition: all 1s;
	-moz-transition: all 1s;
	-ms-transition: all 1s;
	 -o-transition: all 1s;
	transition: all 1s;
	opacity: 0;
	background-repeat: no-repeat;
	background-position: center 80%;
	 background-image: url("../images/thumb_bc.svg");
}
#content #boxarea .box .box-inner a:hover img {
	transform: scale(1);
}
#content #boxarea .box .box-inner a:hover  p{
	opacity: 1;
}
#content #boxarea .box .box-inner a  p span{
	text-align:center;
	/*width: 232px;
	height:232px;
	display:table-cell;
	vertical-align:middle;*/
	width: 100%;
	display:block;
	padding-top:40%;
}
#content #boxarea figure{
	
}
#content #boxarea  figure figcaption{
	display:none;
}


/* Photo Area */
#content #photoarea {
	padding-top:61px;
	text-align:center;
}
#content #photoarea .photo {
	position:relative;
}
#content #photoarea .photo img {
	max-width:100%;
}
#content #photoarea .titleBlock {
	max-width:975px;
	margin: 25px auto 0;
	text-align: center;
}
#content #photoarea .titleBlock h2 {
	font-size:110%;
	letter-spacing: 0.2em;
}
#content #photoarea .titleBlock .txtBlock {
	float:right;
	text-align:left;
	margin: 20px 55px 0 0;
	font-size:80%;
	line-height:1.3em;
}

#content a#prev, #content a#next {
	cursor: pointer;
	display: block;
	margin-top: -30px;
	position:absolute;
	text-align: left;
	top: 50%;
	width: 14px;
	height: 23px;
	background-repeat: no-repeat;
	background-position: left top;
	background-size: contain;
}
#content a#prev  {
    background-image: url("../images/prevBtn.svg");
    left:0;
}
#content a#next {
    background-image: url("../images/nextBtn.svg");
    right:0;
}
#content a#prev span,#content a#next span {
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
	text-indent: -9999px;
}

/* News and Profile */
#content .articleBlock {
	padding:50px 0 100px 0;
	border-top: 1px solid #000000;
}
#content .articleBlock:first-child {
	border-top: none;
}
#content #profile .articleBlock {
	border-top: none;
}
#content .articleBlock .articleLeft {
	/*float: left;*/
	/*width:590px;*/
	width:100%;
}
#content .articleBlock .articleRight {
	float: right;
	/*width:590px;*/
	width:50%;
	min-width:425px;
	line-height: 1.8em;
	font-size: 95%;
}
#content .articleBlock .articleLeft h3 {
	font-size: 120%;
	width:50%;
}
#content #profile .articleBlock .articleLeft h3 {
	font-family: 'Questrial', sans-serif;
	letter-spacing: 0.1em;
}
#content .articleBlock .articleLeft h3::before {
	background-color: #000000;
	content: "";
	display: inline-block;
	height: 1px;
	width: 20px;
	margin: 0 30px 8px 0;
}
#content .articleBlock .articleLeft span.date {
	font-size: 80%;
	color:#898989;
	margin-left:50px;
	margin-top:15px;
	display: block;
	font-family: 'Questrial', sans-serif;
	letter-spacing: 0.1em;
}
#content .articleBlock .articleRight p {
}



/* Text Size ---------------------- */
body:first-of-type #container {
	font-size:100%;
}
div#container , x:-moz-broken, x:last-of-type {
	font-size:100% !important;
}
/* safari only ¥*/
html:¥66irst-child body {
	font-size:88%;
}
html*div#container {
	font-size:88%;
}


/* Media Queries ---------------------- */

@media screen and (max-width: 768px){
	/* SP style */
	#header {
		padding:15px 0 0 0;
	}
	#header #header-inner {
		margin:0 15px;
	}
	#header #naviBtn {
		top: 15px;
		right:15px;
	}
	#container {
		margin-bottom:180px;
	}
	#pagemain {
		overflow: hidden;
		background-color:transparent;
	}
	#pagemain #container-inner {
		padding:0 15px 50px 15px;
		margin-bottom: 180px
		/*min-width:572px;*/
	}
	#content {
		padding-top: 75px;
		overflow: hidden;
	}
	#content #boxarea {
		margin-left: -10px;
		padding-top: 0;
	}
	#content #boxarea .box {
		width:50%;
		margin:0;
		padding-bottom:50%;
	}
	#content #boxarea .box .box-inner {
		margin: 0 0 10px 10px;
	}
	#content #photoarea .titleBlock {
		text-align:left;
		
	}
	#content #photoarea .titleBlock h2 {
		margin-right: 0;
		
	}
	#content #photoarea .titleBlock .txtBlock {
		float:none;
	}
	#content a#prev, #content a#next {
		text-align: left;
		top: 0;
	}
	#content a#prev  {
		right:45px;
		left: unset;
	}
	#content a#next {
	}
}


/* menu */
@media only screen and (max-width: 950px) {
	.sp_on {
		display:block;
	}
	.pc_on {
		display:none;
	}
	
	body.top #header {
		float:none;
		-moz-transition: background 0.3s;
		-o-transition: background 0.3s;
		-webkit-transition: background 0.3s;
		transition: background 0.3s;
	}
	#header {
		/* 追加160901 */
		max-height: 100%;
		overflow-y: scroll;
	}
	#header #header_title {
		float:none;
		/*position:fixed;*//* 追加160901 */
	}
	#header #naviBtn {
		position:fixed;/* 追加160901 */
	}
	#header #naviBtn span:before{
		margin-top: -7px;
	}
	#header #g_navi {
		float:none;
		margin-right:0;
		/*padding-top: 40px;*//* 追加160901 */
	}
	#header #g_navi #g_menu {
		margin-bottom:40px;
	}
	#header #g_navi ul#main_menu {
		float:none;
	}
	#header #g_navi ul#main_menu > li {
		float:none;
		margin-left:0;
		margin-bottom:10px;
	}
	#header #g_navi ul#main_menu li.current a {
		border-bottom:none;
	}
	#header #g_navi ul#main_menu ul#sub_menu_s li {
		float:none;
		margin-left:15px;
	}
	#g_menu #sp-hmenu {
		overflow:hidden;
	}
	#g_menu #sp-hmenu .contact {
		background-repeat: no-repeat;
		background-position: left top;
		background-image: url("../images/contact_sp.svg");
		background-size: contain;
		width:96px;
		height:24px;
		float:left;
	}
	#g_menu #sp-hmenu .contact a {
		display: block;
		width: 100%;
		height: 100%;
		overflow: hidden;
		text-indent: -9999px;
	}
	#g_menu #sp-hmenu ul {
		margin-bottom:5px;
		float:right;
	}
	#g_menu #sp-hmenu ul li {
		margin-right:10px;
		background-repeat: no-repeat;
		background-position: left top;
		background-size: contain;
		display: inline-block;
	}
	#g_menu #sp-hmenu ul li.twitter {
		background-image: url("../images/twitter.svg");
		width:18px;
		height:13px;
	}
	#g_menu #sp-hmenu ul li.facebook {
		background-image: url("../images/facebook.svg");
		width:6px;
		height:14px;
	}
	#g_menu #sp-hmenu ul li.instagram {
		background-image: url("../images/instagram.svg");
		width:14px;
		height:14px;
		margin-right:4px;
	}
	#g_menu #sp-hmenu ul li.twitter:hover {
		background-image: url("../images/twitter_h.svg");
	}
	#g_menu #sp-hmenu ul li.facebook:hover {
		background-image: url("../images/facebook_h.svg");
	}
	#g_menu #sp-hmenu ul li.instagram :hover{
		background-image: url("../images/instagram_h.svg");
	}
	#g_menu #sp-hmenu ul li a {
		width:100%;
		height:100%;
		display:block;
		text-indent: -9999px;
		overflow:hidden;
	}
	#content {
		padding-top:100px;
	}
	#content .articleBlock .articleLeft h3 {
		width:100%;
	}
	#content .articleBlock .articleLeft h3::before {
		display:none;
	}
	#content .articleBlock .articleRight {
		width:100%;
		min-width: auto;
		float:none;
		padding-top:40px;
	}
}
@media screen and (min-width: 951px){
	.sp_on {
		display:none;
	}
	.pc_on {
		display:block;
	}
}

/* index box */
@media screen and (min-width: 769px) and (max-width: 950px){
	#content #boxarea .box {
		width: calc(100% / 3);
		padding-bottom: calc(100% / 3);
	}
}
@media only screen and (min-width: 951px) and (max-width: 1280px) {
	#content #boxarea .box {
		width: calc(100% / 5);
		padding-bottom: calc(100% / 5);
	}
}
@media only screen and (min-width: 1281px) {
	#content #boxarea .box {
		width: calc(100% / 7);
		padding-bottom: calc(100% / 7);
	}
}
@media only screen and (min-width: 1754px) {

}
