@charset "utf-8";
/* -------------------------------
 * FONTSIZE MODEL * 基本サイズ14px
 * -------------------------------
 *  72% ->		10pxに相当
 *  79% ->		11pxに相当
 *  86% ->		12pxに相当
 *  93% ->		13pxに相当
 * 100% ->		14pxに相当
 * 108% ->		15pxに相当
 * 115% ->		16pxに相当
 * 122% ->		17pxに相当
 * 129% ->		18pxに相当
 * 136% ->		19pxに相当
 * 143% ->		20pxに相当
 * 150% ->		21pxに相当
 * 158% ->		22pxに相当
 * 165% ->		23pxに相当
 * 172% ->		24pxに相当
 * 179% ->		25pxに相当
 * 186% ->		26pxに相当
 * ------------------------------- */
/*--------------
ブラウザのデフォルトスタイルをリセットする
----------------------------------------------------------*/
@import url('html5reset-1.6.1.css');
/*--------------
基本設定
----------------------------------------------------------*/
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
html,body {
	height: 100%;
}
body {
	font-size: 14px;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", Osaka, "ＭＳ Ｐゴシック", sans-serif;
	line-height: 1.5em;
	background: #fff;
	overflow-x: hidden;
	-webkit-text-size-adjust: 100%;
}
/* html5用 */
article,aside,canvas,details,figcaption,figure,
header,footer,main,menu,nav,section,summary {
	display: block;
}
input, select {
	font-family: Arial, "ＭＳ Ｐゴシック", sans-serif;
	position: relative;
	margin-bottom: 5px;
}
input[type="search"]::-webkit-search-cancel-button {
	-webkit-appearance: none;
}
br {
	letter-spacing: normal;
}
a {
	color: #00f;
	text-decoration: none;
	outline: none;
}
a:hover {
	color: #f00;
	text-decoration: underline;
}
label {
	cursor: pointer;
}
strong {
	font-weight: bold;
}
a:hover img {
	opacity: 0.6;
	filter: alpha(opacity=60);
	-ms-filter: "alpha(opacity=60)";
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-ms-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
}
.br_pc {
	display: block !important;
}
.br_sp {
	display: none !important;
}
/*-----------------------------------------------------------------------------
■┓サイト全体枠
┗┛
-------------------------------------------------------------------------------*/
#wrap {
	background: #fff;
	min-height: 700px;
}
#wrap::after {
	content: "";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}
#container {
	position: relative;
	width: 970px;
	margin: 0 auto;
	padding: 20px 0;
}
/*-----------------------------------------------------------------------------
■┓ヘッダー用
┗┛
-------------------------------------------------------------------------------*/
/*--------------
ヘッダー全体枠
----------------------------------------------------------*/
#header {
	width: 100%;
}
header {
	position: relative;
	width: 970px;
	height: 80px;
	margin: 0 auto;
}
header h1 span {
	display: none;
}
header .main {
	width: 870px;
	margin: 0 auto;
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
}
.header_wrap {
	display: flex;
	flex-wrap: nowrap;
}
.site_logo a {
	display: block;
	width: 300px;
	height: 80px;
}
.site_logo a.sp_link {
	display:none;
}
.site_logo a img {
	width: 300px;
	height: 80px;
}
.site_logo a:hover img {
	opacity: 1.0;
	filter: alpha(opacity=100);
	-ms-filter: "alpha(opacity=100)";
}
.header_wrap .header_contents {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	width: 570px;
}

/* SSO用ヘッダースタイル */
#header.sso_header {
	border-bottom: 10px solid #107c10;
	box-shadow: 0 1px 8px rgba(0,0,0,0.5);
	-webkit-box-shadow: 0 1px 8px rgba(0,0,0,0.5);
	-moz-box-shadow: 0 1px 8px rgba(0,0,0,0.5);
}
/*--------------
ヘッダーナビ
----------------------------------------------------------*/
.header_wrap .header_contents .header_nav {
	flex: 0 0 480px;
}
.header_wrap .header_contents .header_nav ul {
	display: flex;
	justify-content: flex-end;
}
.header_wrap .header_contents .header_nav ul li {
	display: block;
	position: relative;
	padding: 8px 5px 8px 20px;
	font-weight: bold;
	font-size: 12px;
	line-height: 12px;
}
.header_wrap .header_contents .header_nav ul li a {
	color: #009;
}
.header_wrap .header_contents .header_nav ul li::before {
	position: absolute;
	display: block;
	top: calc(50% - 3px);
	left: 12px;
	content: "";
	border: 3px solid transparent;
	border-left: 3px solid #009;
}
/*--------------
文字サイズ変更ボタン
----------------------------------------------------------*/
header .textsize {
	width: 180px;
	padding-top: 5px;
}
header .textsize li {
	float: left;
	height: 25px;
}
header .textsize ul li:first-child {
	width: 100px;
	height: 25px;
	padding-right: 10px;
	line-height: 28px;
	text-align: right;
}
header .textsize ul li a {
	display: block;
	width: 26px;
	height: 25px;
}
header .textsize li a span {
	display: block;
}
header .textsize ul li.small a {
	background: url(../images/textsize.png) 0 0 no-repeat;
}
header .textsize ul li.medium a {
	background: url(../images/textsize.png) -26px 0 no-repeat;
}
header .textsize ul li.large a {
	background: url(../images/textsize.png) -52px 0 no-repeat;
}
header .textsize ul li.small a:hover {
	background: url(../images/textsize.png) 0 -25px no-repeat;
}
header .textsize ul li.medium a:hover {
	background: url(../images/textsize.png) -26px -25px no-repeat;
}
header .textsize ul li.large a:hover {
	background: url(../images/textsize.png) -52px -25px no-repeat;
}
.small_selected,
.medium_selected,
.large_selected {
	display: block;
	width: 26px;
	height: 25px;
}
.small_selected {
	background: url(../images/textsize.png) 0 -25px no-repeat;
}
.medium_selected {
	background: url(../images/textsize.png) -26px -25px no-repeat;
}
.large_selected {
	background: url(../images/textsize.png) -52px -25px no-repeat;
}
/*--------------
検索フォーム
----------------------------------------------------------*/
#search_box {
	margin-left: 15px;
}
.search_wrapper {
	display: flex;
	position: relative;
	background: #107c10;
	border-radius: 20px;
	-webkit-transform-origin: 100% 50%;
	transform-origin: 100% 50%;
	width: 30px;
	height: 30px;
	cursor: pointer;
	-webkit-transition: 250ms ease;
	transition: 250ms ease;
}
.search_wrapper::before {
	content: '';
	display: block;
	position: absolute;
	top: 5px; 
	right: 11px; 
	border-radius: 30px;
	height: 10px; 
	width: 10px; 
	border: 2px solid #fff;
}
.search_wrapper::after {
	content: '';
	display: block; 
	position:absolute;
	top: 15px;
	right: 10px;
	height: 10px;
	width: 3px;
	background: #fff;
	border-radius: 5px;
	transform:rotate(-45deg);
	-webkit-transform:rotate(-45deg);
	-o-transform:rotate(-45deg);
}
.search_wrapper.focused {
	width: 280px;
	border: 1px solid #107c10;
	background: #fff;
	border-radius: 5px;
}
.search_wrapper .btn_search_submit {
	display: none;
	position: absolute;
	top: 0;
	right: 0;
	cursor: pointer;
}
.search_wrapper.focused .btn_search_submit {
	display: block;
	width: 50px;
	height: 28px;
	right: -1px;
	background-color: #107c10;
	color: #fff;
	border-radius: 0 4px 4px 0;
}
.search_wrapper.focused::before,
.search_wrapper.focused::after {
	display: none;
}
.search_wrapper.focused input {
	padding: 0 40px 0 10px;
	width: 100%;
	-webkit-transform: scale(1);
	transform: scale(1);
}
.search_wrapper input {
	background: transparent;
	border: 0;
	color: #000;
	outline: none;
	height: 30px;
	width: 0;
	overflow: hidden;
	font-weight: 100;
	-webkit-appearance: none;
	-webkit-transform: scale(0);
	transform: scale(0);
	-webkit-transform-origin: 0 50%;
	transform-origin: 0 50%;
	-webkit-transition: 275ms ease;
	transition: 275ms ease;
}
.search_wrapper input::-webkit-input-placeholder {
	color: #ccc;
}
.search_wrapper input::-moz-placeholder {
	color: #ccc;
}
.search_wrapper input:-ms-input-placeholder {
	color: #ccc;
}
.search_wrapper input::placeholder {
	color: #ccc;
}
.search_wrapper input::-ms-clear {
	visibility:hidden;
}
/*-----------------------------------------------------------------------------
■┓サイトトップ用
┗┛
-------------------------------------------------------------------------------*/
/*--------------
メインコンテンツ
----------------------------------------------------------*/
#main_index {
	width: 870px;
	margin: 0 auto;
}
/*-----------------------------------------------------------------------------
■┓セカンダリページ用
┗┛
-------------------------------------------------------------------------------*/
/*--------------
メインコンテンツ
----------------------------------------------------------*/
#main {
	width: 870px; /* mainコンテンツwidthは860px */
	margin: 0 auto;
}
#main h1 {
	margin: 70px 0 1em 0;
	color: #303;
	font-size: 143%;
	font-weight: bold;
	text-indent: 10px;
	line-height: 25px;
	white-space: nowrap;
	letter-spacing: 0.05em;
}
#main h1 span {
	display: block;
	zoom: 1;
	border-left: 5px solid #303;
	padding-top: 4px;
}
#main h1:first-child {
	margin-top: 10px;
}
#main h2 {
	margin: 50px 0 10px 0;
	padding: 5px;
	color: #fff;
	background: #107c10;
	font-size: 136%;
}
#main h2 span {
	display: block;
	padding: 4px 0 0 7px;
	line-height: 25px;
}
#main h1+h2 {
	margin-top: 0;
}
#main h2:nth-of-type(1) {
	margin-top: 0;
}
#main h3 {
	margin: 15px 0 5px 0;
	padding: 5px;
	color: #000;
	background: #ebebeb;
	font-size: 115%;
}
#main h3 span{
	display: block;
	border-left: 4px solid #107c10;
	padding: 4px 0px 2px 7px;
	line-height: 18px;
}
#main h4 {
margin: 15px 0 5px 0;
padding: 5px 10px;
color: #fff;
background: #808080;
font-size: 108%;
}
#main h2+h3 {
	margin-top: 0;
}
#main h3:first-child {
	margin-top: 0;
}
#main p {
	margin-bottom: 1em;
}
#main p.catch_copy {
	margin: 7px 0;
	font-weight: bold;
	font-size: 129%;
	line-height: 22px;
}
#main ul.list_disc {
	margin-left: 22px;
	list-style-type: disc;
}
#main ol {
	margin-left: 40px;
	margin-bottom: 1em;
}
#main ol.usage_flow {
	margin-top: 7px;
}
#main ol.usage_flow li {
	margin-bottom: 1em;
}
#main ol.paren{
	counter-reset: item;
	list-style: none;
	margin-left: 10px !important;
}
#main ol.paren li:before{
	content: "(" counters(item, "-") ")";
	counter-increment: item;
	margin-right: 0.5em;
}
#main ol.paren li{
	padding-left: 2em;
	text-indent: -2em;
	margin-bottom: 0 !important;
}
#main dl.style_normal {
	margin-bottom: 1em;
}
#main dl.style_normal dt {
	font-weight: bold;
}
#main dl.style_normal dd {
	padding: 0 0 1em 1em;
}
.photo {
	margin: 0 5px 5px 0;
	border: 1px solid #000;
}

/*--------------
お問い合わせ
----------------------------------------------------------*/
#inquiry table.arrow {
	border-collapse: separate;
	border-spacing: 0 5px;
}
#inquiry table.arrow th,
#inquiry table.arrow td {
	padding: 10px 20px 10px 10px;
	vertical-align: middle;
}
#inquiry table.arrow th {
	background: #999;
	text-align: left;
	overflow: visible;
	position: relative;
	color: #fff;
	font-weight: normal;
	white-space: nowrap;
}
#inquiry table.arrow td {
	position: relative;
	min-height: 41px; /* 確認画面で空のセルがある時用 */
	background: #f8f8f8;
	padding-left: 20px;
}
#inquiry table.arrow td:before {
	left: 0;
	top: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(136, 183, 213, 0);
	border-left-color: #999;
	border-width: 10px;
	margin-top: -10px;
}
#inquiry table.arrow td.contact_number {
	font-size: 24px;
	font-size: 2.4rem;
}
#inquiry table.contact_personal_data td input.name {
	width: 200px;
	margin-right: 1em;
	margin-left: 10px;
}
#inquiry table.contact_personal_data td input.email {
	width: 465px;
}
#inquiry table.contact_personal_data td input.email_conf1 {
	width: 220px;
	margin-right: 5px;
}
#inquiry table.contact_personal_data td input.email_conf2 {
	width: 220px;
	margin-left: 5px;
}
#inquiry table.contact_personal_data td input.tel {
	width: 200px;
}
#inquiry .textarea_contact {
	width: 750px;
	height: 100px;
}
#inquiry .no_select_color {
	color: #ccc;
}
#inquiry #button {
	margin: 50px 0 0;
	text-align: center;
}
#inquiry #button input {
	width: 180px;
}
#inquiry #button_left {
	margin: 50px 0 0;
	text-align: left;
}
#inquiry #button_left input {
	width: 180px;
}
#inquiry input {
	margin-top: 5px;
}
#inquiry input[type="text"],
#inquiry input[type="email"],
#inquiry input[type="tel"],
#inquiry input[type="password"],
#inquiry textarea {
	padding: 5px;
	border: 1px solid #666;
}
#inquiry .contact_textarea {
	width: 700px;
	height: 100px;
}
#inquiry input[type="submit"],
#inquiry input[type="button"],
#inquiry input[type="reset"] {
	display: inline-block;
	box-sizing: border-box;
	min-width: 120px;
	min-height: 40px;
	padding: 9px 15px 7px;
	border: 1px solid #666;
	background: linear-gradient(
			to top
		, #fff 0%
		, #efefef 98%
		, #fff);
	border-radius: 5px;
	color: #000;
	text-align: center;
	line-height: 1.2em;
	cursor: pointer;
	-webkit-appearance: none;
}
#inquiry input[type="submit"]:hover,
#inquiry input[type="button"]:hover,
#inquiry input[type="reset"]:hover {
	background: #fff;
	text-decoration: none;
	cursor: pointer;
}
#inquiry .check th {
	text-align: left;
}
#inquiry .check td {
	font-weight: bold;
	padding-left: 20px;
	width: 100%;
}
#inquiry .disabled {
	background: #ddd;
}
#inquiry .width_100per {
	width: 100%;
}
/*--------------
フッター
----------------------------------------------------------*/
#footer {
	width: 100%;
	border-top: 1px solid #ccc;
	background:#107c10;
}
footer {
	position: relative;
	width: 970px;
	margin: 0 auto;
	padding: 20px 0;
}
footer small {
	position: absolute;
	width: 420px;
	/*width: 400px;*/
	letter-spacing: 0.05em;
	font-size: 72%;
	bottom: 0;
	right: 70px;
	text-align: right;
	color: #fff;
}
footer .footer_menu {
	display: flex;
	justify-content: center;
	width: 870px;
	margin: 0 auto;
	padding-top: 30px;
	font-size: 86%;
}
footer ul.parent li a:nth-child(1){
	font-size: 115%;
}
footer ul.child li a:nth-child(1) {
	font-size: 100%;
}
footer ul.parent:first-of-type {
	display: flex;
	margin-left: 0;
}
footer ul.parent, 
footer ul.inside_parent { /* PC用レイアウト調整 */
	margin-left: 30px;
}
footer ul.parent li.bg_none {
	background: transparent;
}
footer ul.inside_parent {
	display: list-item ;
}
footer ul.parent li {
	list-style-type: none;
}
footer ul.parent li a {
	position: relative;
	display: block;
	padding-left: 15px;
	text-align: left;
	color: #fff;
}
footer ul.parent li a::before {
	position: absolute;
	display: block;
	content: "";
	top: 11px;
	left: -3px;
	width: 14px;
	height: 14px;
	background: #fff;
	margin-top: -8px;
	border-radius: 50%;
}
footer ul.parent li a::after {
	z-index: 2;
	position: absolute;
	display: block;
	top: 7px;
	left: 2px;
	content: "";
	border: 3px solid transparent;
	border-left: 5px solid #107c10;
}
footer ul.child {
	margin-bottom: 1em;
}
footer ul.child li {
	padding-bottom: .5em;
	line-height: 1.2em;
	margin-left: 18px;
}
footer ul.child li a {
	position: relative;
	display: block;
	padding-left: 7px;
	font-weight: normal;
	text-align: left;
}
footer ul.child li a::before {
	display: none;
}
footer ul.child li a::after {
	position: absolute;
	display: block;
	top: 4px;
	left: 0;
	content: "";
	border: 3px solid transparent;
	border-left: 3px solid #fff;
}
/*--------------
健保詳細　推奨ブラウザ
----------------------------------------------------------*/
footer .footer_bottom {
	display: flex;
	width: 830px;
	margin:0 auto;
	padding: 5px 0 20px;
	justify-content: space-between;
}
footer .kenpo_details,
footer .browser {
	width: calc(50% - 20px);
	/*margin: 0 auto;*/
}
footer .kenpo_details .kenpo_name {
	color: #fff;
	background: #4b544b;
	padding: 5px 10px;
	font-weight: bold;
}
footer .kenpo_details .kenpo_contents {
	padding: 0.5em 0 1em 1em;
	border: 1px solid #4b544b;
	background: #fff;
}
footer .kenpo_details .kenpo_contents span {
	font-size:86%;
}
footer .browser .browser_title {
	font-weight: bold;
	font-size: 12px;
	color: #fff;
}
footer .browser ul li {
	color: #fff;
	font-size: 11px;
	line-height: 1.1em;
	list-style-type: none;
	margin: 0;
	padding: 0 0 5px 10px;
	position: relative;
}
footer .browser ul li::before {
	position: absolute;
	display: block;
	top: calc(50% - 6px);
	left: 0;
	content: "";
	border: 3px solid transparent;
	border-left: 3px solid #fff;
}
footer .browser ul li a {
	border-bottom: 1px solid #fff;
	color: #fff
}
footer .browser ul li a:hover {
	border-bottom: none;
	text-decoration: none;
}
.registered_icon {
	display: inline-block;
	width: 12px;
	height: 12px;
	color: #fff;
	border: 1px solid #fff;
	border-radius: 50%;
	font-size: 9px;
	line-height: 1.1em;
	padding-left: 2px;
}
/*--------------
ページのトップへ（#totop）
----------------------------------------------------------*/
.page_top {
	position: fixed;
	bottom: 30px;
	right: 10px;
	font-size: 12px;
	width: 50px;
	height: 50px;
}
.page_top a {
	display: table-cell;
	vertical-align: middle;
	width: 50px;
	height: 50px;
	background: #fff;
	border-radius: 12px;
	box-shadow: 2px 2px 2px rgba(0,0,0,0.2);
	color: #000;
	text-align: center;
	text-decoration: none;
}
.page_top a:hover {
	background: #ccc;
	text-decoration: none;
	opacity: .9;
}
/*--------------
SSO用ログインページスタイル
----------------------------------------------------------*/
#error {
	width: 100%;
	margin: 0 auto;
	padding-left: 20px;
}
#login {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	height: 100%;
	margin: 40px auto 0;
	padding: 0 20px;
}
.login_left {
	width: 63%;
}
.login_right {
	width: 37%;
}
.login_box {
	padding: 20px 10px;
	border-radius: 10px;
	background-color: #f3fdf3;
	border:1px solid #ccc;
}
.login_box h2 {
	display: none;
}
.login_box dl {
	width: 480px;
	margin: 0 auto;
}
.login_box dt {
	float: left;
	width: 200px;
	height: auto;
	padding-top: 18px;
	padding-right: 1em;
	color: #333;
	text-align: right;
}
.login_box dt span {
	font-weight: bold;
	font-size: 115%;
}
.login_box dd {
	margin-left: 120px;
	padding: 0.2em 0;
	font-weight: bold;
	text-align: left;
}
.login_box dd input {
	width: 180px;
	padding: 10px !important;
}
.login_box dd .email_address {
	margin-left: 0.5em;
}
.login_button a {
	display: block;
	width: 184px;
	height: 72px;
	margin-top: 13px;
	margin-left: 37px;
	background: url(../images/login_button.png) 0 0 no-repeat;
}
.login_button a:hover {
	background: url(../images/login_button.png) 0 -72px no-repeat;
}
.login_button span {
	display: none;
}
.help_menu ul {
	padding: 24px 0 16px 32px;
}
.help_menu ul li {
	margin-bottom: 1em;
}
.help_menu ul li a {
	position: relative;
	display: inline-block;
	padding: 0 0 5px 18px;
	line-height: 1.4em;
	font-size: 115%;
}
.help_menu ul li a::before {
	position: absolute;
	display: block;
	content: "";
	top: 2px;
	left: -2px;
	width: 14px;
	height: 14px;
	background: #4b544b;
	border-radius: 50%;
}
.help_menu ul li a::after {
	position: absolute;
	display: block;
	top: 6px;
	left: 3px;
	content: "";
	border: 3px solid transparent;
	border-left: 5px solid #fff;
}
.help_menu ul li .sub_link {
	margin: .25em 0 0 1em;
}
.help_menu ul li .sub_link a {
	font-size: 86%;
	padding-left: 1em;
}
.help_menu ul li .sub_link a::before {
	background: none;
	color: #000;
	content: "・";
	display: inline;
	position: absolute;;
		top: 0;
		left: 0;
}
.help_menu ul li .sub_link a::after {
	content: none;
}
.seal_verify div.sct {
	margin: 20px auto;
}
/* パスワード表示切替 */
#login dd.show_pass {
	margin-left: 200px;
	padding-top: 0;
}
.show_pass input[type="checkbox"] {
	display: none;
}
.show_pass input[type="checkbox"] + label {
	display: inline-block;
	font-weight: normal;
	margin-right: 0.8em;
	padding: 6px 3px 3px 22px;
	position: relative;
	user-select: none;
}
.show_pass input[type="checkbox"] + label::before,
.show_pass input[type="checkbox"] + label::after {
	content: "";
	display: block;
	position: absolute;
	transition: all .2s;
}
.show_pass input[type="checkbox"] + label::before {
	background: #f4f4f4;
	border: 1px solid #ccc;
	border-radius: 3px;
	top: 0.5em;
	left: 0;
	width: 14px;
	height: 14px;
}
.show_pass input[type="checkbox"] + label::after {
	border-left: 2px solid #767676;
	border-bottom: 2px solid #767676;
	top: calc(0.5em + 4px);
	left: 3px;
	width: 8px;
	height: 4px;
	opacity: 0;
	transform: rotate(-45deg) scale(.5);
}
.show_pass input[type="checkbox"] + label:hover::before {
	background: #fff;
}
.show_pass input[type="checkbox"]:checked + label::before {
	background: #fff;
	border: 1px solid #767676;
}
.show_pass input[type="checkbox"]:checked + label::after {
	transform: rotate(-45deg) scale(1);
	opacity: 1;
}

/*----------------------
パスワード変更　閉じるボタン
---------------------------------------------------*/
a.close_btn {
	display: inline-block;
	box-sizing: border-box;
	min-width: 120px;
	min-height: 40px;
	padding: 9px 15px 7px;
	border: 1px solid #666;
	background: linear-gradient(
			to top
		, #fff 0%
		, #efefef 98%
		, #fff);
	border-radius: 5px;
	color: #000;
	text-align: center;
	line-height: 1.5em;
	cursor: pointer;
	-webkit-appearance: none;
	text-decoration: none;
}
a.close_btn:hover {
	background: #fff;
	text-decoration: none;
	cursor: pointer;
}
/*-----------------------------------------------------------------------------
■┓共通スタイル
┗┛
-------------------------------------------------------------------------------*/
/* テキストフォント関係 */
.impt_link {
	font-weight: bold !important;
	font-size: 129% !important;
	line-height: 28px !important;
}
.red {
	color: #f00 !important;
}
.green {
	color: #090 !important;
}
.orange {
	color: #f90 !important;
}
.blue {
	color: #00f !important;
}
.navy {
	color: #000080 !important;
}
.bold {
	font-weight: bold !important;
}
.focus {
	background: #fffff0 !important;
}
.fs86per {
	font-size: 86% !important;
}
.fs115per {
	font-size: 115% !important;
}
.fs129per {
	font-size: 129% !important;
}
/* ボックス関係（margin padding 設定） */
.mt0 {
	margin-top: 0 !important;
}
.mr0 {
	margin-right: 0 !important;
}
.mb0 {
	margin-bottom: 0 !important;
}
.ml0 {
	margin-left: 0 !important;
}
.mt1em {
	margin-top: 1em !important;
}
.mr1em {
	margin-right: 1em !important;
}
.mb1em {
	margin-bottom: 1em !important;
}
.ml1em {
	margin-left: 1em !important;
}
.mt2em {
	margin-top: 2em !important;
}
.mr2em {
	margin-right: 2em !important;
}
.mb2em {
	margin-bottom: 2em !important;
}
.ml2em {
	margin-left: 2em !important;
}
.mgn10px { /*主にtable位置調整用*/
	margin: 10px;
}
.mtb25px {
	margin: 25px 0;
}
.ml20px {
	margin-left: 20px !important;
}
.ml22px {
	margin-left: 22px !important;
}
.pt0 {
	padding-top: 0 !important;
}
.pr0 {
	padding-right: 0 !important;
}
.pb0 {
	padding-bottom: 0 !important;
}
.pl0 {
	padding-left: 0 !important;
}
.pt1em {
	padding-top: 1em !important;
}
.pr1em {
	padding-right: 1em !important;
}
.pb1em {
	padding-bottom: 1em !important;
}
.pl1em {
	padding-left: 1em !important;
}
.pt2em {
	padding-top: 2em !important;
}
.pr2em {
	padding-right: 2em !important;
}
.pb2em {
	padding-bottom: 2em !important;
}
.pl2em {
	padding-left: 2em !important;
}
.pr7px {
	padding-right: 7px !important;
}
.pl22px {
	padding-right: 22px !important;
}
/* 位置調整 */
.text_left {
	text-align: left !important;
}
.text_right {
	text-align: right !important;
}
.text_center {
	text-align: center !important;
}
.text_top {
	vertical-align: top !important;
}
.text_middle {
	vertical-align: middle !important;
}
.valign_top {
	vertical-align: top !important;
}
.float_l {
	float: left !important;
}
.float_r {
	float: right !important;
}
/* ※印インデント調整 */
.kome {
	text-indent: -1em;
	padding-left: 1em;
}
.text-indent{
	text-indent: 1em;
}
/* アイコン各種 */
.procedure_icon {
	margin: 1em 0;
}
/* リンク、その他 */
.underline {
	text-decoration: underline;
}
.nowrap {
	white-space: nowrap;
}
.clear {
	clear: both;
}
.disnon {
	display: none;
}
.visibility_hidden {
	visibility: hidden;
}
.cursor_pointer {
	cursor: pointer;
}
.attention {
	padding-left: 1.3em;
	background: #fff url(../images/attention.gif) no-repeat;
}
.saml_msg {
	margin-bottom: 70px !important;
	font-size: 129%;
}
.bdr_Gray{
	border: solid 2px #dcdcdc;
}
/*--------------
<img>画像の表示をリキッドにする
----------------------------------------------------------*/
img.auto {
	max-width: 100%
	/*width:100%;*/
}

/*--------------
ポップアップ内等で使用
（.btn_bottom）
----------------------------------------------------------*/
.btn_bottom {
	display: flex;
	flex-direction: row-reverse;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 48px;
	width: 100%;
}
.btn_bottom input,
a.btn_input {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: #f3f3f3;
	border: 1px solid #666;
	border-radius: 4px;
	box-shadow: none;
	color: #000 !important;
	cursor: pointer;
	display: inline-flex;
		align-items: center;
		justify-content: center;
	font-family: inherit;
	font-size: inherit;
	line-height: 1;
	margin: 0 8px 8px;
	height: 56px;
	min-width: 200px;
	padding: 0 24px;
	transition: all .2s;
}
.btn_bottom input:hover,
a.btn_input:hover {
	background-color: #fff;
	text-decoration: none !important;
}
.btn_bottom input:focus,
a.btn_input:active {
	background-color: #fff;
}

/*-------------------
popup_base
--------------------------------------------------*/
/*
.popup_base_wrap * {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
*/
.popup_base_wrap {
	background: rgba(0,0,0,0.2);
	height: 100%;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 99999999;
}
.popup_base_box {
	background-color: #fff;
	border: 1px solid #999;
	border-radius: 8px;
	box-shadow: 0 0 5px 0 rgba(0,0,0,0.6);
	height: calc(100% - 20px);
	margin: 10px;
	position: fixed;
	width: calc(100% - 20px);
}
a.open_popup {
    color: #666;
}
a.open_popup:hover {
	color: #f00;
}
.popup_base_box p.popup_base_title {
	background: -webkit-linear-gradient(to top, #ddd 40%, #eee 50%);
	background: -moz-linear-gradient(to top, #ddd 40%, #eee 50%);
	background: -ms-linear-gradient(to top, #ddd 40%, #eee 50%);
	background: linear-gradient(to top, #ddd 40%, #eee 50%);
	background-color: #ddd; /* IEでborderとbackgroundの隙間を埋める処理 */
	border-bottom: 1px solid #999;
	border-radius: 7px 7px 0 0;
	font-weight: bold;
	font-size: 18px;
	margin: 0 !important;
	min-height: 36px;
	/*padding: 7px 45px 5px 15px;*/
	padding: 8px;
	position: relative;
	text-align: center;
}
/* タイトルバーの閉じるアイコン */
.popup_base_box p.popup_base_title a.btn_x {
	background: -webkit-linear-gradient(to top, #eee 40%, #f9f9f9 50%);
	background: -moz-linear-gradient(to top, #eee 40%, #f9f9f9 50%);
	background: -ms-linear-gradient(to top, #eee 40%, #f9f9f9 50%);
	background: linear-gradient(to top, #eee 40%, #f9f9f9 50%);
	background-color: #eee; /* IEでborderとbackgroundの隙間を埋める処理 */
	border: 1px solid #999;
	border-radius: 4px;
	color: #000 !important;
	cursor: pointer;
	height: 32px;
	position: absolute;
	right: 5px;
	text-decoration: none !important;
	top: 5px;
	width: 32px;
}
.popup_base_box p.popup_base_title a.btn_x::before,
.popup_base_box p.popup_base_title a.btn_x::after {
	background: #555;
	content: "";
	display: block;
	height: 2px;
	left: 7px;
	position: absolute;
	width: 16px;
	top: 14px;
}
.popup_base_box p.popup_base_title a.btn_x::before {
	transform: rotate(45deg);
}
.popup_base_box p.popup_base_title a.btn_x::after {
	transform: rotate(-45deg);
}
.popup_base_box p.popup_base_title a:hover.btn_x {
	background: #fff !important;
	border-color: #aaa;
	color: #999 !important;
}
.popup_base_box p.popup_base_title a:hover.btn_x::before,
.popup_base_box p.popup_base_title a:hover.btn_x::after {
	background: #aaa;
}
.popup_base_box .popup_base_contents {
	/*height: 100%;*/
	overflow: auto;
	padding: 20px;
}
.contents_fixed { /* ポップアップ表示時、mainコンテンツを固定する用 */
	height: 100%;
	position: fixed;
	width: 100%;
}

/* ポップアップ内スタイル */
.circle_arrow {
	position: relative;
	display: block;
	padding: 0 0 5px 18px;
	line-height: 1.4em;
	font-size: 115%;
	font-weight: bold;
	margin-left: 10px;
}
.circle_arrow::before {
	position: absolute;
	display: block;
	content: "";
	top: 2px;
	left: -2px;
	width: 14px;
	height: 14px;
	background: #4b544b;
	border-radius: 50%;
}
.circle_arrow::after {
	position: absolute;
	display: block;
	top: 6px;
	left: 3px;
	content: "";
	border: 3px solid transparent;
	border-left: 5px solid #fff;
}
.seal_verify div.sct {
	margin: 20px auto;
}

/*-------------------
注意文
--------------------------------------------------*/
.alert_box {
	background-color: #fffcfc;
	border: 1px solid #f00;
	border-radius: 10px;
	margin-bottom: 32px;
	padding: 16px;
}
.alert_box .alert_tit {
	font-weight: bold;
	letter-spacing: 0;
	padding-left: 1.2em;
	text-indent: -1.2em;
}
.alert_tit {
	color: #f00;
	margin-bottom: 4px;
	padding-left: calc(1em + 4px);
	text-indent: calc(-1em - 2px);
}
.alert_tit::before {
	content: "\f06a";
	font-family: "Font Awesome 5 Free";
	font-weight: bold;
	margin-right: 4px;
}

/*-------------------
メンテナンス中（ログインさせない）
--------------------------------------------------*/
.maintenance_box {
	margin: 24px auto;
	text-align: center;
	width: 80%;
}
.maintenance_box .maintenance_ttl {
	background: #ff2d2d;
	color: #fff;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.4;
	padding: 12px 24px 8px;
}
.maintenance_box .maintenance_contents {
	border: 1px solid #ff2d2d;
	font-size: 16px;
	line-height: 1.6;
	padding: 24px 24px 20px;
}
.maintenance_box .maintenance_time {
	border-bottom: 4px double #999;
	display: inline-block;
	font-size: 14px;
	font-weight: bold;
	margin: 16px 0 40px;
	padding: 0 8px;
}
.maintenance_box .maintenance_time em {
	font-size: 20px;
	margin: 0 4px;
}
.maintenance_box .maintenance_time .kara {
	margin: 0 8px;
}
.maintenance_box .maintenance_eng {
	color: #ff2d2d;
	font-size: 14px;
}
