body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
textarea,
button,
p,
blockquote,
th,
td {
	margin: 0;
	padding: 0
}

img {
	vertical-align: top;
	border: 0
}

a img {
	border: 0
}

table {
	border-collapse: collapse;
	border-spacing: 0
}

fieldset,
img {
	border: 0
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
	font-style: normal;
	font-weight: normal
}

ol,
ul {
	list-style: none
}

caption,
th {
	text-align: left
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: 100%;
	font-weight: normal
}

abbr,
acronym {
	border: 0
}

html {
	box-sizing: border-box
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block
}

html {
	overflow-x: auto;
	height: 100%
}

body {
	width: 100%;
	overflow-x: hidden;
	font-family: "Noto Sans JP", sans-serif, "Hiragino Kaku Gothic Pro", "Meiryo", "MS PGothic", sans-serif;
	font-size: 20px;
	line-height: 1.6;
	color: #000000
}


body:before {
	content: "";
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 100vh;
	background: #fff url(../images/bg_common.jpg) no-repeat top center
}

@media (min-width: 2401px) {
	body:before {
		background-size: cover
	}
}

* {
	box-sizing: border-box
}

a {
	text-decoration: none;
	outline: none;
	color: #fff
}

@media (min-width: 801px) {
	/* a {
		transition-duration: 0.3s;
		transition-delay: 0.1s;
		-webkit-animation-timing-function: ease-out;
		animation-timing-function: ease-out
	}

	a:hover {
		color: #ffff00;
		text-shadow: #FC0 1px 0 10px
	} */
}

a:focus,
*:focus {
	outline: none
}

img {
	vertical-align: top;
	line-height: 0;
	font-size: 0
}

@media (min-width: 801px) {
	.hvr {
		transition-duration: 0.2s;
		-webkit-animation-timing-function: ease-out;
		animation-timing-function: ease-out;
		-webkit-transform: perspective(1px) translateZ(0);
		transform: perspective(1px) translateZ(0)
	}

	.hvr:hover,
	.hvr:focus,
	.hvr:active {
		-webkit-transform: scale(1.1);
		transform: scale(1.1);
		-webkit-filter: brightness(130%);
		filter: brightness(130%)
	}
}

.dmy {
	-webkit-filter: grayscale(100%) brightness(50%);
	filter: grayscale(100%) brightness(50%);
	pointer-events: none
}

#header {
	background: url(../images/bg_head.png) repeat-x top center;
	height: 210px;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center
}

#header h1 {
	margin-top: 30px
}

#header .nav {
	margin-left: 48px;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center
}

#header .nav li {
	display: block;
	background: url(../images/ico1.png) no-repeat left center;
	margin-right: 38px;
	line-height:42px;
	height:42px;
	padding-left: 60px;
	transition: all .3s;
}
#header .nav li.active{
		background: url(../images/ico2.png) no-repeat left center;
}
#header .nav li.active a{
	    text-shadow: 0 0 3px rgba(0, 160, 233, 0.8);
	   color: #0ea5ea; 
}
#header .nav li  a{
	color:#333;
	font-size: 24px;
	font-weight: bold;
}
#header .nav li:last-child {
	margin-right: 0
}
#header .nav li:hover{
	transform: scale(1.2);
}


#header .navSp {
	display: none
}

#ex .snsCol {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	margin-bottom: 60px
}

#ex .snsCol li {
	margin: 0 4px
}

@media (min-width: 801px) {
	#ex .snsCol li img {
		transition-duration: 0.2s;
		-webkit-animation-timing-function: ease-out;
		animation-timing-function: ease-out;
		-webkit-transform: perspective(1px) translateZ(0);
		transform: perspective(1px) translateZ(0)
	}

	#ex .snsCol li img:hover,
	#ex .snsCol li img:focus,
	#ex .snsCol li img:active {
		-webkit-transform: scale(1.1);
		transform: scale(1.1);
		-webkit-filter: brightness(100%);
		filter: brightness(100%)
	}
}

#ex .exCol {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	background: #2a2a29;
	width: 100%;
	height: 143px
}

#ex .exCol li {
	margin-right: 82px
}

#ex .exCol li:last-child {
	margin-right: 0
}

#footer {
	background: url(../images/bg_footer.png) no-repeat center center;
	background-size: cover;
	padding-top: 44px;
	padding-bottom: 34px
}

#footer p,
#footer small {

	overflow: hidden;
	display: block;
	text-align: center;

	margin-left: auto;
	margin-right: auto
}

#footer small {
	width: 511px;
	height: 16px;
	margin-bottom: 40px;
	background: url(../images/text_copy.png) no-repeat center center;
	background-size: 100%
}
#footer .copy{
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 1186px;
	margin:0 auto 30px;
	max-width: 94%;
}
#footer p {
	width: 1186px;
	
	
	color:#fff;
	text-align: center;
	background-size: 100%
}

#footer .footerInner {
	width: 1200px;
	margin: 0 auto;
	height: 60px;
}
main{
	padding-bottom: 100px;
}

#footer .footerInner .footerBtnCol {
	display: -webkit-flex;
	display: flex
}

#footer .footerInner .footerBtnCol li {
	display: block
}

@media (min-width: 801px) {
	#footer .footerInner .footerBtnCol li img {
		transition-duration: 0.2s;
		-webkit-animation-timing-function: ease-out;
		animation-timing-function: ease-out;
		-webkit-transform: perspective(1px) translateZ(0);
		transform: perspective(1px) translateZ(0)
	}

	#footer .footerInner .footerBtnCol li img:hover,
	#footer .footerInner .footerBtnCol li img:focus,
	#footer .footerInner .footerBtnCol li img:active {
		-webkit-transform: scale(1.1);
		transform: scale(1.1);
		-webkit-filter: brightness(100%);
		filter: brightness(100%)
	}
}

#footer .footerInner .footerBtnCol li:first-child {
	margin-right: 30px
}

#footer .footerLogoCol {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
	-webkit-align-items: flex-end;
	align-items: flex-end
}

#footer .footerLogoCol li {
	display: block;
	margin-right: 30px
}

#footer .footerLogoCol li:last-child {
	margin-right: 0
}

@media (min-width: 801px) {
	#footer .footerLogoCol li img {
		transition-duration: 0.2s;
		-webkit-animation-timing-function: ease-out;
		animation-timing-function: ease-out;
		-webkit-transform: perspective(1px) translateZ(0);
		transform: perspective(1px) translateZ(0)
	}

	#footer .footerLogoCol li img:hover,
	#footer .footerLogoCol li img:focus,
	#footer .footerLogoCol li img:active {
		-webkit-transform: scale(1.1);
		transform: scale(1.1);
		-webkit-filter: brightness(100%);
		filter: brightness(100%)
	}
}

#titlelogo {
	display: block
}

#main {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: flex-start;
	align-items: flex-start;
 width: 1520px; 
	margin: 0 auto 64px;
	position: relative;
	width: 80%;
}

#main::before {
	display: block;
	content: "";
	position: fixed;
	z-index: -1;
	top: -20px;
	left: 0;
	background: url(../images/character.png) no-repeat top center;
	width: 100%;
	height: calc(100vh + 20px);
	pointer-events: none
}

#mainCol {
	position: relative;
	width: 73%;
	box-sizing: border-box;
	border: 8px solid #13156e;
	padding: 64px 0 0;
	box-sizing: border-box;
	background: #fff;
	/* background: #fff url(../images/bg_archive.png) repeat-y top 174px center; */
	text-align: center
}

#mainCol .mb {
	margin-bottom: 48px
}

#mainCol .mt {
	margin-top: 48px
}

#mainCol .mb_s {
	margin-bottom: 24px
}

#mainCol .mt_s {
	margin-top: 24px
}

#mainCol .mb_l {
	margin-bottom: 96px
}

#mainCol .mt_l {
	margin-top: 96px
}

#mainCol .mb_m {
	margin-bottom: 32px
}

#mainCol .mt_m {
	margin-top: 32px
}

#mainCol .mb_stit {
	margin-bottom: 8px
}

#mainCol .explainCol {
	background: url(../images/bg_blue.png) repeat;
	width: 100%;
	margin: 0 auto
}

#mainCol .endText {
	padding-top: 100px;
	position: absolute;
	width: 100%
}
.sp_top_head{
	display: flex;
	width: 80%;
	justify-content: space-between;
}
#mainCol .endText img {
	margin: 0 auto
}

#mainCol .endColInner {
	opacity: 0.1
}
#mainCol img{
	max-width: 100%;
}
#snavi {
	position: relative;
	background: url(../images/bg_snavi.png) repeat center center;
	width: 25%;
	margin-right: 2%;
	padding: 27px 14px 4px;
	box-sizing: border-box;
}

#snavi::before {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	background: url(../images/bg_snavi_02.png) no-repeat top center;
	width: 100%;
	height: 100%;
	pointer-events: none
}

#snavi h2 {
	margin-bottom: 20px;
	color:#fff;
	font-size: 20px;
}

#snavi ul {
	margin-bottom: 10px
}

#snavi ul:last-child {
	margin-bottom: 0
}

#snavi li {
	position: relative;
	width: 100%;
	/* height: 140px; */
	box-sizing: border-box;
	background: rgba(0, 0, 0, 0.5);
	box-shadow: rgba(0, 0, 0, 0.1) 5px 5px 18px, rgba(0, 0, 0, 0.1) -5px 5px 18px, rgba(0, 0, 0, 0.1) 5px -5px 18px, rgba(0, 0, 0, 0.1) -5px -5px 18px;
	color: #ffffff;
	margin-bottom: 10px;
	font-style: italic;
	transition-duration: 0.3s;
	padding:20px 30px;
	box-sizing: border-box;
}

#snavi li a{
	display: flex !important;
	align-items: center;
	flex-wrap: wrap;
	    height: 100%;
		font-size: 22px;
	
}
#snavi li::before {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	background: url(../images/icon_snavi.png) no-repeat center center;
	width: 32px;
	height: 100%;
	pointer-events: none
}

#snavi li a {
	font-weight: 400;
	display: block;
	line-height: 1.3em
}

#snavi li a img {
	display: block;
	margin: 0 auto
}

#snavi li span {
	line-height: 1.6em;
	font-weight: 100;
	display: block;
	letter-spacing: 0.07em
}

#snavi li.active {
	box-shadow: rgba(70, 206, 206, 0.1) 5px 5px 18px, rgba(70, 206, 206, 0.1) -5px 5px 18px, rgba(70, 206, 206, 0.1) 5px -5px 18px, rgba(70, 206, 206, 0.1) -5px -5px 18px;
	background: rgba(70, 206, 206, 0.5)
}

#snavi li:hover {
	box-shadow: rgba(70, 206, 206, 0.5) 5px 5px 18px, rgba(70, 206, 206, 0.1) -5px 5px 18px, rgba(70, 206, 206, 0.5) 5px -5px 18px, rgba(70, 206, 206, 0.5) -5px -5px 18px;
	background: rgba(70, 206, 206, 0.8)
}

#snavi .toggleSnavi {
	cursor: pointer;
	position: relative;
	display: block;
	width: 100%;
	color: #ffffff;
	margin-bottom: 10px;
	font-style: italic;
	transition-duration: 0.3s;
	box-shadow: rgba(70, 206, 206, 0.1) 5px 5px 18px, rgba(70, 206, 206, 0.1) -5px 5px 18px, rgba(70, 206, 206, 0.1) 5px -5px 18px, rgba(70, 206, 206, 0.1) -5px -5px 18px;
	background: rgba(70, 206, 206, 0.5)
}

#snavi .toggleSnavi::before {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	background: url(../images/icon_toggle.png) no-repeat center center;
	width: 60px;
	height: 100%;
	pointer-events: none;
	-webkit-transform: rotateX(180deg);
	transform: rotateX(180deg)
}

#snavi .toggleSnavi:hover {
	box-shadow: rgba(70, 206, 206, 0.5) 5px 5px 18px, rgba(70, 206, 206, 0.1) -5px 5px 18px, rgba(70, 206, 206, 0.5) 5px -5px 18px, rgba(70, 206, 206, 0.5) -5px -5px 18px;
	background: rgba(70, 206, 206, 0.8)
}

#snavi .toggleSnavi.jsClose {
	background: rgba(17, 18, 41, 0.6);
	box-shadow: rgba(0, 0, 0, 0.1) 5px 5px 18px, rgba(0, 0, 0, 0.1) -5px 5px 18px, rgba(0, 0, 0, 0.1) 5px -5px 18px, rgba(0, 0, 0, 0.1) -5px -5px 18px
}

#snavi .toggleSnavi.jsClose:hover {
	box-shadow: rgba(70, 206, 206, 0.5) 5px 5px 18px, rgba(70, 206, 206, 0.1) -5px 5px 18px, rgba(70, 206, 206, 0.5) 5px -5px 18px, rgba(70, 206, 206, 0.5) -5px -5px 18px;
	background: rgba(70, 206, 206, 0.8)
}

#snavi .toggleSnavi.jsClose::before {
	-webkit-transform: rotateX(0deg);
	transform: rotateX(0deg)
}

.infoStit {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	background: url(../images/bg_stit.png) no-repeat center center;
	background-size: cover;
	font-size: 50px;
	width: 1016px;
	margin: 0 auto;
	padding: 30px 0 30px 24px;
	text-align: left;
	color: #FFF
}

.infoCol {
	width: 1016px;
	margin: 0 auto;
	box-sizing: border-box;
	border-right: 4px solid #35cdd6;
	border-left: 4px solid #4a52b1;
	font-size: 24px;
	text-align: left;
	color: #13488f;
	text-shadow: rgba(19, 72, 143, 0.4) 1px 0 5px;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt"
}

.infoCol p {
	margin: 24px
}

.infoCol h5 {
	background: linear-gradient(to left, #35cdd6, #4a52b1);
	padding: 24px;
	color: #FFF
}

.infoCol .credit {
	font-size: 18px;
	text-align: right
}

.infoCol:before,
.infoCol:after {
	content: "";
	display: block;
	height: 4px;
	width: 100%;
	background: linear-gradient(to left, #35cdd6, #4a52b1)
}

.noticeCol {
	width: 995px;
	margin: 40px auto 0;
	box-sizing: border-box;
	border-right: 4px solid #35cdd6;
	border-left: 4px solid #4a52b1;
	font-size: 24px;
	text-align: left;
	color: #13488f;
	text-shadow: rgba(19, 72, 143, 0.4) 1px 0 5px
}

.noticeCol:before,
.noticeCol:after {
	content: "";
	display: block;
	height: 4px;
	width: 100%;
	background: linear-gradient(to left, #35cdd6, #4a52b1)
}

.noticeCol>ul {
	padding: 24px
}

.noticeCol>ul>li {
	padding-left: 1em;
	text-indent: -1em;
	margin-bottom: .5em
}

.noticeCol>ul>li:last-child {
	margin-bottom: 0
}

.noticeInner {
	padding-bottom: 24px
}

.noticeInner .noticeList {
	width: 995px;
	margin: 0 auto 0;
	box-sizing: border-box;
	border: 4px solid #FFF;
	font-size: 24px;
	text-align: left;
	color: #FFF;
	text-shadow: rgba(19, 72, 143, 0.4) 1px 0 5px
}

.noticeInner .noticeList:before,
.noticeInner .noticeList:after {
	content: "";
	display: block;
	height: 4px;
	width: 100%
}

.noticeInner .noticeList>ul {
	padding: 24px
}

.noticeInner .noticeList>ul>li {
	padding-left: 1em;
	text-indent: -1em
}

.imgBox {
	margin-left: -28px
}

.basicBox {
	border: #13488f 8px solid;
	box-sizing: border-box;
	width: 1040px;
	margin: 0 auto;
	background: #FFF;
	padding: 9px
}

.basicBox .cell {
	display: -webkit-flex;
	display: flex;
	position: relative;
	-webkit-align-items: center;
	align-items: center;
	text-align: left;
	min-height: 124px
}

.basicBox .cell:nth-child(odd) {
	background: url(../images/bg_odd.png) repeat left top
}

.basicBox .cell:nth-child(even) {
	background: url(../images/bg_even.png) repeat left top
}

.infoText {
	color: #062e9f;
	font-weight: 600;
	font-size: 24px;
	padding: 1em 0
}

.infoText a {
	text-decoration: underline;
	color: #fe1572
}

/*# sourceMappingURL=../maps/_zh/layout.css.map */
