@charset "UTF-8";
/*-------------------------------------------------------------
///////////////////////////////////////////////////////////////
reset
///////////////////////////////////////////////////////////////
--------------------------------------------------------------*/

@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);

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, img, ins, kbd, q, s, samp,
small, strike, 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,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/*resetここまで*/


/*html5未対応ブラウザ用*/

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }



/*-------------------------------------------------------------
///////////////////////////////////////////////////////////////
common
///////////////////////////////////////////////////////////////
--------------------------------------------------------------*/

body {
	height:100%;
	font-family: "Noto Sans JP", sans-serif;
	color: #333;
	font-size:87%;
	line-height:160%;
	background: url("../images/bg.png") left top repeat-x, #0a1432;
	-webkit-text-size-adjust: 100%;
}
body#home {
	height:100%;
	font-family: "Noto Sans JP", sans-serif;
	color: #333;
	font-size:87%;
	line-height:160%;
	background: url("../images/bg.png") top center no-repeat, url("../images/bg2.png") top left repeat-x;
	-webkit-text-size-adjust: 100%;
}


* html body {  
	font-size:87%;  
}
/**/
*:first-child+html body {  
	font-size:87%;  
}

img {
	vertical-align:bottom;
	border:none;
	display:block;
}


/*-------------------------------------------------------------
///////////////////////////////////////////////////////////////
layout
///////////////////////////////////////////////////////////////
--------------------------------------------------------------*/

/* トップへ */
.page_top {
    width: 40px;
    height: 40px;
    right: 20px;
    bottom: 20px;
    position: fixed;
    border: 1px solid #0a1432;
    background: #d2f0fa;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
}
.page_top::before {
    content: "";
    display: block;
    width: 5px;
    height: 5px;
    border-top: 1px solid #0a1432;
    border-right: 1px solid #0a1432;
    transform: rotate(-45deg);
}


/*ページベース
------------------------------------------------------*/
html, body {
	height: 100%;
}
body > #wrapper {
    height: auto;
}

#wrapperHome {
	max-width:1920px;
	margin:0 auto;
	padding:0;
	min-height:1566px;
	height:auto !important;
	position:relative;
	text-align:left;
	background: url("../images/bg.png") top center no-repeat, url("../images/bg2.png") top left repeat-x;
}

/*ヘッダー
------------------------------------------------------*/

#mainVisual {
	width:850px;	
	height: auto;
	min-height: 880px;
	position:relative;
	background: url(../images/mainVisual.png) center top no-repeat;
}
header#headerHome {
	width:100%;
	height:150px;
}
header {
	width:100%;
	height:150px;
	position:relative;
	background: url("../images/bg_header.png") left top repeat-x;
	
	box-shadow: 0px 10px 10px -10px rgba(10,20,50,0.7);
	-webkit-box-shadow: 0px 13px 10px -10px rgba(10,20,50,0.7);

	z-index: 100;
}

#topTheme {
	display:block;
	max-width:1920px;
	height:auto;
	position:absolute;
	top:0px;
	left:0px;
	text-indent:-9999px;
}
.topDate {
	display:block;
	width:45%;
	height:auto;
	text-indent:-9999px;
	position: fixed;
	bottom: 10px;
	transform: translateX(3%);
}
.topDate img {
	width:50%;
	height: auto;
}
@media (width <= 1460px) {
	.topDate {
		max-width: 55%;
	}
	.topDate img {
		max-width: 55%;
	}
}
@media (width <= 768px) {
	.topDate {
		width: 100%;
		left: 0;
	}
	.topDate img {
		width: 100%;
		max-width: 100%;
	}
}


/*flexbox*/

.flex {
    display: -webkit-flex;
    /* Safari */
    display: flex;
    -webkit-flex-direction: row;
    /* Safari */
    flex-direction: row;
}

.flex-row-reverse {
    display: -webkit-flex;
    /* Safari */
    display: flex;
    -webkit-flex-direction: row-reverse;
    /* Safari */
    flex-direction: row-reverse;
}

.flex-column {
    display: -webkit-flex;
    /* Safari */
    display: flex;
    -webkit-flex-direction: column;
    /* Safari */
    flex-direction: column;
}

.flex-column-reverse {
    display: -webkit-flex;
    /* Safari */
    display: flex;
    -webkit-flex-direction: column-reverse;
    /* Safari */
    flex-direction: column-reverse;
}

.inline-flex {
    display: -webkit-inline-flex;
    /* Safari */
    display: inline-flex;
    -webkit-flex-direction: row;
    /* Safari */
    flex-direction: row;
}

.flex-start {
    -webkit-justify-content: flex-start;
    /* Safari */
    justify-content: flex-start;
}

.flex-center {
    -webkit-justify-content: center;
    /* Safari */
    justify-content: center;
}

.flex-end {
    -webkit-justify-content: flex-end;
    /* Safari */
    justify-content: flex-end;
}

.flex-space-around {
    -webkit-justify-content: space-around;
    /* Safari */
    justify-content: space-around;
}

.flex-space-between {
    -webkit-justify-content: space-between;
    /* Safari */
    justify-content: space-between;
}

.flex-align-center {
    -webkit-align-items: center;
    /* Safari */
    align-items: center;
}

.flex-align-end {
    -webkit-align-items: flex-end;
    /* Safari */
    align-items: flex-end;
}

.flex-wrap {
		-ms-flex-wrap:wrap;/*--- IE10用 ---*/
		-webkit-flex-wrap:wrap;/*--- safari（PC）用 ---*/
		flex-wrap:wrap;
}