@charset "utf-8";

/* message
----------------------------------------------- */
.bg {
	width: 100%;
	height: 100vh;
	position: fixed;
	left: 0;
	top: 0;
	-webkit-overflow-scrolling: touch;
}

#main {
	padding-bottom: 0;
}

#skrollr-body {
	padding-top: 90px;
}

#main .language li {
	color: #fff;
}

#main .language li a {
	color: #fff;
}

#main .mainBox {
	margin: 0 auto 150px;
	width: 925px;
	text-align: left;
}

#main .heading01 {
	margin-bottom: 40px;
	color: #fff;
	font-size: 15px;
}

#main .heading01 img {
	margin-bottom: 28px;
	padding-bottom: 40px;
	background-image: url(/20th/img/common/line02.gif);
}

#main .comLink {
	margin-bottom: 180px;
	position: relative;
	font-weight: bold;
	font-size:11px;
	font-family: "ヒラギノ角ゴ Pro W6", HiraKakuPro-W3,"游ゴシック Bold", "Yu Gothic Bold", YuGothic,  "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
}

#main .comLink a {
	font-size:11px;
	border-width: 1px;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 100;
	box-sizing: border-box;
}

#main .inner {
	margin-bottom: 140px;
	position: relative;
}

#main .inner > a {
	display: block;
}

#main .inner .photo {
	position: absolute;
	left: 0;
	top: -40px;
	z-index: 10;
}

#main .inner .bgBox {
	margin: 40px 0 0 174px;
	padding: 55px 60px 63px 160px;
	width: 750px;
	background-color: #000;
	box-sizing: border-box;
	position: relative;
}

#main .inner .bgBox p {
	margin-bottom: 20px;
	color: #fff;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.5;
}

#main .inner .bgBox p .name {
	margin-bottom: 6px;
	display: block;
	font-size: 20px;
}

#main .inner .bgBox .ttl {
	margin-bottom: 13px;
	font-size: 25px;
	font-weight: bold;
	line-height: 1.7;
}

#main .inner .bgBox .link {
	width: 70px;
	position: absolute;
	left: 160px;
	bottom: 40px;
	transition: all ease 0.3s;
	-webkit-transition: all ease 0.3s;
}

#main .inner > a:hover .link {
	transform: translateX(20px);
	-webkit-transform: translateX(20px);
}

#main .inner .bgBox .link01 {
	left: 160px;
}

#main .inner .bgBox .link img {
	width: 100%;
	height: auto;
}

#main .inner .bgBox .link a {
	padding: 10px 24px 10px 0;
	position: relative;
	display: block;
	color: #000;
	font-size: 11px;
	font-weight: bold;
	text-align: center;
	font-family: "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
	background: #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 .inner .bgBox .link a img {
	margin-right: 15px;
	vertical-align: -5px;
}

#main .inner .bgBox .link 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 .inner .bgBox .link a:hover:before {
	 transform: scaleY(1);
	 -webkit-transform: scaleY(1);
}

#main .inner .bgBox .num {
	margin-bottom: 0;
	position: absolute;
	right: 26px;
	bottom: 0;
	color: #595959;
	font-size: 18px;
	line-height: 1;
	font-weight: 500;
	text-align: center;
}

#main .inner .bgBox .num span {
	margin-top: 6px;
	margin-bottom: 3px;
	display: block;
	font-size: 95px;
	line-height: 0.65;
	font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
}

#main .inner02 .photo {
	left: auto;
	right: 0;
}

#main .inner02 .bgBox {
	padding: 53px 100px 73px 160px;
	margin-left: 0 !important;
	background-color: #EEE;
}

#main .inner02 .bgBox p {
	color: #000;
}

#main .inner02 .bgBox .ttl {
	margin-bottom: 8px;
}

#main .inner02 .bgBox p .name {
	margin-bottom: 2px;
}

#main .inner02 .bgBox .num {
	right: auto;
	left: 25px;
	color: #B2B2B2;
}

#main .inner02 .bgBox .link a {
	color: #fff;
	background-color: #000;
}

/*html.hide,
html.hide body {
	overflow: hidden;
}*/

#pup {
	position: relative;
/* 	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow-y: auto;
	background-color: rgba(0,0,0,0.45);
	z-index: 100000;
	-webkit-overflow-scrolling: touch; */
}

#pup .pupBox {
	padding: 86px 137px;
	width: 1260px;
	position: relative;
	background-color: #777;
	box-sizing: border-box;
}

#pup .pupBox .close {
	position: fixed;
	right: 30px;
	top: 30px;
	transition: all ease 0.3s;
	-webkit-transition: all ease 0.3s;
}

#pup .pupBox .close:hover {
	transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
}

#pup .pupBox .close a {
	display: block;
}

#pup .pupBox h2 {
	margin-bottom: 52px;
	text-align: center;
}

#pup .pupBox ul {
	margin-right: -65px;
}

#pup .pupBox li {
	margin: 0 50px 45px 0;
	float: left;
	width: 300px;
}

#pup .pupBox li a {
	display: block;
	zoom: 1;
}

#pup .pupBox li .pho {
	margin-top: 3px;
	float: left;
	position: relative;
}

#pup .pupBox li .pho > div {
	width: 91px;
	height: 91px;
	overflow: hidden;
	position: relative;
	z-index: 1;
}

#pup .pupBox li .pho > div img {
	transition: transform 0.3s ease-in-out;
	-webkit-transition: -webkit-transform 0.3s ease-in-out;
	position: relative;
	z-index: 0;
}

#pup .pupBox li a:hover .pho img  {
	transform: scale(1.05);
	-webkit-transform: scale(1.05);    
}

.iPad #pup .pupBox li a:hover .pho img  {
	transform: scale(1);
	-webkit-transform: scale(1);    
}

#pup .pupBox li .pho img {
	width: 100%;
}

#pup .pupBox li .pho .num {
	position: absolute;
	left: -17px;
	bottom: -28px;
	color: #fff;
	font-size: 40px;
	font-weight: 500;
	z-index: 100;
}

#pup .pupBox li .txtBox {
	padding-left: 117px;
	color: #fff;
	font-size: 11px;
	font-weight: 500;
	text-align: left;
	word-wrap: break-word;
    transition: all 0.6s;
	-webkit-transition: all 0.6s;
}

#pup .pupBox li > a:hover .txtBox {
	opacity: 0.7;
}

.iPad #pup .pupBox li > a:hover .txtBox {
	opacity: 1;
}

#pup .pupBox li .txtBox p span {
	margin-bottom: 2px;
	display: block;
	font-size: 16px;
}

#pup .pupBox li .txtBox .eng {
	margin-bottom: 18px;
	font-size: 10px;
	line-height: 1.3;
}

#pup .pupBox li .txtBox .eng span {
	margin-bottom: 0;
	font-size: 20px;
}

.iPad #main .inner .bgBox .link a:before {
	display: none !important;
}

body > footer {
	display: none;
}

#main footer {
	position: relative;
}

@media all and (min-width: 0) and (max-width: 767px) {
	.pageTop {
		padding-bottom: 20px;
	}
	
	#skrollr-body {
		padding-top: 0;
	}
	
	#main .mainBox {
		padding: 70px 0 40px;
	}
	
	#main .mainBox {
		margin: 0 14px;
		padding-bottom: 0;
		width: auto;
	}
	
	#main .heading01 {
		margin-bottom: 20px;
		font-size: 11px;
	}
	
	#main .heading01 img {
		margin-bottom: 20px;
		padding-bottom: 22px;
		height: 20px;
		background-size: 45px 1px;
	}
	
	#main .comLink {
		margin-bottom: 100px;
	}
	
	#main .comLink a {
		font-size: 9px;
		border-width: 1px;
	}
	
	#main .inner {
		margin-bottom: 65px;
	}
	
	#main .inner .photo {
		width: 34%;
		top: -10px;
	}

	#main .inner .photo img {
		width: 100%;
	}
	
	#main .inner .bgBox {
		margin-left: 30%;
		padding: 8% 5% 9% 10%;
		width: 71%;
		position: relative;
	}
	
	#main .inner .bgBox p {
		margin-bottom: 18px;
		font-size: 9px;
	}
	
	#main .inner .bgBox p .name {
		margin-bottom: 2px;
		font-size: 14px;
	}
	
	#main .inner .bgBox .ttl {
		margin-bottom: 7px;
		font-size: 13px;

	}
	
	#main .inner .bgBox .ttl br.nokaigyo { display :none; }
	

	
	#main .inner .bgBox .link {
		width: 40px;
		left: 14%;
		bottom: 10px;
	}
	
	
	
	#main .inner .bgBox .link01 {
		left: 8%;
	}
		
	#main .inner > a:hover .link {
		transform: none;
		-webkit-transform: none;
	}

			
	#main .inner .bgBox .link a {
		padding: 5px 10px 3px 5px;
		font-size: 8px;
	}
	
	#main .inner .bgBox .link a:before {
		display: none !important;
	}
	
	#main .inner .bgBox .link a img {
		width: 10px;
		margin-right: 5px;
		vertical-align: -1px;
	}
	
	#main .inner .bgBox .num {
		right: 1px;
		font-size: 9px;
		margin-right: 10px;
	}
	
	#main .inner .bgBox .num span {
		margin-top: 7px;
		font-size: 40px;
		margin-bottom: 1px;
		margin-right: 2px;
		
	}

	#main .inner02 .photo {
		top: -9%;
	}

	#main .inner02 .bgBox {
		padding: 8% 7% 10% 6%;
	}
		
	#main .inner02 .bgBox .num {
		left: auto;
		right: 5px;
	}

	.pageTop img {
		width: 20px;
	}
		
	#pup .pupBox {
		margin: 0;
		padding: 40px 10px 20px;
		width: auto;
	}
	
	#pup .pupBox .close {
		right: 10px;
		top: 10px;
		width: 14px;
		height: 14px;
	}
	
	#pup .pupBox .close:hover {
		transform: none;
		-webkit-transform: none;
	}
	
	#pup .pupBox .close img {
		width: 14px;
	}
	
	#pup .pupBox h2 {
		margin-bottom: 34px;
	}

	#pup .pupBox h2 img {
		width: 132px;
		margin: 0 auto;
		display: block;
	}
	
	#pup .pupBox ul {
		margin-right: 0;
	}
	
	#pup .pupBox li {
		margin: 0 0 15px;
		padding: 0 12px 6px;
		float: none;
		width: auto;
		border-bottom: 1px solid #A0A0A0;
	}
	
	#pup .pupBox li .pho {
		margin-top: 3px;
		width: 65px;
	}

	#pup .pupBox li .pho > div {
		width: 65px;
		height: 65px;
	}
	
	#pup .pupBox li .pho > div img {
		transition: none;
		-webkit-transition: none;
	}
	
	#pup .pupBox li .pho > div:hover img  {
		transform: none;
		-webkit-transform: none;
	}
		
	#pup .pupBox li .pho .num {
		left: -12px;
		bottom: -22px;
		font-size: 30px;
	}
	
	#pup .pupBox li .txtBox {
		padding-left: 80px;
		font-size: 9px;
		min-height: 85px;
	}
	
	#pup .pupBox li .txtBox p span {
		margin-bottom: 0;
		font-size: 11px;
	}
	
	#pup .pupBox li .txtBox .eng {
		margin-bottom: 7px;
		font-size: 8px;
		line-height: 1.5;
	}
	
	#pup .pupBox li .txtBox .eng span {
		font-size: 12px;
	}
	
	#pup .pupBox li a:hover .pho img  {
		transform: scale(1);
		-webkit-transform: scale(1);    
	}
	
	#pup .pupBox li a:hover .txtBox {
		opacity: 1;
	}
}

.animate {
	opacity: 0;
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}

@-webkit-keyframes fadeInUp {
	from {
		opacity: 0;
		-webkit-transform: translate3d(0, 30px, 0);
		transform: translate3d(0, 30px, 0);
	}
	
	to {
		opacity: 1;
		-webkit-transform: none;
		transform: none;
	}
}

@keyframes fadeInUp {
	from {
		opacity: 0;
		-webkit-transform: translate3d(0, 30px, 0);
		transform: translate3d(0, 30px, 0);
	}
	
	to {
		opacity: 1;
		-webkit-transform: none;
		transform: none;
	}
}

.fadeInUp {
	-webkit-animation-name: fadeInUp;
	animation-name: fadeInUp;
}
