@charset "UTF-8";

figure.fotorama div.fotorama__html a {
  position: relative;
  display: block; }

figure.fotorama div.fotorama__html a span {
position: absolute;
z-index: 111;
left: 20px;
top: 20px;
display: block;
color: #fff;
font-family: "游明朝","Yu Mincho",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif;
font-size: 64px;
line-height: 64px; }

header.root {
  border-top: 16px solid #e50012;
  margin: 0;
  width: 100%; }

#en header.root{
	margin-bottom: 24px;
}

#en header.root figure{
	margin-bottom: 8px;
}

#en header.root section,
#en header.root figure,
#en header.root #snsBlc
 {
	margin: 0 auto;
	max-width: 940px; 
}

header section hgroup h1 {
  width: 240px;
  height: 96px;
  line-height: 96px;
  vertical-align: middle;
  text-indent: -9999px;
  background: url("images/logo.png") no-repeat center;
  background-size: 100% auto;
  -webkit-background-size: 100% auto;
  -moz-background-size: 100% auto; }

header.root nav#scrollNavi ul {
  display: flex;
  flex-flow: row wrap;
  /*並びの方向　折り返しのありなし*/
  -webkit-justify-content: end;
  /*並び方の配置規則*/
  justify-content: flex-end;
  /*並び方の配置規則*/ }

#en header section hgroup h1 {
  width: 312px;
  height: 96px;
  line-height: 96px;
  vertical-align: middle;
  text-indent: -9999px;
  background: url("images/logo_en.png") no-repeat center; }

header nav#scrollNavi li a {
  margin-right: 8px;
  padding-right: 8px;
  border-right: #666 solid 1px; }
  
header nav#scrollNavi li:last-child a {
  padding: 0;
  margin: 0;
  border: 0; }

figure > div.fotorama__wrap{
	margin: 0 auto;
}

#primary>section> header.page-header h1.main{
	font-size: 20px;
	line-height: 28px;
}

#primary article header .entry-title a{
	font-size: 16px;
	line-height: 24px;
}

.lower #primary nav.navigation.pagination{
	padding-bottom: 32px;
}

div.nav-links span,
div.nav-links a
{
	display: inline-block;
	width: 20px;
	padding: 4px;
	margin-right: 4px;
	background: #efefef;
	text-align: center;
}

div.nav-links span.current,
div.nav-links a.current{
	font-weight: bold;
	color: black;
	background: #ffcfbf;
}

a.prev.page-numbers,
a.next.page-numbers{
	display: inline-flex;
	flex-flow: row wrap;
	justify-content: center;
	align-content: center;
	align-items: center;
}

.nav-prev-text,
.nav-next-text
{
	white-space: nowrap;
	width: auto;
}

.nav-links{
	display: flex;
	flex-flow: row wrap;
	justify-content: start;
	align-content: center;
	align-items: center;
}

#primary nav.navigation.pagination h2.screen-reader-text{
	display: none;
}

@media only screen and (min-width: 769px) {
	
	
	
	header.root section nav#scrollNavi {
		display: flex;
		flex-flow: row wrap;
		justify-content: flex-end;
		align-content: center;
		align-items: center;
		
		height: 96px;
		vertical-align: middle;
		transition: all 0.3s ease-out;

	}

	header.root nav#scrollNavi ul {
	  display: flex;
	  flex-flow: row wrap;
	  justify-content: flex-end;
	  align-items: center;
	}
	
	header.root section nav#scrollNavi > ul li {
        height: 21px; }
		
	header.root section nav#scrollNavi > ul li a {
          color: #4d4d4d;
          font-weight: bold;
          font-size: 14px; }
		  
	header.root section nav#scrollNavi > ul li a:hover {
            color: #e50012; }
				
	header.root section nav#scrollNavi > ul li ul.sub-menu {
		position: absolute;
		top: 44px;
		right: 0px;
		z-index: 222;
		display: flex;
		flex-flow: row nowrap;
		justify-content: space-between;
		padding: 0 12px;
		width: auto;
		height: 0;
		background: #fff;
		border-bottom: 0;
		border: #efefef solid;
		border-width: 0 1px;
		-webkit-border-radius: 4px;
		-moz-border-radius: 4px;
		border-radius: 4px;
		box-shadow: 0 0 0 rgba(0, 0, 0, 0);
		-webkit-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
		-moz-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
		overflow: hidden;
		transition: all 0.3s cubic-bezier(0.42, 0, 0.52, 1);
		-webkit-transition: all 0.3s cubic-bezier(0.42, 0, 0.52, 1);
		-ms-transition: all 0.3s cubic-bezier(0.42, 0, 0.52, 1); 
	}
			  
		  
	header.root section nav#scrollNavi > ul li ul.sub-menu.scrollDown {
		height: 20px;
		padding: 12px;
		border-width: 1px;
		box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.11);
		-webkit-box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.11);
		-moz-box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.11); 
	}
	
	header.root section nav#scrollNavi > ul li ul.sub-menu li {
            height: 20px; 
		}
	header.root section nav#scrollNavi > ul li ul.sub-menu li a {
		display: inline-block;
		height: 20px;
		line-height: 20px;
		white-space: nowrap; 
	} 
	
	header.root section nav#scrollNavi.fixed{
		position: fixed;
		z-index: 3;
		top: 0;
		left: 0;
		margin: 0 auto;
		width: 100%;
		height: 44px;
		border-bottom: #e7e7e7 solid 1px;
		background: rgba(255,255,255,.98);
		box-sizing: border-box;
		box-shadow: 0 0px 4px rgba(26,26,26,0.2);

	}

	header.root section #scrollNavi #topNav{
		position: -webkit-sticky;
		position: sticky;
		z-index: 3;
		top: 0px;
	}

	header.root section #scrollNavi #topNav>li{
		padding: 0;
	}

	header.root section #scrollNavi #topNav>li:first-child>a{
		border-right: none;
		margin-right: 0;
	}
	
	header.root section #scrollNavi #topNav>li:nth-child(2)>a{
		padding-left: 8px;
		border-left: #666 solid 1px;
		letter-spacing: 4px;
		cursor: pointer;
	}

	header.root section nav#scrollNavi.fixed ul#topNav{
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

    header.root section nav#scrollNavi > ul {
      position: relative;
      z-index: 111;
      height: 21px; 
      height: 49px; 
	  
	  }

	header.root section nav#scrollNavi>ul#topNav li:nth-child(2) a i{
		margin-left: 4px
	}

	header.root section #scrollNavi.fixed #topNav{
		margin: 0 auto;
		padding: 12px 0 12px;
		width: 100%;
		max-width: 940px;
		  height: 49px; 
	}


	header.root section nav#scrollNavi.fixed ul#topNav>li>a:hover {
		background: #fff;
	}



}

@media only screen and (max-width: 940px) and (min-width: 769px){

	header.root section nav#scrollNavi.fixed{
		padding-right: 20px;
	}
}

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

	header.root nav#scrollNavi{
		position: fixed;
		top: 60px;
		left: 0;
		width: 100%;
		height: 0;
		overflow: hidden;
		z-index: 99999;
		background: transparent;
		transition: all 0.3s cubic-bezier(0.42, 0, 0.52, 1);
		-webkit-transition: all 0.3s cubic-bezier(0.42, 0, 0.52, 1);
		-ms-transition: all 0.3s cubic-bezier(0.42, 0, 0.52, 1);
	}

	header.root nav#scrollNavi.up{
		top: 0;
	}
		  
	header.root nav#scrollNavi.scrolldown {
		height: 258px;

		box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.33);
		-webkit-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.33);
		-moz-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.33); 
	}
			  
	header.root nav#scrollNavi.scrolldown.expand {
		height: 468px;
	}

	header.root nav#scrollNavi .naviWrapper{
		position: absolute;
		top: -252px;
		left: 0;
		width: 100%;
		transition: all 0.3s cubic-bezier(0.42, 0, 0.52, 1);
		-webkit-transition: all 0.3s cubic-bezier(0.42, 0, 0.52, 1);
		-ms-transition: all 0.3s cubic-bezier(0.42, 0, 0.52, 1);
		border-bottom: 12px #e50012 solid;
	}

	header.root nav#scrollNavi.scrolldown .naviWrapper{
		display: block;
		transform: translate(0,252px);
		-webkit-transform: translate(0,252px);
		-ms-transform: translate(0,252px);
	}
		
	header.root nav#scrollNavi  a {
		font-size: 14px;
		color: #4d4d4d;
		font-weight: bold;
		line-height: 40px;
	}
	
    header.root nav#scrollNavi a:hover {
      color: #e50012;
      background: rgba(255, 255, 255, 0.96); }

  header.root {
    border-top: 0;
    margin: 0 0 36px;
    width: 100%; }

	header.root #scrollNavi ul#topNav{
		display: flex;
		flex-flow: column nowrap;
		justify-content: start;
		position: -webkit-sticky;
		position: sticky;
		z-index: 3;
		top: 0px;
		padding: 0;
	  height: auto;
	  border-bottom: 12px #e50012 solid; 
	}

	header.root #scrollNavi.fixed ul#topNav{
		margin: 0 auto;
		padding: 12px 0 12px;
		width: 100%;
		max-width: 940px;
	}
	  
	header.root nav#scrollNavi ul#topNav li {
		height: auto;
		position: relative;
		z-index: 100;
		box-sizing: border-box;
		border-top: #f2f2f2 solid 1px; 
	}
		
	header.root nav#scrollNavi ul#topNav>li>a {
		z-index: 100;
		display: block;
		margin-right: 0;
		padding: 0 0 0 20px;
		height: 40px;
		border-right: 0; 

		box-sizing: border-box;
		background: linear-gradient(to bottom, white, #fcfcfc); 
	}

	header.root nav#scrollNavi ul#topNav a span{
		display: block;
		margin: 0 auto;
		width: 100%;
		max-width: 468px;
	}


	header.root nav#scrollNavi ul#topNav li ul.sub-menu {
		position: static;
		top: 64px;
		left: 0;
		z-index: 200;
		display: flex;
		flex-flow: column wrap;
		justify-content: space-between;

		padding-left: 20px;
		width: 100%;
		height: 0;
		background: #f2f1f1;
		border-bottom: 0;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box; 
		overflow: hidden;
		transition: all 0.3s ease-out;
	}
			 
	header.root nav#scrollNavi ul#topNav li ul.sub-menu.expand {
		height: 210px;
	}

	header.root nav#scrollNavi ul#topNav li ul.sub-menu li,
	header.root nav#scrollNavi ul#topNav li ul.sub-menu li a{
		height: 0; 
		width: 100%;
		border-top: 0;
		transition: all 0.3s ease-out;
	}

	header.root nav#scrollNavi ul#topNav li ul.sub-menu.expand li,
	header.root nav#scrollNavi ul#topNav li ul.sub-menu.expand li a{
		height: 41px; 
	}

	header.root nav#scrollNavi ul#topNav li ul.sub-menu.expand li{
		border-top: #fff dotted 2px;
	}

	header.root nav#scrollNavi ul#topNav li ul.sub-menu.expand li:first-child{
		border-top: 0;
	}
				
	header.root nav#scrollNavi ul#topNav li ul.sub-menu li a {
		display: inline-block;
		margin-right: 0;
		width: 100%;
		height: 41px;
		line-height: 41px;
		white-space: nowrap;
		border: 0;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box; 
		background: transparent;
	}

	header.root nav#scrollNavi ul#topNav>li:nth-child(2)>a{
		display: flex;
		flex-flow: frow nowrap;
		justify-content: start;
		align-items: center;
		padding-right: 20px;
		width: 100%;
	}

	header.root nav#scrollNavi ul#topNav>li:nth-child(2)>a i{
		margin-left: 12px;
	}

	/* ハンバーガーメニュー */

	header.root #nav-collapse {
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px; 
	/* position: -webkit-sticky; */
	/* position: sticky; */
	position: absolute;
	z-index: 100000;
	top: 8px;
	right: 0;
	} 

	header.root section .wrapper #buttonArea{
		position: relative;
		width: 100%;
	}


	header section .wrapper{
		padding-top: 0;
		width: 32px;
		height: auto;
		float: right;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;/*  */
	}

	header section .wrapper.fixed{
		position: fixed;
		z-index: 100000;
		left: 0;
		top: 0;
		width: 100%;
		
	}

	header section .wrapper.fixed #nav-collapse {
		right: 0;
		top: 8px;
	}

	header section .wrapper.fixed #buttonArea{
		position: relative;
		margin: 0 auto;
		padding: 0 8px;
		width: 100%;
		max-width: 456px;
		
		display: flex;
		flex-flow: row wrap;
		/* justify-content: end;	 */
		text-align: right;
			-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;

	}


	header.root nav#scrollNavi.bdn{
		border-bottom: 0;
	}

	nav#scrollNavi a:active{
		color: #e50012;
	}

	header.root nav#scrollNavi a:hover {
		color: #e50012;
		background: rgba(255, 255, 255, 0.96); 
	}


	header.root nav#scrollNavi em{
		display: none;
	}


	header button{
		display: block;
		padding: 8px;
		width: 32px;/*  */
		vertical-align: middle;
		cursor: pointer;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;/*  */
		background : -webkit-gradient(linear, left top, left bottom, from(#ff0000), to(#aa0000));
		background : -webkit-linear-gradient(top, #ff0000, #aa0000);
		background: linear-gradient(to bottom, #ff0000, #aa0000);
	}

	header button .icon-bar{
		display: block;
		margin: 0 0 4px;
		width: 16px;
		height: 2px;
		background-color: #F5F5F5;
	}

	header button .icon-bar.end{
		margin: 0;
	}

	header.root section hgroup{
		width: 156px;
		float: left;
	}

	header.root section hgroup h1{
		height: 48px;
		line-height: 48px;
		vertical-align: middle;
		text-indent: -9999px;
		background: url("./images/logo.png") no-repeat left center;
		background-size:  auto 48px !important;
		-webkit-background-size:  auto 48px !important;
		-moz-background-size:  auto 48px !important;
	}

	#en header.root section hgroup h1{
		height: 48px;
		line-height: 48px;
		vertical-align: middle;
		text-indent: -9999px;
		background: url("./images/logo_en.png") no-repeat left center;
		background-size:  auto 48px !important;
		-webkit-background-size:  auto 48px !important;
		-moz-background-size:  auto 48px !important;
	}
			
}


@media only screen and (max-width: 478px) {
	header section .wrapper.fixed #nav-collapse {
		right: 1px;
	}
}

@media only screen and (max-width: 470px) {
	header section .wrapper.fixed #nav-collapse {
		right: 12px;
	}
}
