@charset "utf-8";
/*==================================================================================================

全グループ共通のcss（main.css , main_pad.css , main_smart.css）
グループごとの修正はグループ専用のcssで上書きする

基本設定

■ベースカラー：#090 , #333(text) ,#ccc(border) , #eee(bg) → 各グループ用のcssで上書き
■コンテンツ横幅：950px

■フォント：日本語/（本文）メイリオ、（タイトル）Notosansjapanese「Bold 700」（グロナビ）「Medium 500」、英語/Arial

■hover時のopacity設定：0.6とする

==================================================================================================*/
/*-------------------
共通class
--------------------------------------------------*/
@import url('https://secure.apap.jp/vc/base/usr/docs/css/html5reset-1.6.1.css'); /*ブラウザのデフォルトスタイルをリセット*/
@import url('https://secure.apap.jp/vc/base/usr/docs/css/common.css');
/*-------------------
フォント
--------------------------------------------------*/
@import url('https://fonts.googleapis.com/earlyaccess/notosansjapanese.css');
@import url('/vc/base/usr/docs/css/fontawesome_ver4.css');
@import url('/vc/base/usr/docs/css/fontawesome_ver5.css');
/* 約物半角専用フォント読み込み */
@import url('https://cdn.jsdelivr.net/npm/yakuhanjp@3.0.0/dist/css/yakuhanjp.min.css');
/* スクロールヒント読み込み */
@import url('https://secure.apap.jp/vc/base/usr/docs/css/scroll-hint.css');


/*--------------
■┓基本設定
┗┛
----------------------------------------------------------*/
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
/* html5用 */
article,aside,canvas,details,figcaption,figure,
header,footer,main,menu,nav,section,summary {
	display: block;
}
html {
	font-size: 62.5%; /* sets the base font to 10px for eaiser math */
	overflow-x: auto;
}
body {
	background-color: #f7f7f7;
	color: #333;
	font-family: YakuHanJP, Arial, 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-size: 14px;
	font-size: 1.4rem;
	letter-spacing: 0.03em;
	line-height: 1.8;
}
br {
	letter-spacing: normal;
}
label {
	cursor: pointer;
}
p {
	margin-bottom: 1em;
}
img {
	vertical-align: bottom;
}
a {
	color: #333;
	outline: none;
	text-decoration: none;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}
a img {
	transition: all .2s;
}
a:hover {
	text-decoration: none;
}
a:hover img {
	opacity: 0.6;
}
h1,h2,h3,h4 {
	line-height: 1.4;
}
.mb8px {
	margin-bottom: 8px !important;
}

/*########################################################################################

サイト全体枠

########################################################################################*/
main#main {
	margin: 0;
	padding: 0;
	width: 100%;
	z-index: 1;
}
.contents {
	margin: 0 auto;
	padding: 40px 16px;
	width: 100%;
	max-width: 950px;
}
.contents_narrow {
	margin: 0 auto;
	max-width: 700px;
}
.tit {
	font-family: "Noto Sans Japanese";
}

/*########################################################################################

ヘッダー
header

########################################################################################*/
/*-----------------------------------------------------------------------------
■┓ヘッダー全体枠
┗┛
-----------------------------------------------------------------------------*/
#header {
	background: #fff;
	border-bottom: 2px solid #090;
	/*min-height: 100px;*/
}
#header header {
	margin: 0 auto;
	width: 100%;
	max-width: 950px;
}
#header .hd_top {
	display: flex;
	padding: 20px 0 24px;
}
/*----------------------------
上部左ロゴ
----------------------------------------------------------*/
#header .hd_top .hd_l {
	margin-right: auto;
}
#header h1 {
	font-size: 20px;
	font-size: 2.0rem;
	font-family: "Noto Sans Japanese";
	font-weight: bold;
	letter-spacing: 0.05em;
	line-height: 1.0;
	margin: 2px 16px -5px 16px;
	padding: 8px 0;
}
#header h1 .kenpo_tit {
	display: inline-block;
	font-family: "Noto Sans Japanese";
	line-height: 1.3;
	margin: -10px 0 -2px;
}
#header h1 .kenpo_tit #sys_name {
	margin-left: 8px;
}
#header .kenpo_en {
	color: #090;
	display: inline-block;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: normal;
	letter-spacing: 0.03em;
	margin-top: 8px;
}
/*----------------------------
ヘッダー内右側
----------------------------------------------------------*/
#header .hd_r {
	display: flex;
		align-self: center;
		justify-content: flex-end;
		flex-wrap: wrap;
	font-family: "Noto Sans Japanese";
	margin: -40px 16px 0 0;
}
/*----------------------------
お問い合わせボタン
----------------------------------------------------------*/
#header a.btn_contact_hd {
	display: inline-block;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: bold;
	letter-spacing: 0.05em;
	line-height: 1;
	margin-left: 8px;
	padding: 4px;
	white-space: nowrap;
}
#header a.btn_contact_hd::before {
	content: "\f0e0";
	font-family: "Font Awesome 5 Free";
	font-size: 14px;
	font-size: 1.4rem;
	margin-right: 2px;
}
#header a:hover.btn_contact_hd span {
	text-decoration: underline;
}
/*----------------------------
日英切替ボタン
----------------------------------------------------------*/
#header a.btn_lang_hd {
	border: 1px solid #090;
	border-radius: 2px;
	display: inline-block;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: bold;
	line-height: 1;
	margin-left: 8px;
	padding: 4px;
	text-align: center;
	transition: .3s;
	min-width: 90px;
}
#header a:hover.btn_lang_hd {
	background: #090;
	color: #fff;
}

/*########################################################################################

ログインページスタイル

########################################################################################*/
/*-----------------------------------------------------------------------------

■┓ログインページ共通
┗┛
-----------------------------------------------------------------------------*/
/*----------------------------
「ログイン」「登録する」のボタン　→　（a.btn_submit）
----------------------------------------------------------*/
a.btn_submit {
	color: #fff;
	display: flex;
		align-items: center;
		justify-content: center;
	font-weight: bold;
	transition: all .2s;
}
a.btn_submit span {
	display: block;
	line-height: 1.4;
}
a.btn_submit:hover {
	opacity: .6;
}
/*----------------------------
矢印付きテキストリンク
----------------------------------------------------------*/
a.link_arrow {
	font-size: 12px;
	font-size: 1.2rem;
	position: relative;
}
a.link_arrow::before {
	content: "\f061"; /* fa-chevron-right */
	color: #333;
	display: inline-block;
	font-family: "Font Awesome 5 Free";
	font-weight: bold;
	padding-right: 4px;
}
a.link_arrow span {
	border-bottom: 1px solid #000;
}
a.link_arrow:hover span {
	border-bottom: none;
}
/*----------------------------
注意事項のテキスト
----------------------------------------------------------*/
.check_alert {
	color: #f00;
	font-weight: bold;
	line-height: 1.5;
	margin: 12px 0 0 24px;
}

/*-----------------------------------------------------------------------------

■┓ログインボックス
┗┛
-----------------------------------------------------------------------------*/
.login_box {
	background: #fff;
	border: 1px solid #ccc;
	display: flex;
		flex-wrap: wrap;
}
.login_box .login_container {
	border-right: 1px solid #ccc;
	display: flex;
		align-items: center;
	width: 55%;
}
.login_box .login_container .inner_container {
	padding: 48px 48px 56px;
	width: 100%;
}
.login_box .lb_sysname {
	font-size: 13px;
	font-size: 1.3rem;
	line-height: 1.5;
	margin: 8px auto -8px;
	padding-bottom: 8px;
	text-align: center;
	width: 80%;
}
.login_box .lb_ttl {
	font-size: 28px;
	font-size: 2.8rem;
	font-weight: bold;
	margin: 0 auto .5em;
	text-align: center;
}
.login_box .login_form {
	margin-bottom: 3px;
}
.login_box .login_form input {
	font-family: "FontAwesome", Arial, 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-size: 18px;
	font-size: 1.8rem;
	padding: 8px;
	width: 100%;
}
.login_box .login_btn {
	margin: 18px 20px 8px;
}
.login_box .login_btn a.btn_submit { /* ログインボタン */
	background: #c84302;
	font-size: 18px;
	font-size: 1.8rem;
	padding: 14px 12px 16px;
	margin-bottom: 8px;
}
.login_box .wrap_rightside {
	display: flex;
		flex-direction: column;
	width: 45%;
}
.login_box .regist_container,
.login_box .environment_container {
	display: flex;
		align-items: center;
	width: 100%;
}
.login_box .regist_container {
	flex-grow: 1.5;
}
.login_box .environment_container {
	border-top: 1px solid #ccc;
	flex-grow: 1;
}
.login_box .regist_container .inner_container,
.login_box .environment_container .inner_container {
	padding: 24px 32px;
	width: 100%;
}
.login_box .lb_bt {
	border-top: 1px solid #ccc;
}
.login_box .lb_ttl_sub {
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: bold;
	text-indent: -.775em;
	line-height: 1.5;
	margin-bottom: 16px;
	padding-left: 1.5em;
}
.login_box .lb_ttl_sub i {
	margin-right: 6px;
}
.login_box .lb_ttl_sub i.fa-file-signature { /* 利用規約のアイコン */
	margin-left: 2px;
	margin-right: 4px;
}
.login_box .register_btn {
	margin: 20px 0 8px;
	padding-left: 24px;
}
.login_box .register_btn a.btn_submit { /* ID・パスワードを取得するするボタン */
	background: #090;
	font-size: 16px;
	font-size: 1.6rem;
	padding: 10px 8px 12px;
	text-align: center;
}
.login_box .register_btn.lb_bt a.btn_submit { /* border-top がある時はボタンに margin-top を付ける */
	margin-top: 24px;
}
.login_box .regist_container .info_box,
.login_box .environment_container .requirements_txt {
	padding-left: 24px;
}
.login_box .environment_container .requirements_txt a {
	border-bottom: 1px solid #000;
}
.login_box .environment_container .requirements_txt a:hover {
	border-bottom: none;
}
.login_box .msg_to_idpw {
	line-height: 1.6;
	margin-top: 24px;
}
.login_box .msg_to_getpw {
	font-size: 13px;
	font-size: 1.3rem;
	line-height: 1.6;
	margin: 16px 0 0 24px;
}
.login_box .msg_to_manual {
	border-top: 1px dashed #ccc;
	font-size: 13px;
	font-size: 1.3rem;
	line-height: 1.6;
	margin: 8px 0 0 24px;
	padding-top: 8px;
}
.login_box .msg_to_manual a {
	border-bottom: 1px solid #000;
}
.login_box .msg_to_manual a:hover {
	border-bottom: none;
}
.login_box .regist_container .info_box.lots_of_txt {
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 1.6;
	margin-top: 12px;
}
.login_box .msg_addition {
	border-top: 1px dashed #ccc;
	margin-top: 8px;
	padding-top: 8px;
}
.login_box .msg_addition.space_16px {
	margin-top: 16px;
	padding-top: 16px;
}
.login_box .msg_addition.space_24px {
	margin-top: 24px;
	padding-top: 24px;
}
.login_box .width_login_btn {
	padding: 0 20px;
}
.login_box a.btn_sublink {
	border: 1px solid #999;
	display: flex;
		align-items: center;
		justify-content: center;
	padding: 6px 16px;
	transition: all .3s;
}
.login_box a.btn_sublink.pd8px {
	padding: 6px 8px;
}
.login_box a:hover.btn_sublink {
	opacity: .6;
}
.login_box a.btn_sublink[target="_blank"]::after {
	content: "\f2d2";
	font-family: "Font Awesome 5 Free";
	margin-left: 8px;
}

/*----------------------------
Bタイプ（ノーマルタイプを上書きしてレイアウト調整）
----------------------------------------------------------*/
.login_box.type_b .login_container {
	border-right: none;
	width: 50%;
}
.login_box.type_b .regist_container {
	border-right: 1px solid #ccc;
	display: flex;
		align-items: center;
	width: 50%;
}
.login_box.type_b .regist_container .inner_container {
	padding-right: 20px;
	padding-left: 20px;
}
/* 「ID・パスワード問合せ」がログインボックス内 */
.login_box .lb_ttl_sub2 {
	border-bottom: 1px solid #ccc;
	color: #090;
	font-family: "Noto Sans Japanese";
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.2;
	margin-bottom: 24px;
	padding: 0 .5em .5em;
	text-align: center;
}
.login_box.type_b .register_btn {
	padding-left: 0;
}
.login_box a.btn_registration {
	background: #090;
	color: #fff;
	display: flex;
		align-items: center;
		justify-content: center;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1.6;
	margin: 24px 2em;
	padding: 12px 16px;
	transition: .3s;
}
.login_box a:hover.btn_registration {
	opacity: .6;
}
.login_box.type_b .check_alert {
	margin: 12px 28px 0;
}
.login_box.type_b .check_alert.direct_below_btn {
	margin-top: -12px;
}


/*########################################################################################

セカンダリページ

########################################################################################*/
/*-----------------------------------------------------------------------------
■┓セカンダリ共通
┗┛
-----------------------------------------------------------------------------*/
/*----------------------------
見出し
----------------------------------------------------------*/
.sub_tit {
	border-bottom: 1px dotted #ccc;
	font-family: "Noto Sans Japanese";
	font-size: 22px;
	font-size: 2.2rem;
	font-weight: bold;
	margin: 0 auto 32px;
	padding: 16px 0 20px;
	position: relative;
}
.sec_tit {
	border-bottom: 1px dotted #ccc;
	font-family: "Noto Sans Japanese";
	font-size: 18px;
	font-size: 1.8rem;
	margin: 48px auto 16px;
	padding-bottom: 8px;
}
.arrow_tit {
	font-family: "Noto Sans Japanese";
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 500;
	margin-bottom: 1.25em;
	padding-left: 1em;
	position: relative;
}
.arrow_tit::before {
	content: "\f054";
	font-family: "FontAwesome";
	font-size: 12px;
	font-size: 1.2rem;
	position: absolute;
		top: 5px;
		left: 2px;
}
/*----------------------------
テーブル
----------------------------------------------------------*/
table {
	width: 100%;
}
table th,
table td {
	border: 1px solid #ddd;
	text-align: left;
	padding: 16px;
	vertical-align: middle;
}
table th {
	font-weight: bold;
}
table td {
	background: #fff;
}
table thead th {
	background-color: #aaa;
	color: #fff;
	padding: 12px;
	text-align: center;
}
table tbody th {
	background-color: #efefef;
	color: #333;
}
/* スクロールヒントのために縦スクロールが出ないようにする対応 */
.tbl_scroll {
	overflow-y: hidden !important;
}
/*--------------
input  textarea  select
----------------------------------------------------------*/
input[type="text"],
input[type="number"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="search"],/* inputで指定すると、radio、checkboxも変更されてしまうためtypeで指定 */
textarea,
select {
	-webkit-appearance: none;/* iPad用のデザイン初期化　selectの▼非表示 */
	-moz-appearance: none;
	appearance: none;
	-webkit-tap-highlight-color : rgba(0,0,0,0);
	border: 1px solid #999;
	border-radius: 0;
	box-shadow: inset 1px 3px 9px -8px rgba(0,0,0,0.5);
	font-family: inherit;
	font-size: inherit;
	margin-top: .3em;
	margin-bottom: .3em;
	outline: none;
	padding: 4px 8px;
}
input[type=text] ,
input[type=id] , 
input[type=password] ,
select {
	height: 40px;
	padding: 0 8px;
}

/* input */
input:-webkit-autofill { /* オートフィルでの背景色を上書き フォーカスが外れた時のため */
	-webkit-box-shadow: 0 0 0 1000px white inset;
}

/* input type="number" */
input[type="number"]::-webkit-inner-spin-button { /* スピンボタン非表示 */
	-webkit-appearance: none;
	margin: 0;
}
input[type="number"] { /* スピンボタン非表示 */
	-moz-appearance: textfield;
}

/* input type="radio" */
input[type="radio"] {
	display: none;
}
input[type="radio"] + label {
	display: inline-block;
	margin-right: 0.8em;
	padding: 3px 3px 3px 22px;
	position: relative;
}
input[type="radio"] + label::before,
input[type="radio"] + label::after {
	content: "";
	display: block;
	position: absolute;
	transition: all .2s;
}
input[type="radio"] + label::before {
	background: #f4f4f4;
	border: 1px solid #ccc;
	border-radius: 14px;
	top: 0.5em;
	left: 0;
	width: 14px;
	height: 14px;
}
input[type="radio"] + label::after {
	border-radius: 50%;
	top: calc(0.5em + 3px);
	left: 3px;
	width: 10px;
	height: 10px;
	opacity: 0;
}
input[type="radio"] + label:hover::before {
	background: #fff;
}
input[type="radio"]:checked + label::before {
	background: #fff;
	border: 1px solid #767676;
}
input[type="radio"]:checked + label::after {
	background: #767676;
	opacity: 1;
}

/* input type="checkbox" */
input[type="checkbox"] {
	display: none;
}
input[type="checkbox"] + label {
	display: inline-block;
	margin-right: 0.8em;
	padding: 3px 3px 3px 22px;
	position: relative;
}
input[type="checkbox"] + label::before,
input[type="checkbox"] + label::after {
	content: "";
	display: block;
	position: absolute;
	transition: all .2s;
}
input[type="checkbox"] + label::before {
	background: #f4f4f4;
	border: 1px solid #ccc;
	border-radius: 3px;
	top: 0.5em;
	left: 0;
	width: 14px;
	height: 14px;
}
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);
}
input[type="checkbox"] + label:hover::before {
	background: #fff;
}
input[type="checkbox"]:checked + label::before {
	background: #fff;
	border: 1px solid #767676;
}
input[type="checkbox"]:checked + label::after {
	transform: rotate(-45deg) scale(1);
	opacity: 1;
}

input[type="search"]::-webkit-search-cancel-button {/* input内×ボタンのデザイン削除 */
	-webkit-appearance: none;
}
input::-webkit-input-placeholder { /* iOSでのズレを修正 */
	line-height: 1.1;
}

/* select */
select::-ms-expand {
	display: none;
}
select {
	background-color: #fff;
	background-image: url(/vc/base/usr/docs/images/select_arrow.svg);
	background-position: right 5px top 50%;
	background-repeat: no-repeat;
	background-size: 10px 7px;
	cursor: pointer;
	max-width: 100%;
	padding-right: 20px;
}

/*----------------------------
ご注意枠の要素　→　(.alert_box)
----------------------------------------------------------*/
.alert_box {
	background-color: #fffcfc;
	border: 1px solid #f00;
	margin-bottom: 32px;
	padding: 16px;
}
.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;
}
.alert_box a {
	border-bottom: 1px solid #000;
}
.alert_box a:hover {
	border-bottom: none;
}
.alert_box p:last-child {
	margin-bottom: 0;
}

/*----------------------------
ページ遷移
----------------------------------------------------------*/
.submit_area {
	display: flex;
		align-items: flex-start;
		justify-content: space-around;
	margin: 4em 0;
}
.submit_area .btn_back_sso + .btn_submit_sso,
.submit_area .btn_close_sso + .btn_submit_sso {
	margin: 0 0 0 auto;
}

/*----------------------------
「更新する」ボタン　→　(a.btn_submit_sso)
----------------------------------------------------------*/
a.btn_submit_sso {
	background: #f60;
	color: #fff;
	display: inline-flex;
		align-items: center;
		justify-content: center;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1;
	padding: 0 16px;
	transition: all .2s;
	height: 60px;
	min-width: 256px;
}
a.btn_submit_sso span {
	display: block;
	padding-left: 28px;
	position: relative;
}
a.btn_submit_sso span::before {
	background: url(/vc/base/usr/docs/images/ic_arrow@2x.png) no-repeat 0 0; /* svgファイルだとIEでぼやけるのでpngに */
	background-size: 16px 13px;
	content: "";
	display: block;
	font-size: 0;
	line-height: 0;
	position: absolute;
		top: calc(50% - 5px);
		left: 0;
	width: 16px;
	height: 13px;
}
a:hover.btn_submit_sso {
	opacity: 0.6;
}

/*----------------------------
「戻る」「閉じる」ボタン　→　(a.btn_back_sso、a.btn_close_sso)
----------------------------------------------------------*/
a.btn_back_sso,
a.btn_close_sso {
	background: #ddd;
	color: #000;
	display: inline-flex;
		align-items: center;
		justify-content: center;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1;
	padding: 0 16px;
	transition: all .2s;
	height: 40px;
	min-width: 128px;
}
a.btn_back_sso span,
a.btn_close_sso span {
	display: block;
	padding-left: 16px;
	position: relative;
}
a.btn_back_sso span {
	padding-left: 16px;
}
a.btn_close_sso span {
	padding-left: 24px;
}
a.btn_back_sso span::before,
a.btn_close_sso span::before {
	content: "";
	display: block;
	font-size: 0;
	line-height: 0;
	position: absolute;
}
a.btn_back_sso span::before {
	background: url(/vc/base/usr/docs/images/ic_back@2x.png) no-repeat 0 0;
	background-size: 6px 11px;
		top: calc(50% - 5px);
		left: 0;
	width: 6px;
	height: 11px;
}
a.btn_close_sso span::before {
	background: url(/vc/base/usr/docs/images/ic_x@2x.png) no-repeat 0 0;
	background-size: 15px 12px;
		top: calc(50% - 5px);
		left: 0;
	width: 15px;
	height: 12px;
}
a.btn_back_sso:hover,
a.btn_close_sso:hover {
	opacity: 0.6;
}

/*----------------------------
ページ移動ボタンを包む要素　→　（a.transition_wrap）
----------------------------------------------------------*/
.transition_wrap {
	margin-top: 7rem;
	display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
	text-align: center;
}
.transition_wrap > div {
	margin-bottom: 16px;
	width: 49%;
}
.transition_wrap > div:nth-child(even) {
	margin-left: 2%;
}
.transition_wrap > div:first-child {
	margin-left: auto;
	margin-right: auto;
}

/*----------------------------
ページ移動ボタン（「健保サイトへ戻る」「検診予約」等）のボタン　→　（a.btn_transition）
----------------------------------------------------------*/
a.btn_transition {
	border: 1px solid #090;
	color: #090;
	display: flex;
		align-items: center;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.4;
	padding: 12px 28px 15px 24px;
	text-align: left;
	transition: .3s;
	width: 100%;
	height: 100%;
}
a.btn_transition::before {
	content: "\f0a9";
	display: inline-block;
	font-family: "Font Awesome 5 Free";
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
	margin: 3px 8px 0 0;
}
a.btn_transition.transition_back {
	display: inline-flex;
	width: auto;
}
a.btn_transition.transition_back::before {
	content: "\f0a8";
}
a.btn_transition:hover {
	background: #090;
	color: #fff;
}

/*-----------------------------------------------------------------------------
■┓パスワード変更ページ
┗┛
-----------------------------------------------------------------------------*/
table.chg_pw th {
	width: 35%;
}

/*-----------------------------------------------------------------------------
■┓個人情報変更ページ
┗┛
-----------------------------------------------------------------------------*/
table.chg_personal th {
	white-space: nowrap;
}
table.tbl_telnum {
	margin-bottom: 8px;
	width: auto;
}
table.tbl_telnum th {
	width: auto;
}
.link_about_mail,
.input_email_area,
.ck_nomail {
	border-bottom: 1px dotted #d6d6d6;
	padding: 12px 0;
}
.link_about_mail {
	padding-top: 4px;
}
.mail_alert {
	color: red;
	font-size: 14px;
	font-size: 1.4rem;
	padding: 8px 0 4px 1em;
	text-indent: -1em;
}
.link_about_mail > div {
	line-height: 1.4;
	padding-left:12px;
	position: relative;
}
.link_about_mail > div a:hover {
	text-decoration: underline;
}
.link_about_mail > div:before {
	color: gray;
	content: "\f054"; /* fa-chevron-right */
	font-family: FontAwesome;
	font-size: 8px;
	font-size: .8rem;
	position: absolute;
		top: 3px;
		left: 0;
}
.link_about_mail > div span {
	color: red;
	font-size: 14px;
	font-size: 1.4rem;
	margin-left: 1em;
}
.sub_text {
	color: #555;
	font-size: 14px;
	font-size: 1.4rem;
}
.input_email_area .txt_confirmation {
	margin-top: 12px;
}
.input_email_area .btn_send_email {
	margin-top: 4px;
}
.input_email_area .btn_send_email a {
	background: #090;
	color: #fff;
	display: inline-block;
	font-size: 14px;
	font-size: 1.4rem;
	padding: 4px 8px 4px 26px;
	position: relative;
	text-decoration: none;
	transition: .3s;
}
.input_email_area .btn_send_email a::before {
	content: "\f003";
	font-family: FontAwesome;
	position: absolute;
		top: 4px;
		left: 8px;
}
.input_email_area .btn_send_email a:hover {
	opacity: .6
}
.it_long {
	max-width: 480px;
}
.it_middle {
	max-width: 280px;
}
.it_short {
	max-width: 160px;
}
.it_long input,
.it_middle input,
.it_short input {
	width: 100%;
}
/* 被扶養者 */
table.tbl_dependent th,
table.tbl_dependent td {
	padding: 8px;
}
table.tbl_dependent th {
	text-align: center;
	white-space: nowrap;
}
table.tbl_dependent td span {
	padding-left: .5em;
}
table.tbl_dependent td.dep_birthday,
table.tbl_dependent td.dep_sex,
table.tbl_dependent td.dep_relation {
	text-align: center;
}
/* 必須マーク */
.ic_required {
	background: tomato;
	color: #fff;
	display: inline-block;
	font-size: 11px;
	font-size: 1.1rem;
	font-weight: normal;
	line-height: 1;
	margin-left: 4px;
	padding: 2px 4px 3px;
	vertical-align: 1px;
	white-space: nowrap;
}
.br_pc.br_pad + .ic_required {
	margin-left: 0;
}
/* エラーテキスト */
.error_txt {
	font-size: 16px;
	font-size: 1.6rem;
	color: #f00;
}

/*-----------------------------------------------------------------------------
■┓お問い合わせページ
┗┛
-----------------------------------------------------------------------------*/
table.tbl_contact a {
	border-bottom: 1px solid #333;
	padding-bottom: 2px;
}
table.tbl_contact a:hover {
	border: none;
}

/*########################################################################################

フッター
#footer

########################################################################################*/
#footer {
	font-family: "Noto Sans Japanese";
	font-size: 14px;
	font-size: 1.4rem;
}
/*----------------------------
日英切替ボタン
----------------------------------------------------------*/
#footer .language {
	background-color: #090;
	display: flex;
		align-items: center;
		justify-content: center;
	padding: 24px 0;
	width: 100%;
}
#footer a.btn_lang_ft {
	border: 1px solid #fff;
	border-radius: 4px;
	color: #fff;
	display: inline-block;
	line-height: 1.0;
	padding: 16px 24px;
	position: relative;
	text-decoration: none;
	transform: perspective(1px) translateZ(0);
	transition-property: color;
	transition-duration: 0.3s;
	/*
	-webkit-transform: perspective(1px) translateZ(0);
	-webkit-transition-property: color;
	-webkit-transition-duration: 0.3s;
	*/
}
#footer a.btn_lang_ft::before {
	background: #fff;
	content: "";
	position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
	transform: scaleX(0);
	transform-origin: 0 50%;
	transition-property: transform;
	transition-duration: 0.3s;
	transition-timing-function: ease-out;
	/*
	-webkit-transform: scaleX(0);
	-webkit-transform-origin: 0 50%;
	-webkit-transition-property: transform;
	-webkit-transition-duration: 0.3s;
	-webkit-transition-timing-function: ease-out;
	*/
	z-index: -1;
}
#footer a.btn_lang_ft:hover {
	color: #090;
}
#footer a.btn_lang_ft:hover::before {
	transform: scaleX(1);
	/*
	-webkit-transform: scaleX(1);
	*/
}
#footer a.btn_lang_ft span {
	padding-left: 20px;
	position: relative;
}
#footer a.btn_lang_ft span::before {
	content: "\f0ac"; /* fa-globe */
	font-family: "FontAwesome";
	font-size: 16px;
	font-size: 1.6rem;
	position: absolute;
		top: 2px;
		left: 0;
}
/*----------------------------
お問い合わせ先
----------------------------------------------------------*/
#footer .sso_contact_bg {
	border-top: 1px dotted #090;
	background-color: #fff;
}
#footer .sso_contact_wrap {
	color: #090;
	display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	font-size: 12px;
	font-size: 1.2rem;
	margin: 0 auto;
	padding: 32px 16px 16px;
	width: 100%;
	max-width: 950px;
	/*
	max-width: 700px;
	*/
}
#footer .sso_contact_wrap a {
	color: #090;
}
#footer .sso_contact_wrap > .left_container {
	display: flex;
		flex-direction: column;
	margin: 2px 1em 16px 0;
}
#footer .sso_contact_wrap > .right_container {
	margin-bottom: 16px;
}
#footer .sso_name {
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.2;
	margin-top: 4px;
}
#footer .contact_method {
	display: flex;
		align-items: center;
		flex-wrap: wrap;
	line-height: 1;
}
#footer .contact_method .tel {
	display: flex;
		align-items: flex-end;
	margin-right: 1.5em;
}
#footer .contact_method .tel .tel_num {
	font-size: 22px;
	font-size: 2.2rem;
	font-weight: bold;
}
#footer .contact_method .tel i {
	font-size: 16px;
	font-size: 1.6rem;
	margin-right: 6px;
	vertical-align: 3px;
}
#footer .contact_method .email {
	font-size: 16px;
	font-size: 1.6rem;
	margin-top: 8px;
}
#footer .contact_method .email i {
	margin-right: 4px;
}
#footer .contact_method .email a {
	border-bottom: 1px dotted #090;
}
#footer .contact_method .email a:hover {
	border-bottom: none;
	text-decoration: none;
}
#footer .sso_address {
	line-height: 1.5;
	margin-top: 6px;
}
#footer .contact_method.vertical_time .tel { /* 住所無し、電話受付時間を縦並び（絞り込み） */
		align-items: flex-start;
		flex-flow: column;
	margin-top: 7px;
}
#footer .contact_method.vertical_time .tel .reception_time {
	margin: 4px -8px 0 16px;
}
#footer .contact_method.vertical_time .email {
	margin-top: 12px;
	margin-bottom: 16px;
}
/*----------------------------
コピーライト
----------------------------------------------------------*/
#footer p.copyright { /* 健保サイトのcssを上書き */
	background-color: #090;
	color: #fff;
	font-size: 10px;
	font-size: 1.0rem;
	margin-bottom: 0;
	padding: 24px 0;
	text-align: center;
}
.language + .copyright { /* 言語変更とコピーライトがとなり合ったとき */
	padding-top: 0 !important;
}
/*----------------------------
ページトップ
----------------------------------------------------------*/
.page_top {
	position: fixed;
		bottom: 16px;
		right: 16px;
	z-index: 10;
}
.page_top a {
	background-color: #fff;
	border: 1px solid #090;
	border-radius: 50%;
	color: #090;
	display: inline-block;
	font-size: 8px; /* 固定 */
	font-size: 0.8rem; /* 固定 */
	letter-spacing: 0;
	line-height: 60px; /* 固定 */
	padding-top: 10px;
	position: relative;
	text-align: center;
	text-decoration: none;
	vertical-align: middle;
	width: 60px;
	height: 60px;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
}
/* 矢印 */
.page_top a svg {/* jsでimgをsvgに置き換え（cssで色変更するため） */
	display: block;
	position: absolute;
		top: 9px;
		left: calc(50% - 7px);
	width: 14px;
	height: 14px;
}
.page_top a svg polygon {/* 他のsvgの読み込みが影響しないように */
	stroke: none !important;
}
.page_top a:hover {
	opacity: 0.6;
	text-decoration: none;
	-webkit-transform: scale( 1.1 );
	-moz-transform: scale( 1.1 );
}

.send_email a span {
	border-bottom: 1px solid #000;
	padding: 2px;
}
.send_email a:hover span {
	border-bottom:none;
}

/*----------------------------
チャットボット導入による処置
----------------------------------------------------------*/
.grecaptcha-badge {
	visibility: hidden;
}
.page_top {
	display: none !important;
}
.google_recaptcha {
	color: #999;
	font-size: 12px;
	font-size: 1.2rem;
	margin-top: 4px;
}
.google_recaptcha a {
	color: #999;
	text-decoration: underline;
}
.google_recaptcha a:hover {
	text-decoration: none;
}

/*----------------------------
パスワード表示切替
----------------------------------------------------------*/
.login_box .show_pass {
	user-select: none;
}
.login_form:has(+ .show_pass) {
	margin-bottom: 0;
}
