@charset "utf-8";

/* 各ページコンテンツ

(01)top トップ
(02)contents コンテンツ（グレー背景）
(03)box ボックス
(04)form フォームパーツ
(05)button　ボタン
(06)table　テーブルレイアウト
(07)scroll　スクロール
(08)thankyou　完了画面

*/


/* (01)top
----------------------------------------------------------------------------*/
#top{
	text-align: center;
	padding: 0 0 60px;
}
#top h2{
	margin: 70px 0 60px 0;
	text-align: center;
}
#top .companyname{
	text-align: left;
	margin: 20px 0 0 0;
	font-size: 22px;
	font-weight: bold;
	color: var(--portal-text-color-1);
}
@media only screen and (max-width: 700px) {
	#top{
		padding: 0 0 30px;
	}
	#top h2{
		margin: 30px 0 30px 0;
		text-align: center;
	}
	#top h2 img{
		max-width: 183px;
	}
	#top .companyname{
		font-size: 18px;
	}
}


/* (02)contents
----------------------------------------------------------------------------*/
.contents{
	width:100%;
	margin:0;
	padding: 60px 0 60px 0;
	position: relative;
	background: #EEEEEE;
}
.contents h2{
	font-size: 30px;
	font-weight: normal;
	color: #666666;
	margin: 0 0 40px 0;
}
.contents section{
	background: #FFFFFF;
	border-radius: 5px;
	margin: 0 0 40px 0;
	padding: 20px;
}
.contents h3{
	border-bottom:solid 2px var(--portal-text-color-3);
	margin: 0 0 0 0;
	padding: 5px 0 5px 0;
	color: var(--portal-text-color-3);
	font-size: 20px;
	font-weight: bold;
}
.contents h3.check{
	background: url(../../images/mynumber/icn_check01.png) no-repeat left center;
	background-size: 20px;
	padding: 5px 0 5px 30px;
}
.contents h3.edit{
	background: var(--portal-edit-icon-path) no-repeat left center;
	background-size: 20px;
	padding: 5px 0 5px 30px;
}
.contents h3.question{
	background: url(../../images/mynumber/icn_question01.png) no-repeat left center;
	background-size: 20px;
	padding: 5px 0 5px 30px;
}
.contents h3.error{
	background: url(../../images/mynumber/icn_error01.png) no-repeat left center;
	background-size: 21px;
	color: #FF4D4D;
	border-bottom:solid 2px #FF4D4D;
	padding: 5px 0 5px 30px;
}
.icn_q{
	background: url(../../images/mynumber/icn_question02.png) no-repeat left center;
	background-size: 16px;
	padding: 5px 0 5px 20px;
}
.contents h4{
	margin: 0 0 10px 0;
	padding: 5px 0 5px 0;
	font-size: 16px;
	font-weight: bold;
}
.list01 li{
	background: url(../../images/mynumber/icn_list01.png) no-repeat left top 8px;
	background-size: 6px;
	padding: 0 0 0 15px;
	color: #0059B2;
	font-weight: bold;
}
.list02 li{
	background: url(../../images/mynumber/icn_list02.png) no-repeat left top 8px;
	background-size: 6px;
	padding: 0 0 0 15px;
}
@media only screen and (max-width: 700px) {
	.contents{
		padding: 30px 0 30px 0;
	}
	.contents h2{
		font-size: 22px;
		margin: 0 0 20px 0;
	}
	.contents section{
		margin: 0 0 20px 0;
		padding: 10px;
	}
	.contents h3{
		margin: 0 0 0 0;
		padding: 5px 0 5px 0;
		font-size: 16px;
	}
	.contents h3.check,
	.contents h3.edit,
	.contents h3.question,
	.contents h3.error{
		padding: 5px 0 5px 30px;
	}
	.contents h4{
		font-size: 15px;
	}
}



/* (03)box
----------------------------------------------------------------------------*/
.box_blue{
	border:solid 1px #CCCCCC;
	border-radius: 5px;
	background: var(--portal-box-color-1);
	padding: 20px;
	text-align: left;
}
@media only screen and (max-width: 700px) {
	.box_blue{
		padding: 10px;
	}
}
.box_red{
	background: #FEE5DD;
	padding: 20px;
}



/* (04)form
----------------------------------------------------------------------------*/
/* テキスト */
input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="search"],
input[type="url"],
input[type="datetime"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime-local"],
input[type="number"]{
	border:solid 1px #CCCCCC;
	border-radius:3px;
	padding:7px;
	width:calc(100% - 20px);
	font-size:16px;
	-webkit-appearance: none;
    -moz-appearance: none;
}
td.name input{
	margin:0px 5px 5px 0!important;
}
td.add input{
	margin:10px 5px 0 0;
}
input[disabled],
select[disabled],
input[readonly],
select[readonly]{
	opacity: 0.6;
	background: #CCCCCC;
}
/* セレクト */
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background:url(../../images/mynumber/arrow_select.png) center right 10px no-repeat #FFFFFF;
	background-size:10px;
    border:1px solid #CCCCCC;
	border-radius:5px;
	padding:7px 35px 7px 7px;
	font-family: "メイリオ","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size:16px;
	margin:0 5px 0 0;
}
@-moz-document url-prefix() { /* for firefox */
    select {
        background:none;
        background:url(../../images/mynumber/arrow_select.png) center right 10px no-repeat #FFFFFF;
		background-size:10px;
    }
}
select::-ms-expand {
	display: none;
}
select[multiple]{
	background: #FFFFFF;
}
td.add select{
	margin:10px 5px 0 0!important;
}

@media only screen and (max-width: 700px) {
	select {
		font-size:16px;
	}
}
/* テキストエリア */
textarea{
	border:solid 1px #CCCCCC;
	border-radius:3px;
	padding:7px;
	width:calc(100% - 16px);
	-webkit-appearance: none;
    -moz-appearance: none;
}
/* ラジオボタン */
label.radio {
	cursor:pointer;
	position:relative;
	overflow:hidden;
	display:inline-block;
	margin:0 20px 5px 0;
	padding:0 0 0 30px;
	padding:0 0 0 30px;
	font-size: 16px;
}
label.radio:before {
	position:absolute;
	width:22px;
	height:22px;
	border:1px solid #CCCCCC;
	border-radius:50%;
	top: 0;
	left:0px;
	content:'';
	z-index:1;
}
label.radio:after {
	content:'';
	position:absolute;
	width:14px;
	height:14px;
	border-radius:100%;
	left:0;
	top:0;
	background-color: var(--portal-input-checked-color-1);
	z-index:0;
	border:solid 5px #FFFFFF;
}
label.radio input[type="radio"] {
	-moz-appearance:none;
	-webkit-appearance:none;
	position:absolute;
	z-index:1;
	width:18px;
	height:18px;
	left:-25px;
	top:0px;
	margin:0px;
	box-shadow:29px 4px #FFFFFF;
	border-radius:10px;
}
label.radio input[type="radio"]:checked {
	box-shadow:none;
}
label.radio input[type="radio"]:focus {
	opacity:0.2;
	box-shadow:26px 2px #FFF;
}
/* チェックボックス */
input[type=checkbox]{
	display: none;
	margin: 0;
}
input[type=checkbox] + label{
	padding: 2px 10px 0 27px;
	position:relative;
	cursor: pointer;
}
input[type=checkbox] + label::before{
	content: "";
	position: absolute;
	top: 9px;
	left: 0;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	width: 20px;
	height: 20px;
	margin-top: -7px;
	background: #FFF;
	border: 1px solid #CCCCCC;
	border-radius:2px;
}
input[type=checkbox]:checked + label::after{
	content: "";
	position: absolute;
	top: 10px;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	display: block;
	left: 2px;
	width: 16px;
	height: 10px;
	margin-top: -6px;
	border-left: 2px solid var(--portal-input-checked-color-1);
	border-bottom: 2px solid var(--portal-input-checked-color-1);
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
/* ダミー */
input[name="dummypass"]{
	visibility:hidden;
	position:absolute;
}



/* (05)button
----------------------------------------------------------------------------*/
/* ボタン-共通 ----------------------- */
.btn,
.btn:link,
.btn:visited{
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	font-weight:bold;
	display: inline-block;
	text-align:center;
	border:none;
	color:#FFFFFF;
	transition:background 0.5s ease 0s;
	background-color: var(--portal-input-btn-main-color-1);
	text-decoration: none;
}
.btn:hover{
	background-color: var(--portal-input-btn-emphasis-color-1);
	color:#FFFFFF;
	border:none;
	transition:background 0.2s ease 0s,color 0.2s ease 0s ;
	text-decoration: none;
}
.btn[disabled]{
	opacity: 0.2;
}
/* ボタン-サイズ ----------------------- */
/* ボタンL */
.btn.l{
	font-size:18px;
	padding:20px 20px;
}
@media only screen and (max-width: 700px) {
	.btn.l{
		font-size:16px;
		padding:15px 20px;
	}
}
/* ボタンM */
.btn.m{
	font-size: 14px;
	padding:8px 0;
}
/* ボタンS */
.btn.s{
	font-size: 12px;
	padding:5px 0;
}

/* ボタン-カラー ----------------------- */
/* グレー1 */
.btn.gry1,
.btn.gry1[disabled]:hover{background-color:#999999;}
.btn.gry1:hover{background-color:#777777;}
/* 青1 */
.btn.blu1,
.btn.blu1[disabled]:hover{background-color:#0085B2;}
.btn.blu1:hover{background-color:#00698C;}
/* 青2 */
.btn.blu2,
.btn.blu2[disabled]:hover{background-color:#00468C;}
.btn.blu2:hover{background-color:#003366;}
/* 初期系統カラー2 */
.btn.default-color2,
.btn.default-color2[disabled]:hover{background-color: var(--portal-input-btn-main-color-2);}
.btn.default-color2:hover{background-color: var(--portal-input-btn-emphasis-color-2);}

/* ボタン-アイコン ----------------------- */
/* 矢印-右 */
.btn.arrow_r{
	background-image: url(../../images/mynumber/arrow01.png);
	background-repeat: no-repeat;
	background-position: right 10px center;
	background-size: 8px;
}
/* 矢印-左 */
.btn.arrow_l{
	background-image: url(../../images/mynumber/arrow02.png);
	background-repeat: no-repeat;
	background-position: left 10px center;
	background-size: 8px;
}

/* 青みグレー1 */
a.btn_bgray01,
input.btn_bgray01,
button.btn_bgray01{
    border-radius:5px;
    -webkit-border-radius:5px;
    -moz-border-radius:5px;
    font-weight:bold;
    padding:10px 0;
    display: inline-block;
    text-align:center;
    border:solid 1px #7D9EAE;
    background:#7D9EAE;
    color:#FFFFFF;
    transition:background 0.5s ease 0s;
    width:100%;
}
a.btn_bgray01:hover,
input.btn_bgray01:hover,
button.btn_bgray01:hover{
    background:#647F8A;
    color:#FFFFFF;
    border:solid 1px #647F8A;
    transition:background 0.2s ease 0s,color 0.2s ease 0s ;
}
a.btn_bgray01{
    padding:11px 0 9px;
    margin-top:-1px;
}
a.btn_bgray01:link,
a.btn_bgray01:visited{
    color:#FFFFFF!important;
    text-decoration:none!important;
}
a.btn_bgray01:hover{
    color:#FFFFFF!important;
    text-decoration:none!important;
}
div.err_back_btn{
    font-size:16px;
    text-align:center;
    width:100%;
}


/* (06)table
----------------------------------------------------------------------------*/
table{
	width: 100%;
}
table tr{
	border-bottom: solid 1px #DDDDDD;
}
table th{
	padding:25px 10px 25px 20px;
	text-align:left;
	font-weight:bold;
	font-size:16px;
	border-right:none;
	width:270px;
	vertical-align:top;
}
table td{
	padding:25px 10px 20px 20px;
	border-right: none;
	border-top:none;
	vertical-align:top;
	font-size:14px;
}
table td input,
table td select,
table td textarea{
	margin-top: -5px;
}
table.confirm td{
	padding:15px 10px 15px 20px;
}
table td.confirm{
	padding:15px 10px 15px 20px;
}
table th span.hissu,
table th span.nini{
	float:right;
}
@media only screen and (max-width: 600px) {
	table tr{
		border-bottom: solid 1px #DDDDDD;
	}
	table th{
		display: block;
		width: calc(100% - 10px);
		padding:15px 5px 15px 5px;
		font-size: 16px;
	}
	table td{
		display: block;
		width: calc(100% - 10px);
		padding:0 5px 15px 0;
		font-size:14px;
	}
	table td input,
	table td select,
	table td textarea{
		margin-top: 0px;
	}

	table th span.hissu,
	table th span.nini{
		float:none;
	}
}



/* (07)scroll
----------------------------------------------------------------------------*/
.scroll{
	overflow:auto;
	height:250px;
	margin: 20px 0 0 0;
	padding: 20px 10px 20px 20px;
	background:#FFFFFF;
	border:solid 1px #CCCCCC;
	font-size:14px;
}
@media only screen and (max-width: 700px) {
	.scroll{
		height:150px;
		margin: 15px 0 0 0;
		padding: 10px;
	}
}



/* (08)thankyou
----------------------------------------------------------------------------*/
.thankyou{
	padding: 100px 20px!important;
	text-align: center;
}
.thankyou h2{
	color: #0C6EA3;
}
@media only screen and (max-width: 700px) {
	.thankyou{
		padding: 50px 10px!important;
	}
}

/*
  セキュリティロゴ
*/
.joined_footer {
    background-color: #ffffff;
    margin: 5px 20px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}
.joined_footer > img {
    width: 40%;
    max-width: 200px;
}

/* 画像注記 */
.file-info-nav {
    padding: 3px 0 0 0;
	text-decoration: underline;
	cursor: pointer;
}
.file-info-nav .info-icon{
    width: 18px;
	height: 18px;
	vertical-align: middle;
	margin-right: 5px;
}
.file-info-nav-detail {
    margin:0 0 10px 20px;
	width: calc(100% - 20px);
}
/* 中央に揃えて表示するボタン領域 */
.centerBtnList{
	display: block;
	width: 40%;
	margin: 0 auto;
}
.centerBtnList .l{
	width: 100%;
	padding: 5% 0;
}
@media only screen and (max-width: 600px) {
	.centerBtnList{
		width: 100%;
	}
}
/* マイナンバー説明関連 */
.mynumberlist01 li{
	padding: 0 0 0 15px;
}
.mynumberlist02{
	margin-top: 10px;
    margin-bottom: 5px;
}
.mynumberlist02 li{
	padding: 0;
	text-align: center;
	float: left;
}
.mynumberlist02 img {
	max-width:80%;
	width:200px;
	padding: 5px;
	margin: 5px;
	border: 1px solid gray;
}
.file-info {
	padding: 3px 0 0 0;
}
.file-info .info-icon{
	width: 18px;
	height: 18px;
	vertical-align: middle;
	margin-right: 5px;
}
@media only screen and (max-width: 600px) {
	.mynumberlist02 li{
		padding: 0;
		text-align: center;
		float: none;
	}
}