@charset "utf-8";
/* CSS Document 後続共通css*/
/*基本レイアウト*/
/*本文マージン*/
.margin0 {
	margin-bottom: 0px !important;
}
.margin10 {
	margin-bottom: 10px !important;
}
.margin20 {
	margin-bottom: 20px !important;
}
.margin30 {
	margin-bottom: 30px !important;
}
.margin40 {
	margin-bottom: 40px !important;
}
.margin50 {
	margin-bottom: 50px !important;
}
.margin60 {
	margin-bottom: 60px !important;
}
.margin70 {
	margin-bottom: 70px !important;
}
.margin80 {
	margin-bottom: 80px !important;
}
.margin90 {
	margin-bottom: 90px !important;
}
.margin1em {
	margin-bottom: 1em !important;
}
.margin2em {
	margin-bottom: 2em !important;
}
.margin3em {
	margin-bottom: 3em !important;
}
.margin4em {
	margin-bottom: 4em !important;
}
.margin5em {
	margin-bottom: 5em !important;
}
.margin6em {
	margin-bottom: 6em !important;
}
.margin7em {
	margin-bottom: 7em !important;
}
.margin8em {
	margin-bottom: 8em !important;
}
.margin9em {
	margin-bottom: 9em !important;
}
/*本文内各種パーツ***********************/
/*章*/
section {
	margin: 40px 0;
}
.home section {
	margin: 60px 0;
}
section section {
	margin-bottom: 40px;
}
/*段落*/
p {
	margin-bottom: 20px;
}
p:last-child {
	margin-bottom: 0 !important;
}
.last {
	margin-bottom: 0 !important;
}
.indent-1 {
	padding-left: 1em;
	text-indent: -1em;
}
.error {
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
	margin: 20px auto;
	color: #E02D27;
	padding: 10px;
	background-color: #FCEAE9;
	line-height: 1.6;
}
.msg {
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
	margin: 20px auto;
	line-height: 1.6;
}
.msg02 {
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
	margin: 20px auto;
	color:  var(--text-color);
	border: solid 1px var(--text-color);
	padding: 10px;
	background-color: var(--text-color-pale);
	line-height: 1.6;
}
.caution {
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	max-width: 900px;
	min-height: 70px;
	margin-left: auto;
	margin-right: auto;
	margin: 20px auto;
	padding: 15px 15px 15px 70px;
	color: #E02D27;
	background-color: #FCEAE9;
	line-height: 1.6;
}
.caution::after {
	position: absolute;
	left: 20px;
	top: calc(50% - 18px);
	content: url("../images/common/icon_caution.svg");
	width: 36px;
}
.caution img {
	width: 36px;
	height: auto;
	margin-right: 15px;
}
/*枠*/
.inside {
	position: relative;
	max-width: 1020px;
	margin: 0 auto;
}
.flex {
	display: flex;
}
.flex.between {
	justify-content: space-between;
}
.flex.wrap {
	flex-wrap: wrap;
}
.flex.row-reverse {
	flex-direction: row-reverse;
}
.flex .txt_area {
	flex: 1;
	margin-right: 50px;
}
ul.flex li {
	margin-right: 30px;
}
/*見出し*/
h2 {
	font-size: 3.0rem;
	letter-spacing: 0.3em;
	margin-bottom: 40px;
	text-align: center;
	line-height: 1.2;
}
.title_area h2 {
	margin-bottom: 0;
	line-height: 1;
}
h3 {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: 100%;
	height: 35px;
	margin-bottom: 1em;
	padding: 10px 20px;
	background-color: var(--thema-color);
	font-size: 1.8rem;
	color: #fff;
	line-height: 1.2;
}
h4 {
	margin-bottom: 0.5em;
	font-size: 2.2rem;
}
h5 {
	margin-bottom: 0.5em;
	font-size: 2.0rem;
}
/*リスト*/
ul {
	margin-left: 1.5em;
}
ul > li {
	list-style: disc;
	list-style-position: outside;
	margin-left: 0;
}
ul.pdflist > li {
	margin-bottom: 1em;
}
ul.circle > li {
	position: relative;
	list-style: none;
}
ul.circle > li:before {
	position: absolute;
	top: 10px;
	left: -20px;
	content: "";
	width: 15px;
	height: 15px;
	display: block;
	background-color: #C1C1C1;
	border-radius: 50%;
}
ol {
	margin-bottom: 1em;
	margin-left: 1.5em;
}
ol > li {
	list-style-type: decimal;
	list-style-position: outside;
	margin-left: 0;
}
dl {}
dl > dt {}
dl > dd {
	margin-left: 65px;
	margin-bottom: 1em;
}
dl > dd:last-child {
	margin-bottom: 0;
}
/*ボタン*/
.btn {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 450px;
	height: 50px;
	margin: 0 auto;
	border: none;
	border-radius: 25px;
	background: var(--btn-color);
	color: var(--text-color);
	text-decoration: none;
	font-size: 2.0rem;
	cursor: pointer;
	transition: 0.4s;
}
.btn_s {
	width: 160px;
	height: 35px;
	border-radius: 25px;
	font-size: 1.4rem;
	transition: 0.4s;
}
.button_area .btn_s {
	height: 40px;
	font-size: 1.6rem;
}
.btn_col02 {
	background: var(--btn-color02);
}
.btn_col03 {
	background: var(--btn-color03);
}
.btn::after {
	position: absolute;
	right: 12px;
	content: url("../images/common/arr01.svg");
	width: 7px;
	height: 12px;
	line-height: 0;
}
.btn:hover {
	/*background: var(--btn-color-hover);*/
	opacity: 0.6;
}
.btn.btn_center {
	margin: 0 auto;
}
/*テーブル*/
table {
	width: 100%;
	border-spacing: 0;
	border-collapse: collapse;
	border-top: solid 1px #303030;
	border-right: solid 1px #303030;
	background-color: #fff;
}
table th {
	padding: 12px 12px;
	vertical-align: top;
	background-color: #e6e6e6;
	border-bottom: solid 1px #303030;
	border-left: solid 1px #303030;
}
table thead th {
	background-color: #cccccc;
}
table .q_number {
	width: 75px;
}
table .q_text {
}
table .a_check {
	width: 260px;
	text-align: center;	
}
table td {
	padding: 12px 12px;
	vertical-align: middle;
	border-bottom: solid 1px #303030;
	border-left: solid 1px #303030;
}
table th.center, table td.center {
	text-align: center;
}
table th.left, table td.left {
	text-align: left;
}
table th.right, table td.right {
	text-align: right;
}
table th span {
	font-size: 3.0rem;
	line-height: 1;
}
/*フォーム*/
textarea {
	width: 100%;
	height: 100px;
	padding: 0 15px;
	border: solid 1px var(--text-color);
	border-radius: 8px;
}
select {
	width: 100%;
	height: 50px;
	padding: 0 15px;
	border: solid 1px var(--text-color);
	border-radius: 8px;
}
input {
	width: 100%;
	height: 50px;
	padding: 0 15px;
	border: solid 1px var(--text-color);
	border-radius: 8px;
}
input[type=password] {
	position: relative;
}
input[type=radio], input[type=checkbox] {
	width: 18px;
	height: 18px;
	border: solid 1px var(--text-color);
}
label {
	position: relative;
	display: inline-flex;
	align-items: center;
}
label i.pwd {
	position: absolute;
	right: 15px;
	top: calc(50% - 7px);
	width: 25px;
	height: 15px;
	background-image: url("../images/common/icon_pw.svg");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
	cursor: pointer;
}
label i.open {
	opacity: 0.4;
}
.button_area {
	display: flex;
	justify-content: center;
}
.button_area button {
	margin: 0 20px;
}
/* ==========================================
 トップページ（ログイン前）どこでも使える
========================================== */
/*input_area************************/
.input_area {
	margin: 0 0 70px 0;
	text-align: center;
}
.input_area form {
	width: 450px;
	margin: 0 auto;
}
.input_area input {
	width: 450px;
}
.input_area .password_forgot {
	line-height: 1;
}
/* ==========================================
 後続ページ（ログイン後）
========================================== */
/*共通************************/
.title_area {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 170px;
	margin-bottom: 50px;
	background-image: url("../images/common/bg.png");
	background-repeat: no-repeat;
	background-position: top center;
	color: #fff;
}
.menu {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 1000px;
	height: 50px;
	margin: 0 auto;
	padding: 2px 10px;
	border-radius: 8px;
	border: Solid 1px var(--text-color);
}
.menu .department {
	min-width: 160px;
	padding: 0 20px 0 20px;
	border-right: Solid 1px var(--text-color);
}
.menu .name {
	font-size: 2.2rem;
}
.menu .btn_s {
	margin: 0;
}
.main_area .inside {
	width: 900px;
}
.flow_area {}
.flow_area .flow {
	padding: 2px 10px;
	border: solid 1px var(--thema-color);
	border-radius: 10px;
}
.flow_area .arr {
	color: var(--thema-color);
	text-align: center;
}