@charset "utf-8";

/*********************************************************************

	Common

*********************************************************************/
/*テキストドラッグ選択時カラー
----------------------------------------------*/
::-moz-selection { background: #002250; color: #fff; text-shadow: none; }
::selection { background: #002250; color: #fff; text-shadow: none; }

html{
	-webkit-text-size-adjust: none;
	/*scroll-behavior: smooth;*/
}

body{
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%;
	font-family: 'Noto Serif Japanese', serif;
	width: 100%;
	height: 100%;
	margin: 0;
	font-size: 120%;
	color: #fff;
	background: #020202;
	line-height: 1.5;
	position: relative;
}

p{
	line-height: 1.75;
	padding-bottom: 2.5em;
}

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

	p{
		padding-bottom: 1.5em;
	}
}

a {
	color: #6666ff;
	text-decoration: underline;
	transition: 0.4s;
	-webkit-transition: 0.4s;
}
.noT a:hover {
	text-decoration: none;
}

img {
	max-width: 100%;
	height: auto;
}


/* home
--------------------------------------------------*/
.mainVisual{
	background: url(/images/home/bg_mainvisual01.jpg) center center no-repeat;
	background-size: cover;
	height: 100vh;
	min-height: 680px;
}

.homeSummary01{
	width: 80%;
	max-width: 1284px;
	padding: 40vh 5% 3em;
	box-sizing: border-box;
}

.homeH1{
	width: 100%;
	height: 0;
	padding: 0 0 199px;
	margin: 0 0 2em;
	text-indent: -100%;
	overflow: hidden;
	background: url(/images/home/img_logo01.png) no-repeat;
	background-size: 100% auto;
	transition: 0.3s;
}

.homeSummary01 span{
	display: block;
}

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

	.homeH1{
		max-width: 1000px;
		padding: 0 0 160px;
	}

}

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

	.homeH1{
		max-width: 800px;
		padding: 0 0 130px;
	}

}

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

	.homeH1{
		max-width: 600px;
		padding: 0 0 100px;
	}

}

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

	.homeH1{
		max-width: 480px;
		padding: 0 0 80px;
	}

}

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

	.mainVisual p{
		font-size: 90%;
	}

	.ver01 .mainVisual p{
		font-size: 90%;
	}

	.ver02 .mainVisual p{
		font-size: 80%;
	}

	.ver03 .mainVisual p{
		font-size: 70%;
	}

}

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

	.homeH1{
		max-width: 360px;
		padding: 0 0 60px;
	}

}

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

	.homeH1{
		max-width: 340px;
		padding: 0 0 54px;
	}

	.mainVisual p{
		font-size: 80%;
	}

	.ver01 .mainVisual p{
		font-size: 80%;
	}

	.ver02 .mainVisual p{
		font-size: 70%;
	}

	.ver03 .mainVisual p{
		font-size: 65%;
	}

}

.president{
	background: url(/images/home/bg_president01.jpg) right top no-repeat;
	background-size: 1220px auto;
	height: 1900px;
}

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

	.president{
		background-size: auto 100%;
		height: 900px;
	}

}

.simpleTitle01{
	font-size: 1.5em;
	padding-bottom: 1.5em;
}

.presidentName{
	margin-left: 1em;
}

.presidentMessage{
	width: 80%;
	max-width: 1284px;
	padding: 360px 5% 3em;
	box-sizing: border-box;
	text-shadow: 0 0 6px rgba(0,0,0,1.0);

}

.presidentMessage p{
	padding-bottom: 1em;
}

.presidentMessage span:not(.presidentName){
	display: block;
}

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

	.presidentMessage{
		font-size: 90%;
	}

}

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

	.president{
		background-size: auto 100%;
		height: 800px;
	}

	.presidentMessage{
		width: 100%;
		padding: 380px 5% 3em;
		font-size: 65%;
	}

	.ver01 .presidentMessage{
		width: 100%;
		font-size: 80%;
	}

	.ver02 .presidentMessage{
		width: 100%;
		font-size: 70%;
	}

	.ver03 .presidentMessage{
		width: 100%;
		font-size: 65%;
	}

}

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

	.president{
		background: url(/images/home/bg_president01.jpg) right 30% top no-repeat;
		background-size: auto 100%;
	}

	.simpleTitle01{
		font-size: 1.5em;
		padding-bottom: 1em;
	}

	/*.presidentMessage{
		width: 100%;
		font-size: 80%;
	}*/

}



.overview{
	position: relative;
	background: url(/images/home/bg_overview01.jpg) center top no-repeat;
	background-size: cover;
	height: 900px;
}

.overviewBlock{
	position: absolute;
	right: 3em;
	bottom: 3em;
	width: 28em;
	margin-block: 0;
	text-shadow: 0 0 6px rgba(0,0,0,1.0);
}
.overviewTable01{
	/*position: absolute;
	right: 3em;
	bottom: 3em;*/
	width: 100%;
	margin-block: 0;
	text-shadow: 0 0 6px rgba(0,0,0,1.0);
	box-sizing: border-box;
}

.overviewTable01 th{
	width: 5em;
	padding: 0.5em 1em 0.5em 0;
	box-sizing: border-box;
}

.overviewTable01 td{
	width: auto;
	padding: 0.5em 1em;
	box-sizing: border-box;
}

/*@media screen and (max-width: 1079px){

	.overviewTable01{
		width: 700px;
	}

}*/

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

	/*.overview{
		padding: 14em 5% 3em;
		height: auto;
	}*/


	.overviewBlock{
		/*position: static;*/
		width: 80%;
	}

	.overviewTable01 td{
		padding: 0.5em 0;
	}

}


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

	.overviewBlock{
		font-size: 90%;
	}

}

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

	.overview{
		height: 700px;
	}

	.overviewBlock{
		font-size: 80%;
		width: 26em;
		bottom: 4em;
	}

	.ver01 .overviewBlock{
		font-size: 80%;
	}

	.ver02 .overviewBlock{
		font-size: 70%;
	}

	.ver03 .overviewBlock{
		font-size: 65%;
	}

}

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

	.overviewBlock{
		right: 5%;
	}

}

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

	.overviewBlock{
		width: 80%;
		right: 10%;
	}

}

.instagramLink01{
	display: block;
	width: 40px;
	padding: 0.5em 1em 1em 0;
}

/*.instagramLink01{
	position: absolute;
	bottom: 20px;
	right: 20px;
	display: block;
	width: 60px;
}*/

.instagramLink01 img{
	width: 100%;
	height: auto;
}

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

	/*.instagramLink01{
		right: 40px;
	}*/

}

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

	.instagramLink01{
		/*right: 40px;*/
		width: 35px;
	}

}

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

	.instagramLink01{
		/*right: 30px;*/
		width: 26px;
	}

}



/****************************************************************

トップへ戻るボタン pageTop

****************************************************************/
#pageTop {
	display: block;
	z-index: 100;
	width: 50px;
	height: 50px;
	background: #333;
	text-align: center;
	color: #fff;
	font-size: 24px;
	text-decoration: none;
	line-height: 50px;
	position: fixed;
	bottom: -30px;
	right: 55px;
	border-radius: 5px;
	opacity: 0;
	filter: alpha(opacity=0);
	-webkit-transform: scale(1.5);
	-moz-transform: scale(1.5);
	-ms-transform: scale(1.5);
	-o-transform: scale(1.5);
	transform: scale(1.5);
	-webkit-transition: all .3s;
	-moz-transition: all .3s;
	-o-transition: all .3s;
	transition: all .3s;
}

#pageTop.show {
	bottom: 30px;
	opacity: 0.7;
	filter: alpha(opacity=70);
	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	-o-transform: scale(1);
	transform: scale(1);
}

#pageTop.show:hover{
	-webkit-transform: scale(1.5);
	-moz-transform: scale(1.5);
	-ms-transform: scale(1.5);
	-o-transform: scale(1.5);
	transform: scale(1.5);
}

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

	#pageTop{
		display: none !important;
	}
}

