@charset "utf-8";

/**************************************************************************************
PARTS
--------------------------------------------------------------------------------------

***************************************************************************************/


.wrap960	{	width:960px;	}
.wrap900	{	width:900px;	}
.wrap840	{	width:840px;	}

.wrap960,
.wrap900,
.wrap840 {
	margin:0 auto;
}
.wrap960:after,
.wrap900:after,
.wrap840:after {
	content:"."; display:block; clear:both; height:0; visibility:hidden; font-size:0;
}

@media screen and (max-width:767px) {
	.wrap960,
	.wrap900,
	.wrap840 {
		width:100%;
		padding:0 5px;
	}
}

/* ボタン
========================================== */

.btn {
	display:block;
	height:50px;
	line-height:50px;
	font-weight:bold;
	border-radius: 5px;
}

.btnPink {
	background:#ef9a9a;
	color:#FFF;
	font-size:14px;
	text-align:center;
	box-shadow: 0px 3px 2px #ac7070;
}
.btnNavy {
	background:#2059a6;
	color:#FFF;
	font-size:14px;
	text-align:center;
	box-shadow: 0px 1px 2px rgba(0,0,0,0.5);
}
a.forget {
	margin-top:20px;
	margin:40px auto 0;
	font-size:12px;
	text-align:center;
	width:200px;
	display:block;
	padding:10px;
	border:1px solid rgba(0, 0, 0, 0.1);
	background:rgba(255, 255, 255, 0.4);
	transition:all 0.5s;
	border-radius:5px;
}
a.forget:hover {
	background:#26C6DA;
	color:#fff;
}
.btnWh {
	min-width:120px;
	font-weight:bold;
	font-size:12px;
	padding:10px 30px 10px 10px ;
	height:inherit;
	max-height:inherit;
	display:inline-block;
	border:2px solid rgba(0, 0, 0, 0.2);
	border-radius:2px;
	position:relative;
	box-sizing:border-box;
}
.btnWh:after {
	content:"";
	width:5px;
	height:5px;
	border-left:2px solid #000;
	border-top:2px solid #000;
	transform: rotate(135deg);
	position:absolute;
	display:block;
	right:15px;
	top:50%;
	margin-top:-5px;
}
.btn.w300 {
	width:300px;
	margin: 0 auto;
}
.btn-basic {
	font-size: 14px;
	display: block;
	padding: 20px;
	border: 1px solid #C2C2C2;
	color: #2159A6;
	font-weight: bold;
	border-radius: 5px;
	position: relative;
	padding-right: 5em;
	background: #fff;
}
.btn-basic.ic_pdf {
	background: url(../img/common/ic_pdf_txt.svg) no-repeat right 1.5em center #fff;
}
@media screen and (max-width:767px) {
	.btnPink {
		font-size:12px;
	}
}

/* 背景
========================================== */

.bgLGy	{	background:#f2f3f6;}
.bgWh	{	background:#fff;}
.bgLbl	{	background: #E2F0FC;}

.box-contents {
	background:#f2f3f6;
	padding:30px 15px;
	margin-top:30px;
}

/* PDFリンク
========================================== */

small.ic_pdf {
	background: #FE6666;
	color: #fff;
	font-size: 10px;
	padding:3px;
	display: inline-block;
	line-height: 1em;
	margin-left: 5px;
}

/* テキスト入力
========================================== */

.hint {
	background:#dbf0ee;
	padding:15px;
}
.hint p.tit:before {
	content: "！";
	background:#c13b6e;
	color:#fff;
	font-weight:bold;
	font-size:12px;
	border-radius:50%;
	width:20px;
	height:20px;
	line-height:20px;
	display:block;
	text-align:center;
	float:left;
	margin-right:10px;
}
.hint em  {
	font-weight:bold;
	background:#ffffa9;
	padding:2px 5px;
}
em.linemarker {
	font-weight: bold;
	background: linear-gradient(transparent 60%, #ff6 60%);
}
.hint-red {
	background: #f9eded;
	padding: 15px;
	border: #DE6F6F 2px solid;
	border-radius: 2px
}

/* 戻るボタン
========================================== */

.return {
	border-top:2px dotted rgba(0,0,0,0.5);
	margin-top:40px;
	padding-top:40px;
}

.return a.btn {
	max-width:320px;
	margin:0 auto;
	border-radius:10px;
	position:relative;
}
.return a.btn:after {
	content:'';
	width:18px;
	height:18px;
	display:block;
	background:#fff;
	border-radius: 10px;
	position:absolute;
	left:15px;
	top:50%;
	margin-top: -9px;
}
.return a.btn:before {
	content:'';
	width:4px;
	height:4px;
	display:block;
	border-top: 2px solid #2059a6;
	border-left: 2px solid #2059a6;
	transform: rotate(-45deg);
	position:absolute;
	left:22px;
	top:50%;
	margin-top: -3px;
	z-index: 2;
}
@media screen and (max-width:767px) {
.return a.btn {
	max-width:80%;
}
}
/* テキスト
========================================== */

h2.subTit {
	background:#d0e3fc;
	padding:10px;
	font-weight:bold;
	color:#2059a6;
	text-indent:15px;
}
@media screen and (max-width:767px) {
	h2.subTit {
		text-indent:0;
	}
}

p.adobeTxt {
	margin-top:40px;
	font-size:14px;
	letter-spacing:0.1em;
}
p.adobeTxt a {
	font-weight:bold;
	color:#ad1a1a;
}

p.readTit {
	margin-top:40px;
	line-height:1.8;
	font-size:18px;
}

p.txtConf {
	margin-top:40px;
	font-size:14px;
	color:#EF9A9A;
	border: 2px solid #EF9A9A;
	padding:20px 30px 20px 103px;
	display: inline-block;
	font-weight:bold;
	position: relative;
	border-radius:5px;
}
p.txtConf:after {
	content: "！";
	color:#fff;
	font-weight:bold;
	font-size:20px;
	line-height:1;
	position:absolute;
	left:38px;
	top:42px;
	z-index:2;
}
p.txtConf:before {
	content:'';
	background:#EF9A9A;
	border-radius:25px;
	width:45px;
	height:45px;
	display:block;
	position:absolute;
	left:26px;
	top:30px;
	z-index:1;
}
p.txtConf em {
	font-weight:bold;
	font-size:20px;
	display:block;
	text-align:center;
}

@media screen and (max-width:767px) {
	p.adobeTxt {
		text-align:left;
		font-size:12px;
		text-indent:0;
		margin-top:20px;
	}
	p.readTit {
		font-size:14px;
		margin-left:10px;
		margin-right:10px;
		margin-top:25px;
	}
	p.txtConf {
		margin-left:10px;
		margin-right:10px;
		padding:40px 15px 20px;
		text-align:center;
	}
	p.txtConf:after {
		left:50%;
		margin-left:-15px;
		top:-10px;
	}
	p.txtConf:before {
		left:50%;
		margin-left:-28px;
		top:-20px;
	}
	p.txtConf em {
		font-weight:bold;
		font-size:20px;
		display:block;
		text-align:center;
	}
}

/* スマホナビ
========================================== */

.spNav {
	background:#2F71BB;
	position:fixed;
	left: 0;
	padding:12px;
	z-index: 10;
	width:100%;
	height: 100vh;
	top: 0;
	padding-top:80px;
	overflow-y: scroll;
	padding-bottom:150px;
}
.spNav dl dt {
	color:#fff;
	font-size:14px;
	position:relative;
	height:2em;
}
.spNav dl dt:after {
	content: "";
	height:1px;
	width:100%;
	display:block;
	position:absolute;
	top: 50%;
	background:#fff;
}
.spNav dl dt em {
	background:#2F71BB;
	position:absolute;
	top: 50%;
	z-index: 2;
	margin-top:-0.5em;
	padding-right:1em;
}
.spNav dl dd {
	margin-top:5px;
}
.spNav ul li + li {
	margin-top:10px;
}
.spNav ul.col02 li + li {
	margin-top:0;
}
.spNav ul.col02 li:nth-of-type(n+3) {
	margin-top:10px;
}
.spNav ul li a {
	background:#fff;
	display:block;
	border-radius: 5px;
	border: 1px solid #000;
	padding:16px;
	font-weight:bold;
}
.spNav ul li a small {
	display:block;
	font-size:12px;
}

.toggle.spNav-btn {
	background:#2F71BB;
	width:60px;
	height:60px;
	display:block;
	position:fixed;
	right:5px;
	top: 5px;
	z-index:100;
	border-radius: 5px;
}
.toggle.spNav-btn:after {
	content:"";
	display: block;
	background:url(../../img/common/ic_spnav.svg)no-repeat center;
	background-size:20px;
	width:30px;
	left: 50%;
	margin-left:-15px;
	height:24px;
	top: 50%;
	margin-top:-12px;
	position:absolute;
	right:10px;
	top:50%;
	margin-top:-10px;
}
.toggle.spNav-btn.active:after {
	background:url(../../img/common/ic_spnav_close.svg)no-repeat center;
	background-size:20px;
}
.sp-logo {
position: absolute;
top: 15px;
background: #fff;
padding: 5px 15px;
border-radius: 5px;
}
.sp-logo img {
width:148px;
}
/* toggle設定
========================================== */

dt.toggle + dd,
.toggle + ul,
.toggle + div {
	display:none;
}
.toggle {
	position:relative;
	cursor: pointer;
}
.toggle_sp {
	cursor: pointer;
}

@media screen and (max-width:767px) {
	dt.toggle_sp + dd,
	.toggle_sp + ul,
	.toggle_sp + div {
		display:none;
	}
	.toggle_sp {
		position:relative;
	}
}
/* リスト
========================================== */

ul.komeList li {
	text-indent:-1em;
	padding-left:1em;
}

/*1列リスト*/
ul.col01 > li {
	max-width:100%;
}

/*2列リスト*/
ul.col02:after {
	content:"."; display:block; clear:both; height:0; visibility:hidden; font-size:0;
}
ul.col02 > li {
	float:left;
	width:50%;
}


/* Information
========================================== */

#info {
	padding-bottom:40px;
}
#info dl {
	width:100%;
	margin:40px auto;
	display:table;
}
#info dl dt {
	width:240px;
	display:table-cell;
	background:#2059a6;
	font-size:18px;
	font-weight:bold;
	color:#fff;
	vertical-align:middle;
	padding-left:20px;
}
#info dl dt small {
	font-size:12px;
	display:block;
	letter-spacing:0.1em;
	font-weight:bold;
}
#info dl dd {
	display:table-cell;
}
#info ul {
}
#info ul li {
	background:#e3f2fd;
	letter-spacing:0.1em;
	font-size:14px;
	display: flex;
	padding: 1em;
	gap: 1em;
}
#info ul li:nth-last-of-type(even){
	background:#fff;
}
#info ul li a {
	color:#0654a2;
	text-decoration:underline;
	font-weight:bold;
	margin-left:5px;
}
#info ul li a.clip img {
	width:95px;
}
#info ul li em {
	font-weight:bold;
	padding:0 10px;
	border-right:1px solid rgba(0, 0, 0, 0.20);
	margin-right:10px;
}

@media screen and (max-width:767px) {
	#info {
		padding-bottom:20px;
	}
	#info dl {
		margin-bottom:10px;
		margin-top:20px;
	}
	#info dl dt {
		text-align:center;
		padding:10px;
		font-size:14px;
	}
	#info dl dt small {
		display:none;
	}
	#info dl dt,
	#info dl dd {
		width:100%;
		display:block;
	}
	#info a.btn {
		width:100%;
	}
	#info ul li {
		flex-wrap: wrap;
		text-indent:0;
		font-size:12px;
	}
	#info ul li em {
		font-size:12px;
		display:block;
		width:100%;
		padding:0;
		border-right:none;
		border-bottom:1px solid rgba(0, 0, 0, 0.16);
	}
}

/* ベーシックナテキスト
========================================== */

.item {
	margin:0 40px;
	padding:20px;
}
.item + .item  {
	border-top:3px dotted #ccc;
}
.txtAddress {
	font-size:18px;
	padding:15px 20px;
	border:1px solid #CCC;
	letter-spacing:0.05em;
}

@media screen and (max-width:767px) {
	.item {
		margin:0 5px;
		padding:15px 10px;
	}
	.txtAddress {
		font-size:15px;
		font-weight:bold;
	}
}

table.basicTable {
	width:100%;
	border-top:1px solid #ccc;
}
table.basicTable thead tr th {
	background:#a3cee2;
}
table.basicTable tr {
	border-bottom:1px solid #ccc;
}
table.basicTable tr th { 
	background:#E1F5FE;
	font-weight:bold;
	padding:15px;
	vertical-align: middle;
}
table.basicTable tr th:nth-of-type(1) { 
	border-right:1px solid #ccc;
	width:250px;
}
table.basicTable tr td {
	padding:15px;
	vertical-align: middle;
}
table.basicTable tr td a {
	color:#2059a6;
	text-decoration: underline;
	font-weight:bold;
}
@media screen and (max-width:767px) {
	table.basicTable {
		border:1px solid #ccc;
	}
	table.basicTable tr {
		width:100%;
	}
	table.basicTable tr th { 
		display:block;
		width:100%;
		padding:10px;
	}
	table.basicTable tr th:nth-of-type(1) { 
		width:100%;
		border-right:none;
	}
	table.basicTable tr td {
		display:block;
		width:100%;
		padding:10px;
	}
}

.btnDocLink {
	background:#fff;
	border: 2px solid #ccc;
	padding:10px 65px 10px 15px;;
	letter-spacing:0.1em;
	display:inline-block;
	font-weight:bold;
	border-radius: 5px;
	color:#2059A6;
	position:relative;
}
.btnDocLink:hover {
	background:#2059A6;
	color:#fff;
}
.btnDocLink:before {
	content: "";
	display: block;
	position:absolute;
	background:#2059A6;
	right:15px;
	width:20px;
	height:20px;
	border-radius: 10px;
	top: 50%;
	margin-top:-10px; 
}
.btnDocLink:after {
	position:absolute;
	content: "";
	display: block;
	border-right:2px solid #fff;
	border-top:2px solid #fff;
	transform: rotate(45deg);
	right:22px;
	width:6px;
	height:6px;
	top:50%;
	margin-top:-4px;
}
.btnDocLink {
}
@media screen and (max-width:767px) {
	.btnDocLink {
		width:100%;
		display:block;
		margin-left:auto;
		margin-right:auto;
	}
}


/* エラー
========================================== */

#error {
}
#error .errorBox {
	text-align:center;
	background:#f2f3f6;
	max-width:900px;
	margin:40px auto;
	padding:60px;
}
#error .errorBox p {
	text-align:center;
	margin-top:20px;
}
#error .errorBox svg {
	width:120px;
	height:120px;
}
#error .errorBox a {
	margin-top:30px;
	border-radius:5px;
	width:240px;
	margin-left: auto;
	margin-right: auto;
}
@media screen and (max-width:767px) {
	#error .errorBox {
		margin:40px auto;
		padding:20px;
	}
	#error .errorBox svg {
		width:80px;
		height:80px;
	}
}

/* エラー
========================================== */

.cover_wrap {
	text-align:center;
}
.cover_wrap .cover {
	background:rgba(0, 0, 0, 0.5);
	width: 100vw;
	height: 100vh;
	position: fixed;
	top:0;
	left:0;
	z-index:100;
}
.cover_wrap .nextBox {
	background:#fff;
	position:fixed;
	z-index: 101;
	border-radius: 5px;
	padding:0 15px 15px;
	width:350px;
	left: 50vw;
	margin-left:-175px;
}
.cover_wrap .nextBox dl {
	width:300px;
	margin: 0 auto;
}
.cover_wrap .nextBox dl dt {
	text-align:center;
	color:#22A01E;
	font-size:22px;
	border-bottom:1px solid #ccc;
	padding-bottom:12px;
}
.cover_wrap .nextBox dl dd {
	margin-top:15px;
}
.cover_wrap .nextBox dl dd p {
	text-align:center;
}
.cover_wrap .nextBox dl dd a.btn {
	border-radius: 5px;
	margin-top:20px;
}
.cover_wrap .nextBox p.txtLogout {
	font-size:12px;
	text-indent:-1em;
	padding-left:1em;
	width:300px;
	margin:15px auto 10px;
}
@media screen and (max-width:767px) {
	.cover_wrap .nextBox {
		padding:25px;
		width:96%;
		margin-left:-48%;
		top:10vh;
	}
	.cover_wrap .nextBox dl {
		padding-bottom:20px;
		width:100%;
	}
	.cover_wrap .nextBox p.txtLogout {
		width: 100%;
	}
}

/* 注釈
========================================== */

.hokenTypeTable dl.notes {
	margin-top:15px;
}
.hokenTypeTable dl.notes dt {
	padding:8px 20px;
	width: auto;
	vertical-align: middle;
	border:none;
	font-size:14px;
	background:#efefef;
	color:#5c7eac;
	letter-spacing:0.3em;
}
.hokenTypeTable dl.notes dd {
	padding:8px 20px;
	font-size:14px;
	letter-spacing:0.2em;
}

@media screen and (max-width:767px) {
	.hokenTypeTable dl.notes {
		display:table;
		margin-top:10px;
		border-top:none;
	}
		.hokenTypeTable dl.notes:last-of-type {
			border: none;
		}

	.hokenTypeTable dl.notes dt {
		padding:10px 10px;
		display:table-cell;
		width:40%;
		font-size:13px;
		text-align:center;
	}
	.hokenTypeTable dl.notes dd {
		font-size:13px;
		padding:10px 10px;
		display:table-cell;
		width:60%;
	}
}

/* ---------------------------
チェックリスト横ならび
----------------------------- */

.wrap960 ul.row02 li {
	width: 50%;
	float: left;
}
.wrap960 ul.row02 li label.radio_label {
	text-align: left;
	text-indent: 30px;
	padding-bottom: 0;
	min-height: 21px;
}
.wrap960 ul.row02 li label.radio_label:before {
	left: 10px;
	top: 0px;
}
.wrap960 ul.row02 li label.radio_label:after {
	left: 10px;
	top: 3px;
}
.wrap960 ul.row02 li label.radio_label input[type="radio"] {
	left: 10px;
	top: -2px;
}

@media screen and (max-width:767px) {
	.wrap960 ul.row02 li {
		width: 100%;
	}
	.wrap960 ul.row02 li label.radio_label {
		text-indent: 0;
	}
	dl dd input.w100 {
		width: 80%;
	}
}

/* ---------------------------
チェックリスト横ならび
----------------------------- */

.wrap960 ul.row03 li {
	width: 30%;
	float: left;
}
.wrap960 ul.row03 li label.radio_label {
	text-align: left;
	text-indent: 30px;
	padding-bottom: 0;
	min-height: 21px;
}
.wrap960 ul.row03 li label.radio_label:before {
	left: 10px;
	top: 0px;
}
.wrap960 ul.row03 li label.radio_label:after {
	left: 10px;
	top: 3px;
}
.wrap960 ul.row03 li label.radio_label input[type="radio"] {
	left: 10px;
	top: -2px;
}

@media screen and (max-width:767px) {
	.wrap960 ul.row03 li {
		width: 100%;
	}
	.wrap960 ul.row03 li label.radio_label {
		text-indent: 0;
	}
	dl dd input.w100 {
		width: 80%;
	}
}

ul.listPost li {
	display: inline-block;
}
@media screen and (max-width:767px) {
	ul.listPost {

		display:flex;
		align-items: center;
	}
	ul.listPost li input {
		margin-left:5px;
		margin-right:0;
	}
}
