@charset "UTF-8";


/*! layout ============================================== */

.base {
	display: flex;
	flex-direction: column;
	min-width: 1140px;
	min-height: 100vh;
	margin: 0;
	padding: 0;
	}

header {
	order: 1;
	position: relative;
	height: 115px;
	background-image: linear-gradient(120deg, #584ceb, #06b6e8 60%, #0081cc);
	background-size: 100% 80px;
	background-repeat: no-repeat;
	box-shadow: 0px 1px 1px 0px rgba(0,0,0,0.25);
	}

main {
	order: 2;
	flex: 1 1 auto;
	width: 1140px;
	margin: 0 auto;
	padding: 155px 30px 40px;
	}

footer {
	order: 3;
	padding: 0 0 20px;
	text-align: right;
	}


/*! outline ============================================= */

/* inner */
.inner {
	position: relative;
	width: 1140px;
	margin: 0 auto;
	padding: 0 30px;
	}

/* section */
main > section {
	width: 100%;
	margin-top: 40px;
	padding: 30px;
	background-color: #ffffff;
	box-shadow: 0px 1px 1px 0px rgba(0,0,0,0.25);
	}

/* margin（first） */
main > *:first-child,
main > section > *:first-child {
	margin-top: 0 !important;
	}


/*! head ============================================== */

/* logo */
header .logo {
	position: absolute;
	top: 25px;
	left: 30px;
	transition: 0.4s;
	}

header .logo p {
	display: inline-block;
	font-feature-settings: "palt";
	letter-spacing: 0.02em;
	font-size: 10px;
	font-weight: bold;
	line-height: 1.25;
	color: #9c9cf2;
	}

header .logo p a,
header .logo p a:hover {
	display: block;
	font-size: 24px;
	color: #ffffff;
	}

/* user */
header .user {
	position: absolute;
	top: 38px;
	right: 30px;
	}

header .user p {
	display: inline-block;
	min-height: 25px;
	padding: 0 15px 0 32px;
	background: url("../gfx/h_user.png") no-repeat left center;
	line-height: 25px;
	color: #ffffff;
	}

header .user .btn {
	display: inline-block;
	}

header .user .btn a {
	display: block;
	min-height: 24px;
	padding: 0 30px;
	background-color: #ffffff;
	border-radius: 2px;
	font-size: 11px;
	line-height: 24px;
	font-weight: bold;
	color: #2b749e;
	}

header .user .btn a:hover {
	background-color: #205080;
	color: #ffffff;
	}


/*! head（move） ============================================== */

header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 99;
	transition: 0.4s;
	}

header.move {
	margin-top: -80px;
	box-shadow: 0px 2px 4px 0px rgba(0,0,0,0.25);
	}

/* logo */
header.move .logo {
	top: 80px;
	z-index: 99;
	transition: 0.4s;
	}

header.move .logo p {
	color: transparent;
	}

header.move .logo p a,
header.move .logo p a:hover {
	font-size: 16px;
	line-height: 35px;
	color: #ffffff;
	}

/* nav */
header.move nav {
	background-color: rgba(10,80,180,0.8);
	transition: 1.5s;
	}

header.move nav > ul > li:not(:last-child)::after {
	color: #4dc1e6;
	}

header.move nav > ul > li > a,
header.move nav > ul > li > a:visited,
header.move nav > ul > li:hover > a {
	color: #ffffff;
	}


/*! foot ============================================== */

footer small {
	display: block;
	padding-top: 10px;
	border-top: 1px solid #aebbbf;
	font-size: 11px;
	color: #7c9299;
	}


/*! page top ============================================== */

.ptop {
	position: fixed;
	bottom: -30px;
	right: 35px;
	z-index: 999;
	}

.ptop span {
	position: relative;
	text-indent: -9999px;
	color: transparent;
	cursor: pointer;
	}

.ptop span::before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 30px;
	height: 30px;
	background-color: #828282;
	border-radius: 50%;
	transition: 0.4s;
	}

.ptop span::after {
	display: block;
	content: '';
	position: absolute;
	top: 12px;
	left: 11px;
	width: 8px;
	height: 8px;
	border-top: solid 2px #ffffff;
	border-right: solid 2px #ffffff;
	transform: rotate(-45deg);
	transition: 0.4s;
	}

.ptop span:hover::before {
	background-color: #4d4d4d;
	}

.ptop span:hover::after {
	border-top: solid 2px #ffd053;
	border-right: solid 2px #ffd053;
	}
