@charset "utf-8";


/* RESET & SETTING
----------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  -webkit-font-smoothing: antialiased;

}
ol{
  margin:1em 0 0 1.7em;
}


article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary {
  display: block; /* FOR IE8 */
}

body {
  -webkit-text-size-adjust:none;
  text-align:center;
  -webkit-tap-highlight-color:rgba(0,0,0,0);
  position: relative;


}

html{
  font-weight: normal;
}

html,body{
  -webkit-font-smoothing: antialiased;
  position: relative;
  font-family:  "游明朝", YuMincho,"ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

body,
table,
input, textarea, select, option {
  -webkit-font-smoothing: antialiased;
  -webkit-border:none;
  border-radius:0;
  -webkit-border-radius:0;
  -webkit-appearance:none;
}

a {
  color: inherit;
  display:inline-block;
  text-decoration:none;
}

br {
  letter-spacing: normal;
}

img {
  vertical-align: top;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}
.con_btn{
  cursor: pointer;
}
.clearfix:after {
  content: ".";
  display: block; 
  height: 0;  
  clear: both;
  visibility: hidden;
}

.fix_img{
  position:absolute;
}


.br_text{
  display:block;
  white-space:nowrap;
  width:100%;
}

.w100{
  width: 100%;
}

#all_cover{
  position: fixed;
  top: 0;
  left:0;
  z-index: 999;
  width: 100%;
  height: 100%;
  background: #FFF;
}

section{
  height: 300%;
  width: 100%;
}

/*-----------------------------------ナビゲーション*/

header{
  position: fixed;
  top: 0;
  left:0;
  z-index: 1000;
  height: 100%;
}
header h1{
  position: absolute;
  top: 0;
  left:0;
  z-index: 1000;
}
 
header nav{
  top: 0;
  left:-551px;
  position: absolute;
  width: 550px;
  height: 100%;
  background-color: rgba(0,0,0,0.8);
  overflow:hidden;
}
header .nav_in{
  width: 100%;
  height: 100%;
  position: relative;
}
header nav ul{
  top: 50%;
  left:170px;
  text-align: left;
  position: absolute;
  width: 550px;
  height: 300px;
  margin-top: -190px;
}
header nav ul li{
  opacity: 0;
  margin-bottom: 27px;
}
header nav ul li a{
  display: inline-block;
 
}

header nav ul .menu_btn1 a{
 width: 237px;
 height: 57px;
 position: relative;
}

header nav ul .menu_btn2 a{
  height: 59px;
  width: 317px;
  position: relative;
}
header nav ul .menu_btn3 a{
  height: 58px;
  width: 143px;
  position: relative;
}

header nav ul .menu_btn4 a{
  height: 59px;
  width: 192px;
  position: relative;
}


header nav ul li a span{
  display: inline-block;
  overflow: hidden;
  width: 30px;
  position: absolute;
  top:0;
  left: 0;
  width: 0%;
}
header nav ul li a p{
  overflow: hidden;
  position: absolute;
  top:0;
  right: 0;
  width: 100%;
  height: 100%;
}

header nav ul .menu_btn1 a p{
  background:url(/20th/img/common/m1.png) no-repeat top right;
  background-size:237px auto;
}
header nav ul .menu_btn2 a p{
  background:url(/20th/img/common/m2.png) no-repeat top right; 
  background-size:317px auto;
}
header nav ul .menu_btn3 a p{
  background:url(/20th/img/common/m3.png) no-repeat top right; 
  background-size:143px auto;
}
header nav ul .menu_btn4 a p{
  background:url(/20th/img/common/m4.png) no-repeat top right;
  background-size:cover;

}


header .over img{
  opacity: 0 !important;
}
 header .menu_btn{
  cursor: pointer;
  position: fixed;
  top:130px;
  left: 0;

  z-index: 10000;
  background:#000 url(/20th/img/common/logo_menu_btn_on.gif);
  background-size: cover;
 }

 header .menu_btn_in{
  width: 100%;
  height: 100%;
  position: relative;
 }

  header .menu_btn_in p{
    background: #FFF;
    position: absolute;
    height: 2px;
    width: 14px;
    left: 19px;
    transition: all 300ms 0s ease;
  }

  header .menu_btn_in p.m_1{
    top:25px; 
  }
  header .menu_btn_in p.m_2{
   top:30px; 
  }
  header .menu_btn_in p.m_3{
    top:35px;
  }


  header .menu_btn.over p.m_1{
    top:30px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  header .menu_btn.over p.m_2{
   opacity: 0;
  }
  header .menu_btn.over p.m_3{
    top:30px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }



 header nav .menu_btn5{
  opacity: 0;
  margin-top: 80px;
 }


footer{
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 0;
  width: 100%;
  text-align:right;
}



/*//////////////////////////SP*/

header .menu_btn_sp{
  cursor: pointer;
  position: fixed;
  top:60px;
  left: 0;
  z-index: 10000;
  background:#000 url(/20th/img/common/sp/logo_menu_btn_on.gif);

  background-size: cover; 
  border-right: #888 1px solid;
  border-top: #888 1px solid;
  border-bottom: #888 1px solid;
 }

 header .menu_btn_in_sp{
  width: 100%;
  height: 100%;
  position: relative;
 }

  header .menu_btn_in_sp p{
    background: #FFF;
    position: absolute;
    height: 1px;
    width: 8px;
    left: 8px;
    transition: all 300ms 0s ease;
  }

  header .menu_btn_in_sp p.m_1{
    top:11px; 
  }
  header .menu_btn_in_sp p.m_2{
   top:14px;
  }
  header .menu_btn_in_sp p.m_3{
    top:17px;
  }
  

  header .menu_btn_sp.over p.m_1{
    top:14px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  header .menu_btn_sp.over p.m_2{
   opacity: 0;
  }
  header .menu_btn_sp.over p.m_3{
    top:14px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }

header {
	z-index: 9999;
}

header .nav_in_sp{
  width: 100%;
  height: 100%;
  width: 100vw;
  height: 100vh;

}

header .menu_sp{
  top: 0;
  left:-400px;
  left:-100%;
  left:-100vw;
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.8);
  overflow:hidden;
}
header .menu_sp_in{
  width: 100%;
  height: 100%;
  position: relative;
}
header .menu_sp > ul{
  top: 50%;
  left:0;
  text-align: left;
  position: absolute;
  width: 100%;
  height: 100%;
  margin-top: -110px;
}

header .menu_sp > ul li a{
  text-align: right;
  display: inline-block;
  width: 100%;
  position: relative;
}

header .menu_sp > ul li a span{
  overflow: hidden;
  width: 100%;
}
header .menu_sp > ul li a span img{
  opacity: 0;
}
header .menu_sp > ul li a p{
  overflow: hidden;
  width: 100%;
  height: 100%;
  
  position: absolute;
  right: 0;
  top:0;
}
header .menu_sp > ul .menu_btn1_sp a p{
  background:url(/20th/img/common/sp/m1.png) no-repeat top right;
  background-size:auto 100%;

}
header .menu_sp > ul .menu_btn2_sp a p{
  background:url(/20th/img/common/sp/m2.png) no-repeat top right;
  background-size: auto 100%;
  
}
header .menu_sp > ul .menu_btn3_sp a p{
  background:url(/20th/img/common/sp/m3.png) no-repeat top right;
  background-size:auto 100%;
}
header .menu_sp > ul .menu_btn4_sp a p{
  background:url(/20th/img/common/sp/m4.png) no-repeat top right; 
  background-size:auto 100%;
}

header .menu_sp > ul .menu_btn5_sp{
  margin-top: 20px;
  width: 100%;
  box-sizing: border-box;
  padding-left: 4%;
}
header .menu_sp > ul .menu_btn5_sp a{
  display: inline;
}

header .menu_sp > ul .menu_btn6_sp a{
  display: inline;
}
header .menu_sp > ul .menu_btn6_sp{
  width: 100%;
  box-sizing: border-box;
  padding-left: 4%;
}

footer{
	padding-bottom: 0;
	overflow: hidden;
	zoom: 1;
	z-index: 2001;
  vertical-align: bottom;
}
footer .fLogo {
	padding: 0 20px 20px 0;
	float: right;
}
footer .rBox {
	margin: 30px 15px 0 0;
	float: right;
}
footer .rBox p {
	line-height: 1;
	vertical-align: bottom;
}

footer .fBox02 ul {
	margin: 0;
	line-height: 1;
	text-align: right;
}
footer li {
	margin: 0 3px;
	display: inline-block;
}
footer .fBox02 li {
	margin-left: 3px;
}
footer li a {
	display: block;
}
footer li img {
	display: block;
	vertical-align: baseline;
}
footer .copyright {
	position: absolute;
	left: 20px;
	bottom: 15px;
	color: #FFF;
	font-size: 9px;
}
footer a {
  vertical-align: top;
}
footer .fBox01 p {
	color: #333;
}

.iPad footer a img {
	opacity: 1 !important;
}

@media only screen and (min-width: 768px)  {
  .sp {
    display: none !important;
  }
  header .nav_in_sp{
	  display: none !important;
  }
  
}
@media only screen and (max-width: 767px)  {
  header h1 a{
    border-right: #888 1px solid;
  }
  .pc {
    display: none !important;
  }
  
  header .nav_in_sp{
	  display: none;
  }
  
  header {
	  height: auto;
  }

}


@media only screen and (max-width: 340px)  {
  header .menu_sp ul{
    margin-top:-140px;
  }
}



@media all and (min-width: 0) and (max-width: 767px) {
	footer {
		padding-bottom: 0;
    overflow: visible;
	}
	footer .fBox02,
	footer .fBox01 {
		padding: 0 15px 10px;
	}
	
	footer .fLogo img {
		width: 33px;
	}
	
	footer .copyright {
		margin-right: 30px;
		position: static;
		font-size: 8px;
		text-align: left;
	}
	  
	footer .fLogo {
		float: none;
		padding: 0;
		right: 0;
		bottom: 0;
		position: absolute;
		right: 10px;
		bottom: 10px;
	}
	
	footer .rBox {
		margin: 0 40px 0 0;
		float: none;
		text-align: left;
	}
	
	footer .rBox p img {
		width: auto;
		height: 14px;
	}
	
	footer .fBox01 ul,
	footer .fBox02 ul {
		margin: 0;
		text-align: left;
	}
	
	footer li {
		margin: 0;
		float: none;
		display: inline;
		text-align: center;
	}
	
	footer .fBox01 li,
	footer .fBox02 li {
		margin: 0;
	}
	
	footer li a {
		padding-bottom: 0;
	}
	
	footer li a,
	footer li img {
		display: inline-block;
	}
	
	footer li img {
		height: 13px;
	}
	
	footer .fLogo img {
		width: 37px;
	}
	
	footer a img {
		opacity: 1 !important;
	}
	
	body {
		min-width: inherit;
	}
	/*
	#all_cover {
		opacity: 0 !important;
		visibility: hidden !important;
		display: none !important;
		z-index: -9999;
	}*/
}

/* language
----------------------------------------------- */
#main {
	padding-bottom: 85px;
	position: relative;
}

#main .language {
	right: 10px;
	top: 10px;
	position: absolute;
	font-family: "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
	z-index: 20;
}

#main .language li {
	display: inline;
	font-size: 12px;
}

#main .language li a {
	margin: 0 16px 0 10px;
}

#main .language li:first-child a {
	text-decoration: underline;
}

#main .language .on a,
#main .language li a:hover {
	text-decoration: underline;
}

body.en #main .language li:first-child a {
	text-decoration: none;
}

body.en #main .language li:last-child a {
	text-decoration: underline;
}

/* heading01
----------------------------------------------- */
#main .heading01 {
	margin-bottom: 58px;
	font-size: 14px;
	text-align: center;
	position: relative;
}

#main .heading01 img {
	padding-bottom: 28px;
	margin: 0 auto 22px;
	display: block;
	background: url(/20th/img/common/line01.gif) no-repeat center bottom;
}

body .en {
	display: none;
}

body.en .en {
	display: block;
}

body.en .jp {
	display: none;
}

/* comLink
----------------------------------------------- */
#main .comLink {
	margin: 0 auto 53px;
	width: 180px;
}

#main .comLink a {
	padding: 10px 0 10px 0;
	display: block;
	position: relative;
	color: #fff;
	font-size: 13px;
	text-align: center;
	font-family: "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
	background-color: #000;
	border: 1px solid #fff;
	transform: perspective(1px) translateZ(0px);
	-webkit-transform: perspective(1px) translateZ(0px);
    transition-duration: 0.3s;
	-webkit-transition-duration: 0.3s;
    transition-property: color;
	-webkit-transition-property: color;
}

#main .comLink.fix {
	animation: none;
	-webkit-animation: none;
	opacity: 1;
}

#main .comLink a.fix {
	position: fixed;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	z-index: 100;
	border-top: none;
}

#main .comLink a img {
	margin-right: 20px;
	vertical-align: -1px;
}

#main .comLink a:before {
	background: #888;
    bottom: 0;
    content: "";
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    transform: scaleY(0);
	-webkit-transform: scaleY(0);
    transform-origin: 50% 0 0;
	-webkit-transform-origin: 50% 0 0;
    transition-duration: 0.3s;
	-webkit-transition-duration: 0.3s;
    transition-property: transform;
	-webkit-transition-property: transform;
    transition-timing-function: ease-out;
	-webkit-transition-timing-function: ease-out;
    z-index: -1;
}

#main .comLink a:hover:before {
	 transform: scaleY(1);
	 -webkit-transform: scaleY(1);
}

.iPad #main .comLink a:hover {
	background-color: transparent;
}

/* pageTop
----------------------------------------------- */
.pageTop {
	text-align: center;
}

.pageTop img {
	transition: all 0.5s;
	-webkit-transition: all 0.5s;
}

.pageTop a:hover img {
	transform: translateY(-10px);
	-webkit-transform: translateY(-10px);
}
#vertically {
  position: fixed;
  z-index: 1000000;
  background:#000;
  color: #FFF;
  width: 100%;
  height: 100vh;
  letter-spacing: 0.095em;
  font-family: "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
}
#vertically #ver_text{
  width: 100%;
  margin-top: 50vh;
  text-align: center;
}
#vertically p{
  margin-top: -54px;
  font-size: 14px;
}

#vertically .vt_en{
  padding-top: 60px;
  font-size: 12px;
  text-indent: -0.8em;
  letter-spacing: 0.025em;
}

@media all and (min-width: 0) and (max-width: 767px) {

  @media only screen and (orientation:portrait) {
    #vertically {
      display: none;
    }
}
	body {
		min-width: inherit;
	}
	
	#main {
		padding-bottom: 65px;
	}
		
	#main .language {
		right: 10px;
		top: 3px;
	}
	
	#main .language li {
		font-size: 8px;
	}
	
	#main .language li a {
		margin: 0 5px 0 1px;
	}
	
	#main .heading01 {
		margin-bottom: 35px;
		font-size: 10px;
	}
	
	#main .heading01 img {
		margin-bottom: 10px;
		padding-bottom: 15px;
		height: 17px;
		background-size: 30px 1px;
	}
	
	.pageTop img {
		width: 16px;
	}
	.pageTop img {
		transition: none;
	}
	
	.pageTop a:hover img {
		transform: translateY(0);
		-webkit-transform: translateY(0);
	}
	/* comLink
	----------------------------------------------- */
	#main .comLink {
		margin: -1px auto 30px;
		width: 37%;
	}
	
	#main .comLink a {
		padding: 5px 0 5px 0;
		font-size: 9px;
		letter-spacing: -0.5px;
		background-position: left 8px center;
		background-size: 6px 6px;
	}
		
	#main .comLink a img {
		margin-right: 8px;
		width: 6px;
		vertical-align: middle;
	}
}
  /* sp_footer
  ----------------------------------------------- */


.h_footer{
  position: absolute;
  width: 100%;
  left: 0;
  bottom:  4px;
  padding-bottom: 0;
  zoom: 1;
  z-index: 2001;
  vertical-align: bottom;
  color: #FFF;
  line-height: 1;
}

  .h_footer .fBox02,
  .h_footer .fBox01 {
    padding: 0 15px 10px;
  }
  
  .h_footer .fLogo img {
    width: 33px;
  }
  
  .h_footer .copyright {
    margin-top: 3px;
    margin-right: 30px;
    position: static;
    font-size: 8px;
    text-align: left;
  }
    
  .h_footer .fLogo {
    float: none;
    padding: 0;
    right: 0;
    bottom: 0;
    position: absolute;
    right: 10px;
    bottom: 10px;
  }
  
  .h_footer .rBox {
    margin: 0 40px 0 0;
    float: none;
    text-align: left;
  }
  
  .h_footer .rBox p img {
    width: auto;
    height: 14px;
  }
  
  .h_footer .fBox01 ul,
  .h_footer .fBox02 ul {
    margin: 0;
    text-align: left;
  }
  
  .h_footer li {
    margin: 0;
    float: none;
    display: inline;
    text-align: center;
  }
  
  .h_footer .fBox01 li,
  .h_footer .fBox02 li {
    margin: 0;
  }
  
  .h_footer li a {
    padding-bottom: 0;
  }
  
  .h_footer li a,
  .h_footer li img {
    display: inline-block;
  }
  
  .h_footer li img {
    height: 13px;
  }
  
  .h_footer .fLogo img {
    width: 37px;
  }
  
  .h_footer a img {
    opacity: 1 !important;
  }