@charset "utf-8";

/* ---------- reset ---------- */
*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;-o-box-sizing:border-box;-ms-box-sizing:border-box;box-sizing:border-box;}html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;}ol,ul{list-style:none;}blockquote,q{quotes:none;}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none;}input,select{vertical-align:middle;}img{display:block;vertical-align:baseline;}.clearfix:after{content:"";clear:both;display:block;height:0;visibility:hidden;}a:focus{outline:none;}

html{font-size:6.25%;overflow-y:scroll;height:100%;}
body{
	font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,Osaka,'ＭＳ Ｐゴシック','MS PGothic',sans-serif;
	font-size: 12em;
	line-height: 1.5;
	background: #FFF;
	color: #05336a;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	overflow: visible;
	word-break: break-all;
}
a {
	margin:0;
	padding:0;
	color: #05336a;
	text-decoration:underline;
	background:transparent;
}
a:hover {text-decoration:none;}

/* ---------- colorbox setting ---------- */
#colorbox, #cboxOverlay, #cboxWrapper { position: absolute; top: 0; left: 0; z-index: 9999; overflow: hidden; outline: 0; }
#cboxOverlay { position: fixed; width: 100%; height: 100%; }
#cboxMiddleLeft, #cboxBottomLeft { clear: left; }
#cboxContent { position: relative; }
#cboxLoadedContent { overflow: auto; }
#cboxTitle { margin: 0; }
#cboxLoadingOverlay, #cboxLoadingGraphic { position: absolute; top: 0; left: 0; width: 100%; height:100%;}
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow { cursor: pointer; }
#cboxOverlay { background: #FFF; }
#cboxContent { overflow:hidden; }
#cboxError { padding: 50px; border: 1px solid #ccc; }
#cboxLoadedContent { margin: 70px 0 0; overflow: hidden; }
#cboxTitle { position: absolute; bottom: 4px; left: 0; text-align: center; width: 100%; color: #949494; }
#cboxCurrent { display: none; }
#cboxSlideshow { position: absolute; right: 30px; bottom: 4px; color: #0092ef; }
.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic;}
/*
#cboxPrevious { position: absolute; left: 0; top: 0; border: none; background: url(/img/icon/control.png) no-repeat 0 0; width: 25px; height: 25px; text-indent:-9999px; }
#cboxPrevious:hover{ background-position: 0 -25px; }
#cboxNext { position: absolute; left: 27px; top: 0; border: none; background: url(/img/icon/control.png) no-repeat -25px 0; width: 25px; height: 25px; text-indent:-9999px; }
#cboxNext:hover { background-position: -25px -25px; }
#cboxLoadingGraphic { background: url(/img/icon/loading.gif) no-repeat center center; }
*/
#cboxClose { position: absolute; right: 0; top: 0; border: none; background: url(/img/icon/close.png) no-repeat left top; width: 70px; height: 70px; text-indent:-9999px; }
#cboxClose:hover { background-position: right; }
.cboxIframe { width: 100%; height: 100%; display: block; border: 0; }

/* ---------- clearfix setting ---------- */
.clearfix { *zoom: 1; }
.clearfix:before, .clearfix:after {
	content: "";
	display: table;
	overflow: hidden;
}
.clearfix:after { clear: both; }

/* -----     common     ----- */
.pc { display: block; }
.sp { display: none; }
img.pc { display: inline; }
img.sp { display: none; }
/*--  loading  --*/
#overlay {
	position: fixed;
	width: 100%;
	height: 100%;
	text-align: center;
	background: #FFF;
	z-index: 9999;
}
/*--  site  --*/
#siteWrap {
	position: relative;
	width: 100%;
	min-width: 980px;
	height: 100%;
	height: auto !important;
	min-height: 100%;
	overflow: hidden;
}
.contentBox {
	width: 980px;
	padding: 0 40px;
	margin: 0 auto;
}
.cttbg {
	background-color: #FFF;
	-webkit-box-shadow: 0px 0px 16px -3px #082f5e; box-shadow: 0px 0px 16px -3px #082f5e;
}

/*--  popup  --*/
#popup {
	position: fixed;
	z-index: 9999;
	width: 100%;
	height: 100%;
	cursor: pointer;
}
.img3rd {
	width: 100%;
	height: 100%;
	background: url(/img/top/popup/bg.png);
}
.img3rd img {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	max-width: 100%;
	max-height: 100%;
}

/* -----     ヘッダーコンテンツ     ----- */
.headerWrap {
	position: relative;
	width: 100%;
	height: 117px;
	background-color: #FFF;
	-webkit-box-shadow: 0px 0px 2px 0px #082f5e; box-shadow: 0px 0px 2px 0px #082f5e;
	z-index: 9;
}
.headerBox {
	width: 980px;
	padding: 0 35px;
	margin: 0 auto;
}
.title {
	width: 379px;
	padding: 21px 0 10px;
}
.naviList {
	font-size: 0;
	text-align: center;
}
.naviList li {
	display: inline-block;
}
.naviList li a {
	position: relative;
	display: block;
	width: 113px;
	padding: 17px 0;
	font-family: 'Montserrat';
	font-size: 15rem;
	font-weight: 700;
	text-decoration: none;
}
.naviList li.noLink a {
	pointer-events: none;
	color: #DDD;
}
.naviList li a::before {
	content: "";
	position: absolute;
	height: 60%;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	border-right: 1px #0e53a7 dotted;
}
.naviList li:first-child a::before {
	border-left: 1px #0e53a7 dotted;
}
.naviList li a::after {
	content: attr(data-hover);
	position: absolute;
	width: 113px;
	height: 0;
	top: 0;
	right: 0;
	left: 0;
	margin: auto;
	padding: 17px 0 0;
	color: #00ace9;
	overflow: hidden;
	-webkit-transition: .3s ease-out; transition: .3s ease-out;
}

.naviList li a:hover::after, .naviList li.curDIR a::after {
	height: 1.5em;
}

/* -----     フッターコンテンツ     ----- */
.footerWrap {
	padding: 30px 0 40px;
}
.socialList {
	padding: 0 0 30px;
	text-align: center;
}
.socialList li {
	display: inline-block;
	margin: 0 10px;
}
.socialList a {
	display: block;
	width: 48px;
	height: 48px;
}
.socialList img {
	width: 100%;
	height: auto;
	border-radius: 5px;
}
.corporate {
	padding: 0 0 30px;
}
.corporate a {
	display: block;
	width: 161px;
	height: 24px;
	margin: 0 auto;
}
.copyright {
	font-size: 11rem;
	text-align: center;
}
.copyright small {
	display: inline-block;
	padding: 1px 5px;
}


/* ---------- media screen ---------- */
@media screen and (max-width:768px) {
	.pc { display: none; }
	.sp { display: block; }
	img.pc { display: none; }
	img.sp { display: inline; }
	img { width: 100%; height: auto; }
	.brsp { display: none; }
	
	.cboxIframe { width: 100%; height: auto; display: block; border: 0; }
	
	#siteWrap {
		position: relative;
		width: 100%;
		min-width: 100%;
		height: 100%;
		height: auto !important;
		min-height: 100%;
		overflow: hidden;
	}
	.headerWrap {
		height: 100%;
	}
	.headerBox {
		width: 100%;
		padding: 0;
		margin: 0 auto;
	}
	.title {
		position: relative;
		width: 100%;
		padding: 5vw 25vw 5vw 2em;
		background-color: #FFF;
		z-index: 9;
	}
	.title a {
		display: block;
		width: 100%;
		max-width: 379px;
	}
	.navigation {
		position: fixed;
		display: block;
		width: 100%;
		top: -100%;
		left: 0;
		padding: 15vw 0 60px;
		background-color: #FFF;
		z-index: 8;
		overflow: scroll;
		height: 100%;
		-webkit-transition: all .2s ease-out; transition: all .2s ease-out;
	}
	.navigation.show {
		top: 0%;
	}
	.naviList {
		font-size: 0;
		text-align: center;
	}
	.naviList li {
		display: block;
		margin: 0;
		padding: 0;
	}
	.naviList li a {
		width: 100%;
		padding: 20px 0;
		border-bottom: 1px #0e53a7 dotted;
	}
	.naviList li a:first-child {
		border-top: 1px #0e53a7 dotted;
	}
	.naviList li a::after {
		display: none;
	}
	.naviList li a::before {
		border: none !important;
	}
	.menuBtn {
		position: fixed;
		top: 0;
		right: 0;
		padding: 7vw 10vw;
		z-index: 100;
	}
	.menuBtn span {
		display: block;
		position: absolute;
		right: 5vw;
		top: 7vw;
		width: 10vw;
		height: 5px;
		background-color: #05336a;
		-webkit-transition: .2s ease-out; transition: .2s ease-out;
	}
	.menuBtn span:before {
		content: "";
		position: absolute;
		top: -2vw;
		width: 10vw;
		height: 5px;
		background-color: #05336a;
		-webkit-transition: .2s ease-out;
		-moz-transition: .2s ease-out;
		transition: .2s ease-out;
	}
	.menuBtn span:after {
		content: "";
		position: absolute;
		top: 2vw;
		width: 10vw;
		height: 5px;
		background-color: #05336a;
		-webkit-transition: all .2s ease-out;
		-moz-transition: all .2s ease-out;
		transition: all .2s ease-out;
	}
	.menuBtn.show span {
		height: 0;
	}
	.menuBtn.show span:before {
		-webkit-transform: translateY(2vw) rotate(45deg);
		transform: translateY(2vw) rotate(45deg);
	}
	.menuBtn.show span:after {
		-webkit-transform: translateY(-2vw) rotate(-45deg);
		transform: translateY(-2vw) rotate(-45deg);
	}
	.contentBox {
		width: 100%;
		padding: 0 1em;
		margin: 0 auto;
	}
	.socialList li {
		margin: 0 2vw;
	}
	.socialList a {
		display: block;
		width: 10vw;
		height: 10vw;
	}
	.corporate a {
		width: 100%;
		height: 100%;
		max-width: 161px;
	}
	.copyright small {
		display: block;
	}
	
	
	
}



/* -----     common set    ----- */
.m5  { margin: 5px; }
.m10 { margin: 10px; }
.m15 { margin: 15px; }
.m20 { margin: 20px; }
.m30 { margin: 30px; }
.m40 { margin: 40px; }
.m50 { margin: 50px; }
.m60 { margin: 60px; }

.mt5  { margin-top: 5px; }
.mt10 { margin-top: 10px; }
.mt15 { margin-top: 15px; }
.mt20 { margin-top: 20px; }
.mt30 { margin-top: 30px; }
.mt40 { margin-top: 40px; }
.mt50 { margin-top: 50px; }
.mt60 { margin-top: 60px; }

.mr5  { margin-right: 5px; }
.mr10 { margin-right: 10px; }
.mr15 { margin-right: 15px; }
.mr20 { margin-right: 20px; }
.mr30 { margin-right: 30px; }
.mr40 { margin-right: 40px; }
.mr50 { margin-right: 50px; }
.mr60 { margin-right: 60px; }

.mb5  { margin-bottom: 5px; }
.mb10 { margin-bottom: 10px; }
.mb15 { margin-bottom: 15px; }
.mb20 { margin-bottom: 20px; }
.mb30 { margin-bottom: 30px; }
.mb40 { margin-bottom: 40px; }
.mb50 { margin-bottom: 50px; }
.mb60 { margin-bottom: 60px; }

.ml5  { margin-left: 5px; }
.ml10 { margin-left: 10px; }
.ml15 { margin-left: 15px; }
.ml20 { margin-left: 20px; }
.ml30 { margin-left: 30px; }
.ml40 { margin-left: 40px; }
.ml50 { margin-left: 50px; }
.ml60 { margin-left: 60px; }

.mtb5  { margin: 5px 0; }
.mtb10 { margin: 10px 0; }
.mtb15 { margin: 15px 0; }
.mtb20 { margin: 20px 0; }
.mtb30 { margin: 30px 0; }
.mtb40 { margin: 40px 0; }
.mtb50 { margin: 50px 0; }
.mtb60 { margin: 60px 0; }

.mrl5  { margin: 0 5px; }
.mrl10 { margin: 0 10px; }
.mrl15 { margin: 0 15px; }
.mrl20 { margin: 0 20px; }
.mrl30 { margin: 0 30px; }
.mrl40 { margin: 0 40px; }
.mrl50 { margin: 0 50px; }
.mrl60 { margin: 0 60px; }

.p5  { padding: 5px; }
.p10 { padding: 10px; }
.p15 { padding: 15px; }
.p20 { padding: 20px; }
.p30 { padding: 30px; }
.p40 { padding: 40px; }
.p50 { padding: 50px; }
.p60 { padding: 60px; }

.pt5  { padding-top: 5px; }
.pt10 { padding-top: 10px; }
.pt15 { padding-top: 15px; }
.pt20 { padding-top: 20px; }
.pt30 { padding-top: 30px; }
.pt40 { padding-top: 40px; }
.pt50 { padding-top: 50px; }
.pt60 { padding-top: 60px; }

.pr5  { padding-right: 5px; }
.pr10 { padding-right: 10px; }
.pr15 { padding-right: 15px; }
.pr20 { padding-right: 20px; }
.pr30 { padding-right: 30px; }
.pr40 { padding-right: 40px; }
.pr50 { padding-right: 50px; }
.pr60 { padding-right: 60px; }

.pb5  { padding-bottom: 5px; }
.pb10 { padding-bottom: 10px; }
.pb15 { padding-bottom: 15px; }
.pb20 { padding-bottom: 20px; }
.pb30 { padding-bottom: 30px; }
.pb40 { padding-bottom: 40px; }
.pb50 { padding-bottom: 50px; }
.pb60 { padding-bottom: 60px; }

.pl5  { padding-left: 5px; }
.pl10 { padding-left: 10px; }
.pl15 { padding-left: 15px; }
.pl20 { padding-left: 20px; }
.pl30 { padding-left: 30px; }
.pl40 { padding-left: 40px; }
.pl50 { padding-left: 50px; }
.pl60 { padding-left: 60px; }

.ptb5  { padding: 5px 0; }
.ptb10 { padding: 10px 0; }
.ptb15 { padding: 15px 0; }
.ptb20 { padding: 20px 0; }
.ptb30 { padding: 30px 0; }
.ptb40 { padding: 40px 0; }
.ptb50 { padding: 50px 0; }
.ptb60 { padding: 60px 0; }

.prl5  { padding: 0 5px; }
.prl10 { padding: 0 10px; }
.prl15 { padding: 0 15px; }
.prl20 { padding: 0 20px; }
.prl30 { padding: 0 30px; }
.prl40 { padding: 0 40px; }
.prl50 { padding: 0 50px; }
.prl60 { padding: 0 60px; }



















