@charset "utf-8";

/*=========================================================

	お困りごとドック（追従ヘルプパネル）

	・右下の丸ボタンをクリックするとパネルが開く
	・トップページ（/index.html）と FAQ（Movable Type）で共用
	・FAQ配下ではパネルを出さず、ボタンがAIチャットへの直リンク（a要素）になる
	・HTMLは /inc/js/helpdock.js が生成するため、
	  ページ側にマークアップを持たせない
	・既存の追従要素との干渉を避けるため right は 90px を基準にする
	  （FAQ等の #pageup ＝ right:10px / 幅70px の左に並ぶ）

==========================================================*/

.c-helpDock {
	position: fixed;
	right: 90px;
	bottom: 10px;
	z-index: 100;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: reverse;
	-ms-flex-direction: column-reverse;
	flex-direction: column-reverse;
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
	opacity: 1;
	visibility: visible;
	-webkit-transition: opacity .25s ease, visibility 0s linear 0s;
	transition: opacity .25s ease, visibility 0s linear 0s;
}

/* フッターに重なったとき */
.c-helpDock.is-hidden {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	-webkit-transition-delay: 0s, .25s;
	transition-delay: 0s, .25s;
}

/* ---------- 開閉ボタン ---------- */

.c-helpDock__btn {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin: 0;
	padding: 13px 22px 13px 18px;
	border: 0;
	border-radius: 40px;
	background: #00c0d9;
	color: #fff;
	font-family: inherit;
	font-size: 15px;
	font-weight: bold;
	line-height: 1.3;
	white-space: nowrap;
	cursor: pointer;
	-webkit-box-shadow: 1px 2px 10px rgba(0, 0, 0, .35);
	box-shadow: 1px 2px 10px rgba(0, 0, 0, .35);
	-webkit-transition: background-color .2s ease;
	transition: background-color .2s ease;
}

.c-helpDock__btn:hover,
.c-helpDock__btn:focus {
	background: #00aac1;
}

/* FAQ配下はAIチャットへの直リンクになるためa要素で出力される */
a.c-helpDock__btn {
	text-decoration: none;
}

a.c-helpDock__btn:hover,
a.c-helpDock__btn:focus {
	color: #fff;
	text-decoration: none;
}

/* ロボットアイコン（白丸＋画像）。画像を上にずらして頭を丸からはみ出させる。
   FAQトップのAIチャットボタン（丸42px・画像36×45）と同じ比率になるよう、
   画像はそのままに白丸を31pxにしている。はみ出しは画像高の約11% */
.c-helpDock__btnIcon {
	position: relative;
	display: block;
	-ms-flex-negative: 0;
	flex-shrink: 0;
	width: 31px;
	height: 31px;
	margin-right: 10px;
	border-radius: 50%;
	background: #fff;
}

.c-helpDock__btnIcon img {
	position: absolute;
	left: 50%;
	top: -4px;
	width: 26px;
	height: 33px;
	margin-left: -13px;
}

/* 開いている間は「閉じる」表示に切り替える */
.c-helpDock.is-open .c-helpDock__btn {
	display: none;
}

/* ---------- AIチャットへの直リンク（FAQ配下） ---------- */

/*
	デザイン：PC node-id 7-7598 / SP node-id 136-1974
	丸ピルではなく角丸10pxの横長バーで、2行のテキストと▶を持つ。
	丸ピルの方はトップページのパネル開閉ボタンが使っているため、
	こちらは --chat を足して上書きする。

	包みの .c-helpDock--chat を前に付けているのは詳細度のため。
	クラス1つだと下のSPブロックにある「.c-helpDock__btn { padding: 10px 18px 10px 14px }」に
	後勝ちされ、SPだけ padding が丸ピルのものに戻って文字が3px下がる。

	デザインの幅は368pxだが、▶（13.8px）を丸矢印（26px）に替えた分だけ右が足りず、
	実測でテキストと矢印の間が2.8pxまで詰まった。幅を固定せず中身に合わせて伸ばし、
	右パディングで「矢印まで19px＋矢印26px＋右端まで23px＝68px」を確保する。
	こうするとフォント幅が変わっても矢印まわりの余白は変わらない。
*/
.c-helpDock--chat .c-helpDock__btn--chat {
	-webkit-box-align: end;
	-ms-flex-align: end;
	align-items: flex-end;
	padding: 6px 68px 13px 36px;
	border-radius: 10px;
	font-size: 17px;
	font-weight: 900;
	line-height: 22.4px;
	-webkit-box-shadow: 1px 2px 10px rgba(0, 0, 0, .4);
	box-shadow: 1px 2px 10px rgba(0, 0, 0, .4);
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

/* 白丸は52px、ロボットの頭が上に6pxはみ出す。丸ピル用の指定を打ち消す */
.c-helpDock__btn--chat .c-helpDock__btnIcon {
	width: 44px;
	height: 56px;
	margin-right: 28px;
	border-radius: 0;
	background: none;
}

.c-helpDock__btn--chat .c-helpDock__btnIcon:before {
	content: "";
	position: absolute;
	left: -4px;
	top: 6px;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: #fff;
}

.c-helpDock__btn--chat .c-helpDock__btnIcon img {
	position: relative;
	left: auto;
	top: auto;
	width: 44px;
	height: 56px;
	margin-left: 0;
}

.c-helpDock__btnBody {
	display: block;
	text-align: left;
}

.c-helpDock__btnLabel {
	display: block;
}

.c-helpDock__btnNote {
	display: block;
	font-size: 12px;
	font-weight: normal;
	line-height: 22.4px;
}

/* 右端の丸矢印。FAQトップのAIチャットボタンと同じ26px。
   地が水色なので白丸＋水色の山形（素材の一覧は faq-top.css の「矢印アイコン」参照） */
.c-helpDock__btn--chat:after {
	content: "";
	position: absolute;
	right: 23px;
	top: 50%;
	margin-top: -13px;
	width: 26px;
	height: 26px;
	background: url(/personal/inc/images/faq/ico_faq-arrow-circle-white-cyan.svg) no-repeat center;
	background-size: 26px 26px;
}

/* ---------- PCの丸ピルも横長バーにする ---------- */

/*
	トップページ（/index.html）の開閉ボタンは丸ピルのままで、
	FAQのAIチャットバー（384.2x75px）と大きさが揃っていなかった。
	PCだけ --chat と同じ体裁（角丸10px・17px・ロボット44x56・右に丸矢印）にする。
	中身と動きは変えないので、押すと従来どおりパネルが開く。
	SPは丸ピルのままにするため、768px以上にだけ当てる。
	--chat 側を巻き込むと2行の下揃えが崩れるので :not() で外す。
*/
@media screen and (min-width: 768px) {

	/* ラベル＋注記の2行。--chat と同じくロボットの足元に揃える */
	.c-helpDock:not(.c-helpDock--chat) .c-helpDock__btn {
		-webkit-box-align: end;
		-ms-flex-align: end;
		align-items: flex-end;
		padding: 6px 68px 13px 36px;
		border-radius: 10px;
		font-size: 17px;
		font-weight: 900;
		line-height: 22.4px;
		-webkit-box-shadow: 1px 2px 10px rgba(0, 0, 0, .4);
		box-shadow: 1px 2px 10px rgba(0, 0, 0, .4);
	}

	/* 白丸52px＋ロボット44x56。丸ピル用の31pxの白丸を打ち消す */
	.c-helpDock:not(.c-helpDock--chat) .c-helpDock__btnIcon {
		width: 44px;
		height: 56px;
		margin-right: 28px;
		border-radius: 0;
		background: none;
	}

	.c-helpDock:not(.c-helpDock--chat) .c-helpDock__btnIcon:before {
		content: "";
		position: absolute;
		left: -4px;
		top: 6px;
		width: 52px;
		height: 52px;
		border-radius: 50%;
		background: #fff;
	}

	.c-helpDock:not(.c-helpDock--chat) .c-helpDock__btnIcon img {
		position: relative;
		left: auto;
		top: auto;
		width: 44px;
		height: 56px;
		margin-left: 0;
	}

	/* 右端の丸矢印は --chat と同値（水色の地なので白丸＋水色の山形） */
	.c-helpDock:not(.c-helpDock--chat) .c-helpDock__btn:after {
		content: "";
		position: absolute;
		right: 23px;
		top: 50%;
		margin-top: -13px;
		width: 26px;
		height: 26px;
		background: url(/personal/inc/images/faq/ico_faq-arrow-circle-white-cyan.svg) no-repeat center;
		background-size: 26px 26px;
	}

}

/* ---------- パネル ---------- */

.c-helpDock__panel {
	width: 332px;
	padding: 17px;
	border: 1px solid #a9cce5;
	border-radius: 14px;
	background: #edf7fd;
	-webkit-box-shadow: 0 5px 20px rgba(0, 62, 105, .2);
	box-shadow: 0 5px 20px rgba(0, 62, 105, .2);
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.c-helpDock__panel[hidden] {
	display: none;
}

.c-helpDock__head {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin-bottom: 15px;
}

.c-helpDock__headTitle {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	min-width: 0;
}

.c-helpDock__headIcon {
	display: block;
	-ms-flex-negative: 0;
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	margin-right: 9px;
	border-radius: 50%;
	background: #fff;
}

.c-helpDock__headIcon img {
	display: block;
	width: 26px;
	height: 33px;
	margin: 3px auto 0;
}

.c-helpDock__title {
	margin: 0;
	color: #004b80;
	font-size: 17px;
	font-weight: bold;
	line-height: 1.35;
	white-space: nowrap;
}

.c-helpDock__close {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-negative: 0;
	flex-shrink: 0;
	min-width: 76px;
	min-height: 40px;
	margin: 0 0 0 10px;
	padding: 8px 14px;
	border: 1px solid #a9cce5;
	border-radius: 9px;
	background: rgba(255, 255, 255, .55);
	color: #005b94;
	font-family: inherit;
	font-size: 13px;
	font-weight: bold;
	line-height: 1;
	cursor: pointer;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: background-color .2s ease, border-color .2s ease;
	transition: background-color .2s ease, border-color .2s ease;
}

.c-helpDock__close:hover,
.c-helpDock__close:focus {
	border-color: #66aad5;
	background: #fff;
}

.c-helpDock__list {
	margin: 0;
	padding: 0;
	border: 1px solid #d4e0e8;
	border-radius: 12px;
	background: #fff;
	list-style: none;
	overflow: hidden;
	-webkit-box-shadow: 0 2px 8px rgba(0, 62, 105, .12);
	box-shadow: 0 2px 8px rgba(0, 62, 105, .12);
}

.c-helpDock__item {
	margin: 0 12px;
	border-top: 1px solid #d8e2e9;
}

.c-helpDock__item:first-child {
	border-top: 0;
}

.c-helpDock__link {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	min-height: 62px;
	padding: 10px 2px;
	background: #fff;
	color: #333;
	font-size: 15px;
	font-weight: bold;
	line-height: 1.4;
	text-decoration: none;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: color .2s ease, background-color .2s ease;
	transition: color .2s ease, background-color .2s ease;
}

.c-helpDock__link:hover,
.c-helpDock__link:focus {
	color: #005b94;
	text-decoration: none;
}

.c-helpDock__linkLabel {
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	min-width: 0;
}

.c-helpDock__arrow {
	display: block;
	-ms-flex-negative: 0;
	flex-shrink: 0;
	width: 9px;
	height: 16px;
	margin: 0 5px 0 10px;
	-webkit-filter: brightness(0) saturate(100%) invert(24%) sepia(66%) saturate(1839%) hue-rotate(169deg) brightness(87%) contrast(103%);
	filter: brightness(0) saturate(100%) invert(24%) sepia(66%) saturate(1839%) hue-rotate(169deg) brightness(87%) contrast(103%);
}

.c-helpDock__icon {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-negative: 0;
	flex-shrink: 0;
	width: 36px;
	height: 36px;
	margin-right: 12px;
	border-radius: 50%;
	background: #005B94;
	color: #fff;
	font-size: 17px;
	font-weight: bold;
	line-height: 1;
}

.c-helpDock__icon--chat {
	background: #00c0d9;
}

.c-helpDock__icon--chat img {
	display: block;
	width: 20px;
	height: 25px;
}

.c-helpDock__icon--faq img {
	display: block;
	width: 26px;
	height: auto;
}

.c-helpDock__icon--corporate {
	background: #07947E;
}

/*=========================================================

	767px以下（SP）

==========================================================*/

@media screen and (max-width: 767px) {

	/*
		SPのスライドメニュー（.slidemenu）は開くとz-index:1になるため、
		ドックが100のままだとメニューの上に出る。
		ページ本体の #main はtransformでスライドするだけでpositionを持たず、
		重なり順は0相当。ドックを0にすると、閉じている間は #main より上
		（DOMが後ろ）、開いている間はメニューの下になる。1だとメニューと同値になり、
		DOMが後ろのドックが勝つので0にする。
	*/
	.c-helpDock {
		right: 10px;
		bottom: 10px;
		z-index: 0;
	}

	.c-helpDock__btn {
		padding: 10px 18px 10px 14px;
		font-size: 13px;
	}

	.c-helpDock__btnIcon {
		width: 25px;
		height: 25px;
		margin-right: 8px;
	}

	.c-helpDock__btnIcon img {
		top: -3px;
		width: 21px;
		height: 27px;
		margin-left: -10.5px;
	}

	/*
		SPはSPトップ（/sp/index.html）のドックと同じ丸ピルにする。
		あちらは156x45px・角丸40px・font-size 13px・ロボット25px四方の小さいボタンで、
		FAQ側だけ画面幅いっぱいの横長バー（360x75px）だと大きさが揃わない。
		横長バー（デザイン node-id 7-7598）はPCだけに残す。
	*/
	.c-helpDock--chat {
		right: 10px;
		bottom: 10px;
		left: auto;
	}

	.c-helpDock--chat .c-helpDock__btn--chat {
		-webkit-box-align: center;
		-ms-flex-align: center;
			align-items: center;
		width: auto;
		padding: 10px 18px 10px 14px;
		border-radius: 40px;
		font-size: 13px;
		-webkit-box-shadow: 1px 2px 10px rgba(0, 0, 0, .35);
		box-shadow: 1px 2px 10px rgba(0, 0, 0, .35);
	}

	/* ロボットは丸ピル用の25px四方（白丸＋画像）に戻す */
	.c-helpDock--chat .c-helpDock__btn--chat .c-helpDock__btnIcon {
		width: 25px;
		height: 25px;
		margin-right: 8px;
		border-radius: 50%;
		background: #fff;
	}

	.c-helpDock--chat .c-helpDock__btn--chat .c-helpDock__btnIcon:before {
		display: none;
	}

	.c-helpDock--chat .c-helpDock__btn--chat .c-helpDock__btnIcon img {
		position: absolute;
		left: 50%;
		top: -3px;
		width: 21px;
		height: 27px;
		margin-left: -10.5px;
	}

	/* 丸ピルは1行なので、注記と右の丸矢印は出さない（トップ・FAQとも） */
	.c-helpDock__btnNote {
		display: none;
	}

	.c-helpDock--chat .c-helpDock__btn--chat:after {
		display: none;
	}

	.c-helpDock__panel {
		width: -webkit-calc(100vw - 20px);
		width: calc(100vw - 20px);
		max-width: 332px;
		max-height: 70vh;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.c-helpDock__title {
		font-size: 16px;
	}

	.c-helpDock__link {
		font-size: 14px;
	}

}

