@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Cardo:ital,wght@0,400;0,700;1,400&display=swap');
/*----------------------------------------------------*/

body {
    color: #fff;
	font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
	width:100%;
	min-width: 320px;
    margin: 0;
	background: #009EE7;
	*font-size:small;
	*font:x-small;
	font-feature-settings: "palt";
}
.serif {
	font-family: "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", "游明朝", "Yu Mincho", "YuMincho", "游明朝体", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
a.txtLink {
	color: #fff;
	text-decoration: none;
    transition: all .2s ease;
	word-break: break-all;
}
a.txtLink:hover {
	color: #00B3FF;
	background: #fff;
}
a img {
	transition: all .2s ease;
}
a:hover img {
	opacity: 0.6;
}
ul {
	list-style: none;
}

/*
Page Loader
*/
#loader_base {
	width: 100%;
	height: 100%;
	background-color: #000;
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 20000;
}
.page #loader_base {
	background-color: #009EE7;
}
#loader img{
	width: 50px;
	height: auto;
}
#loader p {
	font-family: 'Cardo', serif;
	color: #fff;
	font-size: 12px;
	text-align: center;
	margin-top: 20px;
}

#container {
	width: 100%;
	background-image: url(../images/bg_page.svg);
	background-size: 100vw;
	background-repeat: repeat-y;
}
#top #container {
	background-position: left 100vh;
}
#page #container {
	background-position: left -10vh;
}
.contentsBody {
    max-width: 1280px;
    margin: auto;
}

.flex {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}



/*
header
*/
#headerArea {
	width: 100%;
	z-index: 5000;
	position: fixed;
}
header {
	color: #fff;
	width: 100%;
	padding: 4vh 0 4vh;
    margin: 0;
	display: flex;
	justify-content: space-between;
	z-index: 5000;
}
#header_bg {
	width: 100%;
	height: 10vh;
	min-height: 150px;
	position: absolute;
	top: 0;
	background: rgb(0,158,231);
	background: linear-gradient(to top, rgba(0,158,231,0) 0%, rgba(0,158,231,0.9) 70%);
	z-index: 5000;
}

header .titleArea {
	 margin: 0 auto 0 2vw;
	z-index: 5010;
}
header .titleArea h1 {
}
header .titleArea h1 span {
}
header .titleArea .site_logo img {
	max-width: 140px;
}
header .titleArea a {
	z-index: 5004;
	display: inline-block;
}

#head_copy {
	font-family: 'Lato', sans-serif;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .1em;
	width: 160px;
	margin: 0px auto 0 2vw;
	z-index: 5010;
}
#head_copy img {
	width: 100%;
}

#menu {
	z-index: 5010;
}
#menu .menu_head {
	display: none;
}
#menu nav a {
    color: #fff;
    display: block;
    height: 100%;
}
#menu nav ul {
	list-style: none;
	display: flex;
	justify-content: space-around;
}
#menu nav ul li {
    text-align: center;
}
#menu #nav_main {
}
#menu #nav_main li a {
	display: block;
	padding: 10px 2vw;
}
#menu #nav_main li img {
	max-height: 10px;
}
#menu #nav_main li a:hover {
}

/*
footer
*/
#footerArea {
    width: 100%;
	background: #333;
}
footer {
	color: #fff;
	width: 100%;
	padding: 10vh 2vw;
    margin: 0;
	display: flex;
	justify-content: space-between;
}
footer a {
	color: #fff;
	display: inline-block;
}

footer #copyright {
	color: #fff;
    font-size: 12px;
}
footer nav {
	color: #fff;
    font-size: 12px;
	margin-left: auto;
}

#totop {
	color: #009EE7;
	font-family: 'Lato', sans-serif;
	font-size: 14px;
	line-height: 60px;
	display: flex;
	position: fixed;
	width: 60px;
	height: 60px;
	border-radius: 60px;
	bottom: 2vh;
	right: 2vh;
	background: #fff;
	box-shadow: 0 0px 10px -2px rgba(0,0,0,.5);
	cursor: pointer;
	z-index: 4000;
}
#totop span {
	display: block;
	width: 20px;
	height: 20px;
	border-top: 2px solid #009EE7;
	border-right: 2px solid #009EE7;
	transform: translate(21px,25px) rotate(-45deg);
}
#totop:hover {
	transition: all .2s ease;
	background: #009EE7;
}
#totop:hover span {
	border-color: #fff;
}

.sp {
	display: none;
}
.sp2 {
	display: none;
}
.pc {
	display: inline-block;
}


@media screen and (max-width: 768px) {
#container {
	width: 100%;
	background-image: url(../images/bg_page.svg);
	background-size: 100vw;
	background-repeat: repeat-y;
	background-position: left calc(100vw);
}
.contentsBody {
    width: 100%;
    margin: auto;
}

/*
header
*/
#headerArea {
	width: 100%;
	min-width: 100%;
	z-index: 1004;
}
header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
	padding: 2vh 0 2vh;
    width: 100%;
    height: 100%;
}
#header_bg {
	min-height: 100px;
}

header .titleArea .site_logo img {
	max-height: 30px;
}

#navBtn {
	width: 30px;
	height: 30px;
	display: block;
	position: absolute;
	top: 15px;
	right: 10px;
	overflow: hidden;
	cursor: pointer;
	z-index: 6010;
}
#navBtn span {
	width: 100%;
	height: 1px;
	background-color: #fff;
	position: relative;
	transition: ease .4s;
	display: block;
	z-index: 6020;
}
#navBtn  span:nth-child(1) {
    top: 0;
}
#navBtn  span:nth-child(2) {
    margin: 8px 0;
}
#navBtn  span:nth-child(3) {
    top: 0;
}
#navBtn.active span:nth-child(1) {
    top: 5px;
    transform: rotate(45deg);
}
#navBtn.active span:nth-child(2) {
    opacity: 0;
}
#navBtn.active span:nth-child(3) {
    top: -13px;
    transform: rotate(-45deg);
} 

#menu {
    padding: 0;
    position: absolute;
    right: 0;
    left: 0;
    top: -100vh;
    width: 100%;
    height: 100vh;
    transform: translateX(0%);
    background-color: rgba(0,0,0,.9);
    transition: ease .4s;
    opacity: 0;
    z-index: 6000;
}
#menu.active {
    transition: ease .4s;
    transform: translateX(0);
    top: 0;
    opacity: 1;
    z-index: 6000;
}
#menu .menu_head {
	display: block;
	margin: 5vh;
	opacity: .5;
}
#menu .menu_head img {
	max-height: 20px;
	display: block;
	margin: 2vh 1%;
}
#menu nav a {
    color: #fff;
	font-family: 'Lato', sans-serif;
	font-size: 24px;
    display: block;
    height: 100%;
}
#menu nav ul {
	list-style: none;
	display: static;
	margin: 0 5vh;
	justify-content: space-between;
}
#menu nav ul li {
    text-align: left;
}
#menu #nav_main {
    width: 100%;
    height: auto;
	padding-top: 5vh;
	position: static;
}
#menu #nav_main ul {
    display: flex;
    flex-wrap: wrap;
	flex-direction: column;
    borde: none;
}
#menu #nav_main li {
    width: 100%;
    margin-bottom: 5vh;
    border-right: none;
}
#menu #nav_main li a:hover {
	background: #333;
}
#menu #nav_main li img {
	max-height: 20px;
}
#menu #nav_main li a:hover {
}

.sp {
	display: none;
}
.sp2 {
	display: inline-block;
}
.pc {
	display: inline-block;
}

}

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

#head_copy {
	width: 100px;
}

header .titleArea .site_logo img {
	max-height: 20px;
}


.sp {
	display: inline-block;
}
.sp2 {
	display: none;
}
.pc {
	display: none;
}

}


/*
*/
header:after, section:after, .contentsBody:after, footer:after, #navigation ul:after, .clearfix:after {
	content: "";
	clear: both;
	display: block;
}
