@charset "UTF-8";

/************************************************************
/
/ ブラウザ依存のデフォルトスタイルをリセット
/
/ **********************************************************/

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,
dl,
dt,
dd,
ol,
ul,
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;
	vertical-align: baseline;
	background: transparent;
}

body {
	line-height: 1;
	-webkit-text-size-adjust: none;
	font-family: "NotoSansCJKjp";
}

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

blockquote,
q {
	quotes: none;
}

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

a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
	text-decoration: none;
	color: #fff;
	display: block;
	outline: none;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	tap-highlight-color: rgba(0, 0, 0, 0);
}

a img {
	border: none;
}

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

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

li {
	list-style: none;
}

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;
}

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

img {
	width: 100%;
	max-width: 100%;
	height: auto;
	vertical-align: top;
	font-size: 0;
	line-height: 0;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-moz-touch-callout: none;
	-moz-user-select: none;
	touch-callout: none;
	user-select: none;
}

*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}


/*****************************
/
共通CSS
/
*****************************/

@font-face {
	font-family: 'NotoSansCJKjp';
	font-style: normal;
	font-weight: normal;
	src: url('/css/font/NotoSansCJKjp-Regular.woff') format('woff'), url('/css/font/NotoSansCJKjp-Regular.ttf') format('truetype'), url('/css/font/NotoSansCJKjp-Regular.otf') format('opentype');
}

body {
	/*font-family: NotoSansCJKjp, sans-serif;*/
	font-family: 'Noto Sans JP', sans-serif;
	color: #fff;
	position: relative;
	margin: 0px;
	padding: 0px;
	background-color: hsl(158, 5%, 20%);
	background-repeat: repeat-x;
}

ul {
	list-style-type: none;
	margin-block-start: 0em;
	margin-block-end: 0em;
	margin-inline-start: 0px;
	margin-inline-end: 0px;
	padding-inline-start: 0px;
}

p {
	margin-block-start: 0em;
	margin-block-end: 0em;
	margin-inline-start: 0px;
	margin-inline-end: 0px;
}


/* 上端の緑バー背面 */

#topbar {
	background-color: hsl(158, 80%, 40%);
	width: 100%;
	height: 4px;
	position: absolute;
	z-index: 10000000000000000000;
}


/* 上端の緑バー前面（サイドバーの上） */

#topbar-aside {
	background-color: hsl(158, 80%, 40%);
	width: 250px;
	height: 4px;
	position: absolute;
	z-index: 10000000000000000000000000000000000000000000;
}

#body,
.blank-body {
	position: absolute;
	width: 600px;
	left: 250px;
	top: 0;
	background-color: hsl(158, 5%, 20%);
	background-image: url("/pc/images/bg/header_bg.png");
	background-repeat: repeat-x;
}

#main {
	height: 100vh;
}

#content {
	margin-top: 40px;
	width: 560px;
	margin-left: auto;
	margin-right: auto;
	display: none;
	padding-bottom: 100px;
}


/* #contentのレスポンシブル設定 */

@media screen and (min-width: 600px) and (max-width: 1078px) {
	#content {
		width: 560px;
	}
}

@media screen and (min-width:1079px) {
	#content {
		width: 800px;
	}
}

@media screen and (min-width:1366px) {
	#content {
		width: 1000px;
	}
}

#content-inner-html {
	display: none;
}

#blank-body {
	height: 100vh;
}

#loading-app {
	position: fixed;
	width: 100%;
	height: 100vh;
	z-index: 1000;
}

#loading-text {
	font-size: 16px;
	line-height: 16px;
	color: hsl(0, 0%, 40%);
	text-align: center;
	width: 100%;
}

#content-clearfix {
	clear: both;
	height: 30px;
}


/* ----------------------------------------------------
/
汎用テンプレートCSS
/
/ ---------------------------------------------------- */

._auto-height {
	height: auto;
}

._floatL {
	float: left;
}

._floatR {
	float: right;
}

._center {
	clear: both;
	float: none;
	margin-left: auto !important;
	margin-right: auto !important;
	display: block !important;
}

._hidden {
	display: none;
}


/* 1行テキストはみ出し時に「...」にする */

._ellipse {
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}


/* 複数行テキストはみ出し時に「...」にする（実際にはJS側でこのクラス名を判定して処理します） */

._ellipseLines {
	display: inline-block;
	overflow: hidden;
}


/* ----------------------------------------------------
/
margin
/
/ ---------------------------------------------------- */

.mt-05 {
	margin-top: -5px !important;
}

.mt-10 {
	margin-top: -10px !important;
}

.mt-15 {
	margin-top: -15px !important;
}

.mt-20 {
	margin-top: -20px !important;
}

.mt-25 {
	margin-top: -25px !important;
}

.mt-30 {
	margin-top: -30px !important;
}

.mt-35 {
	margin-top: -35px !important;
}

.mt-40 {
	margin-top: -40px !important;
}

.mt-50 {
	margin-top: -50px !important;
}

.mt-60 {
	margin-top: -60px !important;
}

.mt-70 {
	margin-top: -70px !important;
}

.mt-80 {
	margin-top: -80px !important;
}

.mt00 {
	margin-top: 0px !important;
}

.mt05 {
	margin-top: 5px !important;
}

.mt10 {
	margin-top: 10px !important;
}

.mt15 {
	margin-top: 15px !important;
}

.mt20 {
	margin-top: 20px !important;
}

.mt25 {
	margin-top: 25px !important;
}

.mt30 {
	margin-top: 30px !important;
}

.mt35 {
	margin-top: 35px !important;
}

.mt40 {
	margin-top: 40px !important;
}

.mt50 {
	margin-top: 50px !important;
}

.mt60 {
	margin-top: 60px !important;
}

.mt70 {
	margin-top: 70px !important;
}

.mt80 {
	margin-top: 80px !important;
}

.mt90 {
	margin-top: 90px !important;
}

.mt100 {
	margin-top: 100px !important;
}

.mb00 {
	margin-bottom: 0px !important;
}

.mb05 {
	margin-bottom: 5px !important;
}

.mb10 {
	margin-bottom: 10px !important;
}

.mb15 {
	margin-bottom: 15px !important;
}

.mb20 {
	margin-bottom: 20px !important;
}

.mb25 {
	margin-bottom: 25px !important;
}

.mb30 {
	margin-bottom: 30px !important;
}

.mb35 {
	margin-bottom: 35px !important;
}

.mb40 {
	margin-bottom: 40px !important;
}

.mb50 {
	margin-bottom: 50px !important;
}

.mb60 {
	margin-bottom: 60px !important;
}

.mb70 {
	margin-bottom: 70px !important;
}

.mb80 {
	margin-bottom: 80px !important;
}

.mb90 {
	margin-bottom: 90px !important;
}

.mb100 {
	margin-bottom: 100px !important;
}

.mr00 {
	margin-right: 0px !important;
}

.mr05 {
	margin-right: 5px !important;
}

.mr10 {
	margin-right: 10px !important;
}

.mr15 {
	margin-right: 15px !important;
}

.mr20 {
	margin-right: 20px !important;
}

.mr25 {
	margin-right: 25px !important;
}

.mr30 {
	margin-right: 30px !important;
}

.mr35 {
	margin-right: 35px !important;
}

.mr40 {
	margin-right: 40px !important;
}

.ml00 {
	margin-left: 0px !important;
}

.ml05 {
	margin-left: 5px !important;
}

.ml10 {
	margin-left: 10px !important;
}

.ml15 {
	margin-left: 15px !important;
}

.ml20 {
	margin-left: 20px !important;
}

.ml25 {
	margin-left: 25px !important;
}

.ml30 {
	margin-left: 30px !important;
}

.ml35 {
	margin-left: 35px !important;
}

.ml40 {
	margin-left: 40px !important;
}


/* ----------------------------------------------------
/
padding
/
/ ---------------------------------------------------- */

.pt00 {
	padding-top: 0px !important;
}

.pt05 {
	padding-top: 5px !important;
}

.pt10 {
	padding-top: 10px !important;
}

.pt15 {
	padding-top: 15px !important;
}

.pt20 {
	padding-top: 20px !important;
}

.pt25 {
	padding-top: 25px !important;
}

.pt30 {
	padding-top: 30px !important;
}

.pt35 {
	padding-top: 35px !important;
}

.pt40 {
	padding-top: 40px !important;
}

.pr00 {
	padding-right: 0px !important;
}

.pr05 {
	padding-right: 5px !important;
}

.pr10 {
	padding-right: 10px !important;
}

.pr15 {
	padding-right: 15px !important;
}

.pr20 {
	padding-right: 20px !important;
}

.pr25 {
	padding-right: 25px !important;
}

.pr30 {
	padding-right: 30px !important;
}

.pr35 {
	padding-right: 35px !important;
}

.pr40 {
	padding-right: 40px !important;
}

.pb00 {
	padding-bottom: 0px !important;
}

.pb05 {
	padding-bottom: 5px !important;
}

.pb10 {
	padding-bottom: 10px !important;
}

.pb15 {
	padding-bottom: 15px !important;
}

.pb20 {
	padding-bottom: 20px !important;
}

.pb25 {
	padding-bottom: 25px !important;
}

.pb30 {
	padding-bottom: 30px !important;
}

.pb35 {
	padding-bottom: 35px !important;
}

.pb40 {
	padding-bottom: 40px !important;
}

.pl00 {
	padding-left: 0px !important;
}

.pl05 {
	padding-left: 5px !important;
}

.pl10 {
	padding-left: 10px !important;
}

.pl15 {
	padding-left: 15px !important;
}

.pl20 {
	padding-left: 20px !important;
}

.pl25 {
	padding-left: 25px !important;
}

.pl30 {
	padding-left: 30px !important;
}

.pl35 {
	padding-left: 35px !important;
}

.pl40 {
	padding-left: 40px !important;
}


/* ----------------------------------------------------
/
clearfix
/
/ ---------------------------------------------------- */

.clearfix0 {
	clear: both;
	height: 0px !important;
}

.clearfix5 {
	clear: both;
	height: 5px !important;
}

.clearfix10 {
	clear: both;
	height: 10px !important;
}

.clearfix15 {
	clear: both;
	height: 15px !important;
}

.clearfix20 {
	clear: both;
	height: 20px !important;
}

.clearfix25 {
	clear: both;
	height: 25px !important;
}

.clearfix30 {
	clear: both;
	height: 30px !important;
}

.clearfix35 {
	clear: both;
	height: 35px !important;
}

.clearfix40 {
	clear: both;
	height: 40px !important;
}

.clearfix50 {
	clear: both;
	height: 50px !important;
}

.clearfix60 {
	clear: both;
	height: 60px !important;
}

.clearfix70 {
	clear: both;
	height: 70px !important;
}

.clearfix80 {
	clear: both;
	height: 80px !important;
}

.clearfix90 {
	clear: both;
	height: 90px !important;
}


/* ----------------------------------------------------
/
width
/
/ ---------------------------------------------------- */

._wp50 {
	width: 50% !important;
}

._wp55 {
	width: 55% !important;
}

._wp60 {
	width: 60% !important;
}

._wp65 {
	width: 65% !important;
}

._wp70 {
	width: 70% !important;
}

._wp75 {
	width: 75% !important;
}

._wp80 {
	width: 80% !important;
}

._wp85 {
	width: 85% !important;
}

._wp90 {
	width: 90% !important;
}

._wp95 {
	width: 95% !important;
}

._wp98 {
	width: 98% !important;
}

._wp100 {
	width: 100% !important;
}


/* ----------------------------------------------------
/
フォント関連
/
/ ---------------------------------------------------- */

._fontEL {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 100;
}

._fontL {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
}

._fontR {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
}

.side-notice {
	position: relative;
}

.has-notice {
	background: red;
	color: white;
	font-size: 12px;
	/* float: right; */
	padding: 4px;
	/* margin-right: 8px; */
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 8px;
	display: none;
}
