@charset "UTF-8";


/* Reset style
------------------------------------------------------------------------------------------------- */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i, svg,
dl, dt, dd, outline, ul, ol, 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%;
	box-sizing: border-box;
	vertical-align: baseline;
	background: transparent; }

body {
	line-height: 1; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block; }

nav ul li {
	list-style: none; }

blockquote, q {
	quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none; }

a {
	display: inline-flex;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	color: inherit;
	font-size: 100%;
	text-decoration: none;
	vertical-align: baseline;
	background: transparent; }

ins {
	background-color: #ff9;
	color: #000;
	text-decoration: none; }

mark {
	background-color: #ff9;
	color: #212121;
	font-style: italic;
	font-weight: bold; }

del {
	text-decoration: line-through; }

abbr[title], dfn[title] {
	border-bottom: 1px dotted;
	cursor: help; }

table {
	border-collapse: collapse;
	border-spacing: 0; }

hr {
	display: block;
	height: 1px;
	border: 0;  
	border-top: 1px solid #cccccc;
	margin: 1em 0;
	padding: 0; }

input, select {
	margin: 0;
	font-weight: 500;
	vertical-align: middle; }

select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none; }

input[type="time"]::-webkit-calendar-picker-indicator {
	background: none; }

input::-ms-reveal {
	visibility: hidden }

input::-ms-clear {
	visibility: hidden }

select::-ms-expand {
	display: none; }

@-ms-viewport {
	width: auto; }



/* Common flame style
------------------------------------------------------------------------------------------------- */
:root {
	height: 100%;
	font-size: 62.5%;
	-ms-overflow-style: scrollbar; }

body {
	width: 100%;
	height: 100%;
	min-height: 100%;
	min-height: -webkit-fill-available;
	color: #313a46;
	font-size: 1.6rem;
	font-weight: 500;
	font-family: "Averia Serif Libre", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
	background-color: transparent;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	text-size-adjust: 100%; }

body.login {
	background: -webkit-linear-gradient(#ffdee9, #b5fffc);
	background: -o-linear-gradient(#ffdee9, #b5fffc);
	background: linear-gradient(#ffdee9, #b5fffc);
	background-attachment: fixed; }

body.login .contents { background: transparent; }

body.login > .wrapper > .global,
body.login > .wrapper > .global ~ .main > .header {
	display: none; }

.wrapper {
	display: flex;
	overflow: auto;
	height: 100%;
	min-height: 100%;
	background-color: var(--gray-shine); }

.global {
	display: flex;
	position: fixed;
	background-color: rgba(55,64,74,.7);
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 0;
	opacity: 0;
	transition: all .2s ease-out; }

.global.js-global {
	opacity: 1;
	z-index: 200; }

.main {
	width: 100%;
	display: flex;
	flex: 0 1 auto;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	flex-direction: column;
	position: relative;
	left: 0; }

.header {
	width: 100%;
	height: 56px;
	background: var(--white);
	box-shadow: 0 .125rem .25rem rgba(0,0,0,.075);
	z-index: 100;
	top: 0;
	transition: all .2s ease-out;
	-webkit-transform: translateY(0);
	transform: translateY(0); }

.global ~ .main,
.global ~ .main > .header {
	width: 100%;
	left: 0; }

.global.js-global ~ .main > .header,
.global.js-global ~ .main > .header ~ .contents {
	filter: blur(2px); }

.modal {
	position: fixed;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: rgba(55,64,74,.6);
	z-index: 200; }

.modal[data-type="iframe"] {
	display: flex; }

.modal.js-toggle_target.js-toggle {
	display: flex; }


@media screen and (max-width: 519px) {
	.wrapper {
		height: 100%; }
		background-color: inherit; }
/*
	.header {
		background-color: inherit; }
*/
}

@media screen and (min-width: 520px) {
	.wrapper {
		height: 100%;
		min-height: 100%; }
}

@media screen and (min-width: 960px) {
	.global {
		width: auto;
		margin-left: -288px; }

	.global.js-global {
		width: 288px;
		margin-left: 0; }

	.global.js-global ~ .main {
		width: calc(100% - 288px);
		left: 288px;
		transition: all .2s ease-out; }

	.global.js-global ~ .main > .header {
		filter: none;
		left: 288px; }
	
	.global.js-global ~ .main > .header ~ .contents {
		filter: none; }

	.modalMain {
		width: auto;
		max-width: calc(100% - 32px); }
}

.b1 {
	position: relative;
	display: flex; }

.b2 {
	position: relative;
	flex: 0 1 auto;
	align-self: auto; order: 1; }

.js-theadSticky {
	position: sticky;
	top: 0;
	z-index: 1;
	transition: all .2s ease-out;
	-webkit-transform: translateY(0);
	transform: translateY(0); }

.js-scrollTop {
	display: none;
	position: fixed;
	right: 48px;
	bottom: 96px;
	z-index: 100; }

.js-scrollTop > div.pa-button.trigger > a {
	width: 56px;
	height: 56px;
	border-radius: 56px;
	box-shadow: 0 0 32px 0 rgb(154,161,171,.88); }

@media screen and (max-width: 519px) {
	.js-scrollTop {
		right: 16px;
		bottom: 16px; }
}