@charset "utf-8";
/*==================================================================================================
|基本設定
|■メインカラー：#587cc7(ブルー) , #f0fff0(薄グリーン)
|	#7f7f7f（濃グレー） , #efefef(薄グレー） , #cccccc
|	#f60（濃オレンジ） , #fff2eb(薄オレンジ）
|	#f67b7b（濃ピンク） , #fef2f2(薄ピンク）
|
|■コンテンツ横幅：1000px + 40px(左右padding20pxづつ)
|
|■見出し（h2,h3,h4）に連番で番号を付けたい場合、該当要素の外枠にclass（.counter_increment）を付ける
|
|■リスト表示（ul li）ページ共通スタイル
|	1.右向き くの字---
|	[ul.angle_right li]
|		class名：main#main > .contents ul.angle_right li
|		Font Awesome名：fa-angle-right（Unicode: f105）
|		使い所：文章のリスト表示など
|	2.右向き 三角---
|	[ul.caret_right li]
|		class名：main#main > .contents ul.caret_right li
|		Font Awesome名：fa-caret-right（Unicode: f0da）
|		使い所：リンクのリスト表示など
|
|■side_column内リスト表示
|	---右向き 三角---
|		Font Awesome名：fa-caret-right（Unicode: f0da）
|		使い所：サイドメニュー
|
|■hover時のopacity設定：0.6とする
==================================================================================================*/
/* ブラウザのデフォルトスタイルをリセットする */
@import url('html5reset-1.6.1.css');
/* 共通class */
@import url('/vc/base/usr/docs/css/common.css');
/* Google Fonts読み込み */
@import url(https://fonts.googleapis.com/css?family=Roboto);
@import url('https://fonts.googleapis.com/earlyaccess/notosansjapanese.css');
/* Icon Fonts読み込み */
@import url('https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css');
@import url('https://use.fontawesome.com/releases/v5.0.11/css/all.css');
@import url('https://use.fontawesome.com/releases/v5.3.0/css/all.css');
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome-animation/0.0.10/font-awesome-animation.css');
/* 約物半角専用フォント読み込み */
/*
@import url('https://cdn.jsdelivr.net/npm/yakuhanjp@3.0.0/dist/css/yakuhanjp.min.css');
*/
/* スクロールヒント読み込み */
@import url('/vc/base/usr/docs/css/scroll-hint.css');

/* CSS変数設定 */
:root {
	--base_color: #587cc7;
	--base_width: 1040px;
}
* {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
}
html {
	font-size: 62.5%; /* sets the base font to 10px for eaiser math */
}
body {
	background: #fff;
	color: #333;
	font-size: 16px;
	font-size: 1.6rem;
	/*font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI","Noto Sans Japanese","ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;*/
	font-family: YakuHanJP, "Noto Sans Japanese","ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
	letter-spacing: 0.03em;
	line-height: 1.6;
	min-width: 1040px; /* スマホ画面表示の場合にコンテンツが2重縮尺（Viewportの影響）となり期待する表示にならない事の回避のため、最少表示サイズを設定 */
	-webkit-text-size-adjust: 100%;
}
/* html5用 */
article,aside,canvas,details,figcaption,figure,
header,footer,main,menu,nav,section,summary {
	display: block;
}
input, select ,textarea {
	-moz-box-shadow: inset 1px 3px 9px -8px rgba(0,0,0,0.5);
	-webkit-box-shadow: inset 1px 3px 9px -8px rgba(0,0,0,0.5);
	box-shadow: inset 1px 3px 9px -8px rgba(0,0,0,0.5);
	/*font-family: Arial, "ＭＳ Ｐゴシック", sans-serif;*/
	position: relative;
}
input[type=submit], input[type=reset], input[type=button] {
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	box-shadow: none;
}
input[type="button"],input[type="submit"] {
	border-radius: 0;
	-webkit-appearance: none;
}
br {
	letter-spacing: normal;
}
a {
	/*color: #00f;*/
	color: #03c;
	outline: none;
	text-decoration: none;
}
a:hover {
	color: orangered;
	text-decoration: underline;
}
label {
	cursor: pointer;
}
strong {
	font-weight: bold;
}
a:hover img {
	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;
	opacity: 0.6;
}
p {
	margin-bottom: 1em;
}
/*==================================================================================================
|▼サイトの構造
|#gray_panel（megamenu表示時の背景グレーアウト用）
|#wrap_header
|	┗#header
|		┗#panel_menu
|		┗.header_contents
|			┗.top
|			┗.middle
|			┗.bottom
|				┗.user_name
|				┗.point
|#fixed_header_replace
|#fixed_header
|#wrap_gnavi
|	┗#gnavi
|#panel_contents
|main#main_top（トップページ用）
|	┗.contents
|		┗.left_wrap
|		┗.right_wrap
|		┗.bottom_wrap
|main#main（セカンダリページ用）
|	┗.contents
|		┗#two_column
|			┗.main_column
|			┗.side_column
|		┗#one_column
|#footer
|	┗.footer_contents
|		┗<nav>
|		┗<small>
|.page_top
==================================================================================================*/
#gray_panel {
	background: #000;
	display: none;
	opacity: 0.6;
	position: fixed;
		top: 0;
		left: 0;
	width: 100%;
	height: 99999px;
	z-index: 9999; /* .fixedは10000 */
}
#wrap_header {
	background: #fff;
	border-top: 4px solid #587cc7;
	padding: 0 20px;
}
#fixed_header_replace {
	height: 40px; /* fixed_headerのheight */
}
#fixed_header,
#fixed_header_sp {
	background: #587cc7;
	/*
	box-shadow: 2px 2px 2px rgba(0,0,0,0.2);
	*/
	box-shadow:0 0 6px rgba(0,0,0,0.3);
	color: #fff;
	padding: 0 20px;
	width: 100%;
	height: 48px;
}
#fixed_header_sp {
	display: none;
}
#wrap_gnavi {
	background: url(../images/gnavi_bg.png) repeat-x;
	background-size: 6px 73px;
	padding: 0;
	height: 72px;
}
#panel_menu ,
#panel_contents {
	display: none;
}
#footer { /* footerFixed.js を使用するため#footerという名前にする */
	background: #587cc7;
	border-top: solid 1px #fff;
	padding: 0 20px;
	margin-top: 40px;
	outline: solid 1px #587cc7;
	width: 100%;
	height: auto;
}
/*########################################################################################
|
|ヘッダー
|#wrap_header
|
########################################################################################*/
#header {
	display: flex;
	margin: auto;
	width: 1000px;
	/*height: 110px;*/
}
#header h1 span {
	display: none;
}
.header_contents {
	display: flex;
		align-items: flex-start;
		flex-wrap: wrap;
	position: relative;
	width: 1000px;
}
/*-------------------
検索バー　panel_contents用
--------------------------------------------------*/
.search_bar_panel_wrap {
	display: none;
}
/*-----------------------------------------------------------------------------
|
|■┓ヘッダーコンテンツ・トップ部分
|┗┛
-----------------------------------------------------------------------------*/
.header_contents .top {
	display: flex;
	width: 100%;
	height: 34px;
}
/*----------------------------
ヘッダー上部ナビゲーション
----------------------------------------------------------*/
nav.header_navi {
	display: flex;
	justify-content: flex-end;
	margin-top: -4px;
	width: 1000px;
	z-index: 100; /* プルダウンメニュー表示用 */
}
nav.header_navi div.header_navi_first {
	background: url(../images/header_navi_first.svg) 0 0 no-repeat;
	background-size: 20px 29px; /* 高解像度ディスプレイで表示した際にできる1px以下の隙間を埋めるため width(実際19px)を20pxとしている */
	width: 19px;
	height: 29px;
}
nav.header_navi div.header_navi_last {
	background: url(../images/header_navi_last.svg) 0 0 no-repeat;
	background-size: 20px 29px; /* 高解像度ディスプレイで表示した際にできる1px以下の隙間を埋めるため width(実際19px)を20pxとしている */
	width: 19px;
	height: 29px;
	margin-left: -1px;/* 高解像度ディスプレイで表示した際にできる1px以下の隙間を埋めるため */
}
nav.header_navi div.header_navi_first span ,
nav.header_navi div.header_navi_last span {
	display: none;
}
nav.header_navi div.header_navi_first + ul {
	background: #587cc7;
	display: flex;
	height: 29px;
}
nav.header_navi ul li + li {
	background: url(../images/header_navi_border.svg) 0 3px no-repeat;
	background-size: 2px 22px;
}
nav.header_navi ul li.last span {
	visibility: hidden;
}
nav.header_navi ul li a {
	color: white;
	display: flex;
		align-items: center;
		justify-content: center;
	font-family: FontAwesome , "Noto Sans Japanese","ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
	font-weight: normal;
	font-size: 13px;
	font-size: 1.3rem;
	height: 29px;
	padding: 0 12px;
}
nav.header_navi ul li a:hover {
	opacity: .6;
	text-decoration: none;
}
nav.header_navi ul li a:before {
	display: inline-block;
	font-weight: normal;
	/*
	font-size: 18px;
	font-size: 1.8rem;
	*/
	font-size: 15px;
	font-size: 1.5rem;
	padding-right: 4px;
}
nav.header_navi ul li a.home:before {
	content: '\f015'; /* home */
}
nav.header_navi ul li a.admin:before {
	content: '\f013'; /* cog */
}
nav.header_navi ul li a.about:before {
	content: '\f02d '; /* book */
}
nav.header_navi ul li a.confirm:before {
	content: '\f058'; /* check-circle */
}
nav.header_navi ul li a.history:before {
	content: '\f1da'; /* fa-history */
}
nav.header_navi ul li a.checkup_item:before {
	content: '\f0ca'; /* fa-list-ul */
}
nav.header_navi ul li a.pwchg:before {
	content: '\f084'; /* key */
}
nav.header_navi ul li a.sitemap:before {
	content: '\f0e8'; /* sitemap */
}
nav.header_navi ul li a.other:before {
	content: '\f06c'; /* leaf */
	font-size: 14px;
	font-size: 1.4rem;
}
nav.header_navi ul li a.logout:before {
	content: '\f08b'; /* sign-out */
}
nav.header_navi ul li a.faq:before {
	content: '\f059'; /* question-circle */
}
nav.header_navi ul li a.contact:before {
	content: '\f0e0'; /* envelope */
	font-size: 14px;
	font-size: 1.4rem;
}
nav.header_navi ul li a.policy:before {
	content: '\f15c'; /* file-text */
	font-size: 14px;
	font-size: 1.4rem;
}
nav.header_navi ul li a.point_program:before {
	content: '\f288'; /* product-hunt  */
	font-size: 17px;
	font-size: 1.7rem;
}
/* Chrome用cssハック（アイコン位置調整） */
@media screen and (-webkit-min-device-pixel-ratio:0){
	nav.header_navi ul li a.home:before {
		margin-top: -2px;
	}
	nav.header_navi ul li a.contact:before {
		margin-top: -2px;
	}
}
/*----------------------------
nestメニュー
----------------------------------------------------------*/
nav.header_navi ul.nest1 {
	border: 1px solid #ccc;
	display: none;
	flex-flow: column nowrap;
	margin-left: 2px;
}
nav.header_navi ul.nest1 li {
	background-image :none;
	/*background-color :#e7f5fd;*/
	background-color :#f4f4f4;
	border-bottom: 1px solid #ccc;
	z-index: 100;
}
nav.header_navi ul.nest1 li:last-child {
	border-bottom: 0;
}
nav.header_navi ul.nest1 li a {
	color: #000;
	display: flex;
		align-items: center;
		justify-content: flex-start;
	margin-left: 8px;
	padding-left: 8px;
	position: relative;
	z-index: 100;
}
nav.header_navi ul.nest1 li a:before {
	content: "\f0da"; /* fa-caret-right */
	/*color: #587cc7;*/
	color: darkgray;
	font-family: FontAwesome;
	font-size: 10px;
	font-size: 1.0rem;
	position: absolute;
		top: 6px;
		left: 0;
}
nav.header_navi ul.nest1 li a:hover:before {
	left: 1px;
}
/*-----------------------------------------------------------------------------
|
|■┓ヘッダーコンテンツ・ミドル部分
|┗┛
-----------------------------------------------------------------------------*/
.header_contents .middle {
	display: flex;
		align-items: center;
		justify-content: space-between;
	width: 100%;
	height: 55px;
}
.header_contents .header_title {
	display: flex;
		align-items: center;
		justify-content: flex-start;
	width: auto;
	margin-right: 1em;
	height: auto;
	white-space: nowrap;
}
.header_contents .header_title .site_logo {
	display: flex;
		align-items: center;
		justify-content: center;
	margin-top: 10px;
	padding-right: 8px;
}
.header_contents .header_title .company_name {
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.2;
}
.header_contents .header_title .site_name {
	font-size: 24px;
	font-size: 2.4rem;
	font-weight: 600;
	line-height: 1.2;
}
.header_contents .header_title .site_name.g473_color {
	color: #000;
	font-size: 24px;
	font-size: 2.4rem;
	font-weight: 600;
	line-height: 1.2;
	position: relative;
		top: 18px;
		left: 16px;
}
.header_contents .header_title .company_name.g494_color ,
.header_contents .header_title .site_name.g494_color {
	color: #333;
}
.header_contents .header_title .company_name.g507_color ,
.header_contents .header_title .site_name.g507_color {
	color: #14a83b;
}
.header_contents .header_title .site_name,
.header_contents .header_title .company_name {
	color: #4a6eb9;
}
.header_contents .header_title a:hover {
	opacity: .6;
	text-decoration: none;
}

.header_contents .header_title .site_logo img.G457_logo {
	margin-right: 6px;
	width: 224px;
	height: auto;
}

.header_contents .header_title .site_name.g457_color {
	margin-top: 38px;
}

/*----------------------------
メッセージボックス
----------------------------------------------------------*/
.msg_box {
	background-color: #fff;
	border-radius: 4px;
	border: 1px solid #2d96b8;
	display: flex;
		align-items: center;
		justify-content: flex-end;
	font-size: 12px;
	font-size: 1.2rem;
	margin-right: 14px;
	padding: 0;
	width: auto;
	height: auto;
}
.msg_box.fixed_header {
	background: transparent;
	border: 0;
	border-radius: 0;
	width: 100%;
}
.msg_box.fixed_header .msg_txt {
	display: none;
}
.msg_box .msg_txt div:nth-child(1) {
	background: #2d96b8 url("../images/doctor.svg") no-repeat right 3px center/15px 18px;
	border-radius: 4px 0 0 0;
	color: #fff;
	font-size: 11px;
	font-size: 1.1rem;
	padding: 2px 8px;
}
.msg_box .msg_txt div:nth-child(2) {
	background: #e8faf9;
	border-radius: 0 0 0 4px;
	color: #2d96b8;
	font-size: 10px;
	font-size: 1.0rem;
	line-height: 1.1;
	padding: 4px 8px;
}
.msg_box .msg_icon a {
	display: flex;
		align-items: center;
		justify-content: center;
	height:50px;
	position: relative;
	width: 65px;
}
.msg_box .msg_icon img {
	width: 41px;
	height: 34px;
}
/*----------------------------
件数表示（赤）
----------------------------------------------------------*/
.rndnum {
	border-radius: 50%;
	background-color: #dd4b39;
	color: #fff;
	display: flex;
		align-items: center;
		justify-content: center;
	font-size: 12px;
	font-size: 1.2rem;
	padding: 2px;
	position: absolute;
		top: 24px;
		right: 8px;
	width: 1.5em;
	height: 1.5em;
}
.rndnum:hover {
	background-color: #e36e60;
}
/*----------------------------
メガメニュー
----------------------------------------------------------*/
#megamenu_wrap {
	display: none;
	position: absolute;
		top: 47px;
		left: 0;
}
#megamenu_wrap::before { /*#megamenuにoverflow:autoを入れると#megamenu:beforeの吹き出し△が消えるため、もう一回り外枠を設置しそのbeforeに△表示 */
	border: 8px solid transparent;
	border-bottom: 8px solid #fff;
	content: "";
	position: absolute;
		top: -14px;
		left: 4px;
	width: auto;
	z-index: 200;
}
#megamenu {
	background: #fff;
	border: 1px solid #ccc;
	display: flex;
		align-items: flex-start;
		align-content:flex-start;
		justify-content: flex-start;
		flex-wrap: wrap;
	position: absolute;
		top: 0;
		left: 0;
	width: 1000px;
	height: auto;
	overflow: auto;
}
#megamenu .upper {
	background: #efefef;
	color: #333;
	display: flex;
		align-items: center;
		justify-content: flex-start;
	margin: 8px;
	padding: 16px;
	width: 100%;
	height: 34px;
}
/*----------------------------
ホバースタイル
----------------------------------------------------------*/
.search_bar div:nth-child(2) a:hover,
.carticon a:hover,
.ham_menu_fh a:hover {
	opacity: .6;
	text-decoration: none;
}
.search_bar_fh div:nth-child(2) a:hover {
	background: #d3e6f8;
	opacity: 1;
	text-decoration: none;
}
/*-----------------------------------------------------------------------------
|
|■┓ヘッダーコンテンツ・ボトム部分
|┗┛
-----------------------------------------------------------------------------*/
.header_contents .bottom {
	display: flex;
		align-items: flex-end;
		justify-content: flex-end;
	padding-bottom: 12px;
	width: 100%;
	height: 34px;
}
/*----------------------------
検索バー
----------------------------------------------------------*/
/*----------------------------
ユーザネームとポイント表示スタイル
----------------------------------------------------------*/
.user_name ,
.point {
	/*
	display: flex;
		align-items: flex-end;
		justify-content: flex-end;
	*/
	font-size: 10px;
	font-size: 1.0rem;
	line-height: 1.2;
	white-space: nowrap;
}
.user_name img {
	margin: 0 0 -2px 0;
}
.user_name span,
.point_num span {
	display: inline-block;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.0;
	/*margin-bottom: -4px;*/
	padding: 0 4px;
	white-space: nowrap;
}
.point_num span {
	font-weight: 600;
}
/*
.user_name span:hover,
.point_num span:hover {
	opacity: .6;
}
*/
.user_name a {
	color: #000;
}
.user_name {
	margin-right: 2em;
}
.point a {
	color: #000;
}
.point_lost {
	font-size: 9px;
	font-size: .9rem;
}
.point_lost > span {
	color: red;
	font-size: 11px;
	font-size: 1.1rem;
}
.header_contents .bottom > .logout {
	font-size: 10px;
	font-size: 1.0rem;
	line-height: 1.2;
	margin-left: 16px;
	margin-right: 14px; /* メッセージボックス右端に合わせるため設定 */
}
.header_contents .bottom > .logout a {
	color: #333;
}
.header_contents .bottom > .logout a:hover {
	text-decoration: none;
	color: #f00;
}
.reload img {
	margin-left: .5em;
	vertical-align: bottom;
	width: 20px;
	height: 20px;
}
/*########################################################################################
|
|画面スクロール時の固定ヘッダー
|#fixed_header
|
########################################################################################*/
section.fixed_header_contents {
	display: flex;
		align-items: center;
		justify-content: flex-start;
	margin: auto;
	width: 1000px;
	height: 48px;
}
section.fixed_header_contents h1 {
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 500;
	white-space: nowrap;
}
section.fixed_header_contents h1 span {
	margin-right: 16px;
}
section.fixed_header_contents h1 a ,
section.fixed_header_contents h1 a:hover {
	color: #fff;
	text-decoration: none;
}
section.fixed_header_contents h1 a:hover {
	opacity: .6;
}
/*-----------------------------------------------------------------------------
|
|■┓fixed_header内オブジェクト並び順
|┗┛
-----------------------------------------------------------------------------*/
section.fixed_header_contents h1 { /* タイトル見出し */
	order: 2;
}
section.fixed_header_contents .msg_box { /* メッセージボックス */
	order: 3;
}
section.fixed_header_contents .ham_menu_fh { /* ハンバーガーアイコン */
	order: 1;
}
/*-----------------------------------------------------------------------------
|
|■┓検索バー　fixed_header用
|┗┛
-----------------------------------------------------------------------------*/
.search_bar_fh_wrap {
	margin-left: auto;
	width: 100%;
}
.search_bar_fh {
	display: flex;
	width: 100%;
}
.search_bar_fh div:nth-child(1) {
	width: 100%;
}
.search_bar_fh div:nth-child(1) input {
	background: #fff;
	border-width: 1px 0 1px 1px;
	border-style: solid;
	border-color: #ccc;
	border-radius: 4px 0 0 4px;
	font-size: 16px;
	font-size: 1.6rem;
	margin-top: 0; /* baseの指定を上書き */
	margin-bottom: 0; /* baseの指定を上書き */
	padding: 0 8px;
	width: 100%;
	height: 32px;
}
.search_bar_fh div:nth-child(2) {
	flex-shrink: 0;
	width: 80px;
}
.search_bar_fh div:nth-child(2) a {
	background: #b6d5f4;
	border-radius: 0 4px 4px 0;
	color: #587cc7;
	display: block;
	font-size: 14px;
	font-size: 1.4rem;
	height: 32px;
	line-height: 32px;
	text-align: center;
	text-decoration-line: none;
	width: 100%;
}
/*-----------------------------------------------------------------------------
|
|■┓カートアイコン（リンクボタン）　fixed_header用
|┗┛
-----------------------------------------------------------------------------*/
section.fixed_header_contents .carticon {
	margin-left: 1em;
}
section.fixed_header_contents .carticon a {
	display: block;
	position: relative;
	width: 36px;
	height: 32px;
}
section.fixed_header_contents .carticon a i {
	color: #fff;
	font-size: 28px;
	position: absolute;
		top: 2px;
		left: 6px;
}
/*-----------------------------------------------------------------------------
|
|■┓件数表示（赤）　fixed_header用
|┗┛
-----------------------------------------------------------------------------*/
/*
section.fixed_header_contents .rndnum {
	border-radius: 50%;
	background-color: #dd4b39;
	color: #fff;
	display: inline-block;
	font-size: 12px;
	line-height: 1.3;
	padding: 2px;
	position: absolute;
		top: -4px;
		right: -4px;
	text-align: center;
	width: 1.5em;
	height: 1.5em;
}
section.fixed_header_contents .rndnum:hover {
	background-color: #e36e60;
}
*/
section.fixed_header_contents .msg_box .msg_icon a {
	width: 50px;
	height: 40px;
}
section.fixed_header_contents .rndnum {
	top: 20px;
	right: 2px;
}
/*-----------------------------------------------------------------------------
|
|■┓ハンバーガーメニューボタン　fixed_header用
|┗┛
-----------------------------------------------------------------------------*/
.ham_menu_fh {
	position: relative;
}
.ham_menu_fh > a {
	display: flex;
		align-items: center;
		justify-content: center;
	position: relative;
	width: auto;
	height: 48px; /* マウスオーバ時の反応領域確保 */
}
.ham_menu_fh > a i {
	font-size: 28px;
	color: #fff;
}
/*-----------------------------------------------------------------------------
|
|■┓固定ヘッダ・ハンバーガーメニュー部分　fixed_header用
|┗┛
-----------------------------------------------------------------------------*/
/*
#ham_menu {
	display: block;
	position: relative;
}
*/
#ham_menu_btn {
	cursor: pointer; /* iOSにクリック領域を認識させる */
	display: inline-block;
	margin-top: 8px;
	margin-right: 12px;
	position: relative;
	width: 32px;
	height: 32px;
}
#ham_menu_icon {
	display: block;
	position: absolute;
		top: 0;
		left: 0;
		/*left: 14px;*/
	/*width: 16px;*/
	width: 24px;
	height: 3px;
	margin: 14px 0 0 0;
	background: #fff;
	transition: .2s;
}
#ham_menu_icon:before ,
#ham_menu_icon:after {
	display: block;
	content: "";
	position: absolute;
		top: 0;
		left: 0;
	width: 24px;
	height: 3px;
	background: #fff;
	transition: .3s;
}
#ham_menu_icon:before {
	margin-top: -6px;
}
#ham_menu_icon:after {
	margin-top: 6px;
}
#ham_menu_btn {
	text-decoration: none;
}
#ham_menu_btn .close {
	background: transparent;
}
#ham_menu_btn .close:before, #ham_menu_btn .close:after {
	margin-top: 0;
}
#ham_menu_btn .close:before {
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
}
#ham_menu_btn .close:after {
	transform: rotate(-135deg);
	-webkit-transform: rotate(-135deg);
}
/*########################################################################################
|
|グローバルナビゲーション
|#gnavi
|
########################################################################################*/
#wrap_gnavi > nav#gnavi {
	margin: auto;
	padding: 0 20px;
	width: 100%;
	height: 72px;
}
#wrap_gnavi > nav#gnavi > ul {
	display: flex;
	margin: 0 auto;
	width: 1000px;
}
#wrap_gnavi > nav#gnavi > ul > li {
	list-style-type: none;
	padding: 0;
	position: relative;
	height: 72px;
}
#wrap_gnavi > nav#gnavi > ul > li > a {
	display: block;
	text-decoration: none;
	/*transition: opacity 1.5s ease-out;*/
	width: 251px;
	height: 72px;
}
#wrap_gnavi > nav#gnavi > ul > li div:nth-of-type(1) { /* メニュー名　英語 */
	display: flex;
		align-items: center;
		justify-content: center;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: 600;
	height: 30px;
}
#wrap_gnavi > nav#gnavi > ul > li div:nth-of-type(2) { /* メニュー名　日本語 */
	color: #333;
	display: flex;
		align-items: center;
		justify-content: center;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 400;
	height: 26px;
}
#wrap_gnavi > nav#gnavi li.gnavi_orange div:nth-of-type(1) {
	color: #f60;
}
#wrap_gnavi > nav#gnavi li.gnavi_pink div:nth-of-type(1) {
	color: #f67b7b;
}
#wrap_gnavi > nav#gnavi li.gnavi_blue div:nth-of-type(1) {
	color: #587cc7;
}
#wrap_gnavi > nav#gnavi li.gnavi_green div:nth-of-type(1) {
	color: #090;
}
#wrap_gnavi > nav#gnavi li.gnavi_purple div:nth-of-type(1) {
	color: purple;
}
#wrap_gnavi > nav#gnavi li.gnavi_grayout div:nth-of-type(1),
#wrap_gnavi > nav#gnavi li.gnavi_grayout div:nth-of-type(2) {
	color: #ccc;
}
#wrap_gnavi > nav#gnavi li.gnavi_orange > a {
	background: url(../images/gnavi_orange.png) 0 0 no-repeat;
	background-size: 251px 54px;
	margin-left: -1px;
}
#wrap_gnavi > nav#gnavi li.gnavi_pink > a {
	background: url(../images/gnavi_pink.png) 0 0 no-repeat;
	background-size: 251px 54px;
	margin-left: -1px;
}
#wrap_gnavi > nav#gnavi li.gnavi_blue > a {
	background: url(../images/gnavi_blue.png) 0 0 no-repeat;
	background-size: 251px 54px;
	margin-left: -1px;
}
#wrap_gnavi > nav#gnavi li.gnavi_green > a {
	background: url(../images/gnavi_green.png) 0 0 no-repeat;
	background-size: 251px 54px;
	margin-left: -1px;
}
#wrap_gnavi > nav#gnavi li.gnavi_purple > a {
	background: url(../images/gnavi_purple.png) 0 0 no-repeat;
	background-size: 251px 54px;
	margin-left: -1px;
}
#wrap_gnavi > nav#gnavi li a:hover {
	opacity: 0.6;
}
#wrap_gnavi > nav#gnavi li.gnavi_grayout a {
	background: url(../images/gnavi_grayout.png) 0 0 no-repeat;
	background-size: 251px 54px;
	margin-left: -1px;
}
#wrap_gnavi > nav#gnavi li.gnavi_grayout a:hover {
	opacity: 1;
	cursor: not-allowed;
}
.fixed {
	position: fixed;
		top: 0;
	width: 100%;
	z-index: 10000;
}
.fixed_gnavi {
	position: fixed;
		top: 40px;
	width: 100%;
	z-index: 10000;
}
/*----------------------------
#wrap_gnavi内nestメニュー
----------------------------------------------------------*/
#wrap_gnavi > nav#gnavi > ul > li > ul.nest1 {
	border: 1px solid #ccc;
	display: none;
	position: absolute;
		top: 70px;
		left: 0;
	width: 100%;
}
#wrap_gnavi > nav#gnavi > ul > li > ul.nest1 li {
	background-image :none;
	background-color :#f4f4f4;
	border-bottom: 1px solid #ccc;
	position: relative;
	z-index: 9999;
}
#wrap_gnavi > nav#gnavi > ul > li.gnavi_orange > ul.nest1 li {
	background-color: #fff3eb;
}
#wrap_gnavi > nav#gnavi > ul > li.gnavi_pink > ul.nest1 li {
	background-color: #fef2f2;
}
#wrap_gnavi > nav#gnavi > ul > li.gnavi_blue > ul.nest1 li {
	background-color: #eff3fa;
}
#wrap_gnavi > nav#gnavi > ul > li.gnavi_green > ul.nest1 li {
	background-color: #f1faf2;
}
#wrap_gnavi > nav#gnavi > ul > li > ul.nest1 li:last-child {
	border-bottom: 0;
}
#wrap_gnavi > nav#gnavi > ul > li > ul.nest1 li a {
	color: #000;
	display: flex;
		align-items: center;
		justify-content: flex-start;
	font-size: 14px;
	font-size: 1.4rem;
	margin-left: 8px;
	padding: 4px 4px 4px 10px;
	position: relative;
	z-index: 3;
}
#wrap_gnavi > nav#gnavi > ul > li > ul.nest1 li a:before {
	content: "\f0da"; /* fa-caret-right */
	color: darkgray;
	font-family: FontAwesome;
	font-size: 10px;
	font-size: 1.0rem;
	line-height: 1;
	position: absolute;
		top: calc(50% - 5px);
		left: 0;
}
#wrap_gnavi > nav#gnavi > ul > li.gnavi_orange > ul.nest1 li a:before {
	color: #ff7011;
}
#wrap_gnavi > nav#gnavi > ul > li.gnavi_pink > ul.nest1 li a:before {
	color: #f67272;
}
#wrap_gnavi > nav#gnavi > ul > li.gnavi_blue > ul.nest1 li a:before {
	color: #406fbf;
}
#wrap_gnavi > nav#gnavi > ul > li.gnavi_green > ul.nest1 li a:before {
	color: #45c051;
}
#wrap_gnavi > nav#gnavi > ul > li > ul.nest1 li a:hover {
	text-decoration: none;
}
#wrap_gnavi > nav#gnavi > ul > li > ul.nest1 li a:hover:before {
	left: 1px;
}
/*########################################################################################
|
|トップページ（main#main_top）、
|セカンダリページ（main#main , #two_column）共通
|
########################################################################################*/
main#main_top > .contents .info h1 ,
main#main_top > .catch > .latest_results > .contents > h1 ,
#main > .contents #main_style > h1 {
	background-image: linear-gradient(
		-45deg,
		#fff 25%,
		#ddd 25%, #ddd 50%,
		#fff 50%, #fff 75%,
		#ddd 75%, #ddd
		);
	background-size: 4px 5px;
	background-repeat: repeat-x;
	background-position: left bottom;
	display: flex;
		align-items: flex-end;
		flex-flow: wrap;
		justify-content: flex-start;
	margin-bottom: .5em;
	padding-left: .5em;
	position: relative;
}
main#main_top > .contents .info h1 ,
main#main_top > .catch > .latest_results > .contents > h1 {
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.2;
	margin-bottom: 1em;
	padding: 11px 96px 14px .5em; /* トップページのタグ */
}
main#main_top > .contents .info h1 span {
	display: inline-block;
	font-size: 12px;
	font-size: 1.2rem;
}
#main > .contents #main_style > h1 {
	font-size: 26px;
	font-size: 2.6rem;
	line-height: 1.1;
	padding: 16px 0 16px .5em;
	/*height: 64px;*/
}
#main > .contents #main_style > h1 span {
	font-size: 14px;
	font-size: 1.4rem;
	margin-left: 1em;
}
main#main_top > .catch > .latest_results > .contents > h1 {
	font-size: 20px;
	font-size: 2.0rem;
	display: block;
	margin-top: 16px;
	padding-right: .5em;
}
main#main_top > .catch > .latest_results > .contents > h1 span {
	font-size: 16px;
	font-size: 1.6rem;
}
main#main_top > .contents .info h1:before ,
main#main_top > .catch > .latest_results > .contents > h1:before ,
#main > .contents #main_style > h1:before {
	content: "";
	position: absolute;
		bottom: 0;
		left: 0;
	width: 5px;
	height: 5px;
	background: #587cc7;
}
#main > .contents #main_style > h1 + h2 {
	margin-top: 24px !important;
}
#main > .contents #main_style > h2 + h3 {
	margin-top: 16px !important;
}
#main > .contents #main_style > h1 + h3 {
	margin-top: 16px !important;
}
#main > .contents #main_style > h3 + h4 {
	margin-top: 8px !important;
}
.square_red:before {
	background: red !important;
}
.square_orange:before {
	background: #f60 !important;
}
.square_pink:before {
	background: #f67b7b !important;
}
.square_blue:before {
	background: #587cc7 !important;
}
.square_green:before {
	background: #090 !important;
}
.square_gray:before {
	background: #777 !important;
}
.adjoin_h {
	margin-top: 24px !important;
}
/*########################################################################################
|
|トップページ
|main#main_top
|
########################################################################################*/
main#main_top {
	background: url(../images/top_bg.jpg) 50% 0 no-repeat;
	padding: 16px 20px;
	width: 100%;
	min-height: 974px; /* 背景画像が見切れないようにするため背景画像の高さを最小値とする */
	z-index: 1;
}
#top_menu {
	display: none;
}
main#main_top > .contents {
	display: flex;
		flex-wrap: wrap;
	z-index: 1;
	margin: auto;
	width: 1000px;
}
main#main_top > .contents > .left_wrap > section ,
main#main_top > .contents > .bottom_wrap > section {
	background: #fff;
	padding: 16px 24px;
}
/*-----------------------------------------------------------------------------
|
|■┓トップページ用メインビジュアルエリア（最新の健診結果：総合判定）
|┗┛
-----------------------------------------------------------------------------*/
main#main_top > .notes_hantei { /* 判定に関する注意書きが指定文字数を超える場合のイレギュラー対応として */ /* ver2.0.1 */
	background: rgba(255,255,255,0.5);
	color: tomato;
	font-size: 12px;
	font-size: 1.2rem;
	margin: auto;
	margin-top: -16px;
	padding: 8px 16px;
	width: 1000px;
	height: auto;
}
main#main_top > .catch {
	background: #fff;
	box-shadow: 0 0 8px rgba(0,0,0,0.3);
	margin: auto;
	margin-bottom: 16px;
	/*padding: 24px;*/
	width: 1000px;
	height: auto;
}
main#main_top > .catch > .latest_results {
	/*background: url(../images/latest_results_bg.png) 0 0 no-repeat;*/
	background-image: url(../images/latest_results_bg_btm.png), url(../images/latest_results_bg_top.png);
	background-position: bottom left, top left;
	background-repeat: no-repeat;
	display: flex;
		align-items: flex-start;
		flex-flow: wrap;
		justify-content: flex-start;
	padding-bottom: 62px;
	position: relative;
	width: 100%;
	height: 401px;
	height: 460px; /* ver2.0.1 */
	height: auto;
	min-height: 400px;
}
main#main_top > .catch > .latest_results::before { /* 枠線 */
	border: 1px solid #ffd9bf;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	content: "";
	display: block;
	margin: 8px;
	position: absolute;
	width: calc(100% - 16px);
	height: calc(100% - 16px);
}
main#main_top > .catch > .latest_results > h1 {
	padding: 24px 0 0 24px;
	width: 250px;
}
main#main_top > .catch > .latest_results > h1 > span {
	display: none;
}
main#main_top > .catch > .latest_results > .contents { /* 総合判定内容 */
	width: 720px;
	/*height: 340px;*/
	z-index: 3;
}
main#main_top > .catch > .latest_results > .contents_nodata { /* 総合判定内容(データなし) */
	margin-top: 32px;
	width: 750px;
	height: auto;
	z-index: 3;
}
main#main_top > .catch > .latest_results > .nurse { /* 看護師 */
	line-height: 0;
	position: absolute;
		bottom: 0;
		right: 0;
	z-index: 1;
}
main#main_top > .catch > .latest_results > .detail { /* 最新の健診結果詳細を見るボタン */
	line-height: 0;
	position: absolute;
		bottom: 17px;
		/*right: 160px;*/
		/*right: calc(50% - 171px);*/ /* センタリング：171pxは表示svgのwidthの半分の数値 */
		right: 32px;
	z-index: 2;
}
main#main_top > .catch > .latest_results > .fukidashi { /* 吹き出し */
	position: absolute;
		top: 24px;
		right: 28px;
	z-index: 2;
}
main#main_top > .catch > .latest_results > .fukidashi > span {
	display: none;
}
main#main_top > .catch > .latest_results > .contents > .judge {
	display: flex;
		align-items: center;
		justify-content: flex-start;
	margin: 32px 0 16px;
	width: auto;
	height: auto;
}
main#main_top > .catch > .latest_results > .contents > h1 + .judge {
	margin-top: 0;
}
main#main_top > .catch > .latest_results > .contents > .judge > span {
	line-height: 1.0;
}
main#main_top > .catch > .latest_results > .contents > .judge > span:nth-of-type(1) { /* 判定記号シェイプ */
	border-radius: 4px;
	color: #fff;
	display: flex;
		align-items: center;
		justify-content: center;
	font-size: 50px;
	font-size: 5.0rem;
	font-weight: 900;
	margin-right: 24px;
	width: 101px; /* 白銀比 */
	height: 72px; /* 白銀比 */
}
main#main_top > .catch > .latest_results > .contents > .judge > span:nth-of-type(2) { /* 判定記号メッセージ */
	/*
	font-size: 26px;
	font-size: 2.6rem;
	*/
	font-size: 32px;
	font-size: 3.2rem;
	margin-right: 32px;
	/*width: 280px;*/
	width: auto;
}
main#main_top > .catch > .latest_results > .contents > .judge > span:nth-of-type(3) { /* アラート吹き出し */
	width: auto;
}
main#main_top > .catch > .latest_results > .contents > .judge > span:nth-of-type(3) img {
	width: 180px;
	height: 100%; /* IEでの表示を正しくするためheight 100%を設定 */
}
.judge_a {
	background-color:#09d;
}
.judge_b {
	background-color:#0b2;
}
.judge_c,
.judge_cc {
	background-color:#f90;
}
.judge_d,
.judge_dd {
	background-color:#f00;
}
.judge_e,
.judge_ee {
	background-color:#d0d;
}
.judge_f,
.judge_ff {
	background-color:#902;
}
main#main_top > .catch > .latest_results > .contents > .notes_hantei {
	height: auto;
}
main#main_top > .catch > .latest_results > .contents > .judge_description {
	/*line-height: 1.4;*/ /* ver2.0.1 */
	margin-bottom: 16px;
	overflow: auto;
	width: 100%;
	height: 80px;
	height: 72px; /* ver2.0.1 */
	height: auto;
	max-height: 72px;
	z-index: 4;
}

main#main_top > .catch > .latest_results > .contents > .judge_basic_info {
	/*
	display: flex;
		align-items: flex-start;
		justify-content: flex-start;
	*/
	font-size: 14px;
	font-size: 1.4rem;
	margin-bottom: 4px;
	height: 120px;
	height: 140px; /* ver2.0.1 */
	overflow: auto;
}
table.judge_basic_info tbody th,
table.judge_basic_info tbody td {
	padding-bottom: 6px;
	vertical-align: top;
}
table.judge_basic_info tbody th span {
	background: #ccc;
	border-radius: 4px;
	color: #000;
	display: block;
	font-size: 12px;
	font-size: 1.2rem;
	padding: 2px 8px;
	text-align: center;
	width: 100%;
	white-space: nowrap;
}
table.judge_basic_info tbody td {
	font-size: 13px;
	font-size: 1.3rem;
	padding-left: 12px;
}
table.judge_basic_info tbody td div { /* データ量が多い場合スクロールバーを出す */
	/*max-height: 40px;*/
	/*
	overflow: auto;
	overflow-x: hidden;
	*/
	overflow: visible;
	max-height: 100%;
}
table.judge_basic_info tbody td select {
	max-width: 256px;
}
/* 凡例表示リンク */
a.example {
	display: inline-block;
	font-size: 11px;
	font-size: 1.1rem;
	margin-left: 16px;
	padding: 2px 8px;
}
a.example i {
	margin-right: 2px;
}
a.example:hover {
	opacity: .6;
	text-decoration: none;
}
/*-----------------------------------------------------------------------------
|
|■┓特殊健康診断個人票エリア
|┗┛
-----------------------------------------------------------------------------*/
main#main_top > .contents > .link_specialmedicalcheckup {

	background: #f4f4f4;
	box-shadow:0 0 6px rgba(0,0,0,0.3);
	margin-bottom: 16px;
	padding: 24px;
	width: 100%;
}

main#main_top > .contents > .link_specialmedicalcheckup h1 {
	border-bottom: 1px dotted #ccc;
	font-size: 24px;
	font-size: 2.4rem;
	margin-bottom: 1em;
	padding-bottom: .5em;
	text-align: center;
}
main#main_top > .contents > .link_specialmedicalcheckup .wrap_link_btn {
	display: flex;
		gap: 24px;
		flex-wrap: wrap;
}
main#main_top > .contents > .link_specialmedicalcheckup .wrap_link_btn > a {
	background: #777;
	border-radius: 4px;
	color: #fff;
	display: flex;
		align-items: center;
		justify-content: center;
	font-size: 16px;
	font-size: 1.6rem;
	padding: 16px;
	width: calc((100% - 48px) / 3);
}
/* ボタンが1～2個の時はセンタリング */
main#main_top > .contents > .link_specialmedicalcheckup .wrap_link_btn > a:first-child:nth-last-child(1) {
	margin: 0 auto;
}
main#main_top > .contents > .link_specialmedicalcheckup .wrap_link_btn > a:first-child:nth-last-child(2) {
	margin-left: auto;
}
main#main_top > .contents > .link_specialmedicalcheckup .wrap_link_btn > a:nth-child(2):last-child {
	margin-right: auto;
}
main#main_top > .contents > .link_specialmedicalcheckup .wrap_link_btn > a::before {
	content: "\f35a";
	font-family: FontAwesome;
	font-family: "Font Awesome 5 Free";
	font-weight: 600;
	font-size: 22px;
	font-size: 2.2rem;
	line-height: 1;
	margin-right: 10px;
}
main#main_top > .contents > .link_specialmedicalcheckup .wrap_link_btn > a em {
	display: inline-block;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: 500;
	/*margin-top: -4px;*/
}
main#main_top > .contents > .link_specialmedicalcheckup .wrap_link_btn > a:hover {
	opacity: .6;
	text-decoration: none;
	transition: all .3s;
}

/*-----------------------------------------------------------------------------
|
|■┓トップページ用2カラム左コンテンツ囲い
|┗┛
-----------------------------------------------------------------------------*/
main#main_top > .contents > .left_wrap {
	display: flex;
		align-items: flex-start;
		justify-content: flex-start;
		flex-wrap: wrap;
	margin-right: 16px;
	width: calc(75% - 16px);
}
main#main_top > .contents > .left_wrap > section {
	background: #fff;
	/*
	box-shadow: 2px 2px 2px rgba(0,0,0,0.2);
	*/
	box-shadow:0 0 6px rgba(0,0,0,0.3);
	display: flex;
		align-items: flex-start;
		justify-content: space-between;
		flex-wrap: wrap;
	margin-bottom: 1em;
	width: 100%;
}
main#main_top > .contents > .left_wrap > section:last-child {
	margin-bottom: 0;
}
/*----------------------------
胃部内視鏡（胃カメラ）検査選択時の自己負担額
----------------------------------------------------------*/
main#main_top > .contents > .left_wrap > .copay h2 {
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: 500;
	margin: 0 0 .5em;
	padding-left: 16px;
	position: relative;
}
main#main_top > .contents > .left_wrap > .copay h2::before {
	content: "\f054";
	font-family: FontAwesome;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: normal;
	position: absolute;
		top: 6px;
		left: 0;
}
main#main_top > .contents > .left_wrap > .copay > div.kome {
	font-size: 14px;
	font-size: 1.4rem;
	margin-top: 4px;
}
main#main_top > .contents > .left_wrap > .copay > div.copay_recommend {
	font-size: 14px;
	font-size: 1.4rem;
	margin-bottom : 4px;
	padding-left: 48px;
	position: relative;
}
main#main_top > .contents > .left_wrap > .copay > div.copay_recommend::before {
	background: orangered;
	border-radius: 4px;
	color: #fff;
	content: "推奨";
	font-size: 12px;
	font-size: 1.2rem;
	padding: 0 8px;
	position: absolute;
		top: 2px;
		left: 0;
}
table.normal.tbl_copay {
	margin-bottom: 0;
}
table.normal.tbl_copay th,
table.normal.tbl_copay td {
	font-size: 12px;
	font-size: 1.2rem;
	text-align: center;
	vertical-align: middle;
}
table.normal.tbl_copay thead th {
	white-space: nowrap;
}
table.normal.tbl_copay tbody td:nth-of-type(1) { /* 氏名 */
	white-space: nowrap;
}
/*----------------------------
お知らせエリア
----------------------------------------------------------*/
main#main_top > .contents > .left_wrap > .info ,
main#main_top > .contents > .right_wrap > .banner {
	min-height: 400px;
}
main#main_top > .contents > .left_wrap .info article {
	position: relative;
	width: calc(50% - 16px);
}
main#main_top > .contents > .left_wrap .info article p {
	margin-bottom: 0;
}
.info_cafe_list {
	background: #eee;
	border: 1px solid #ddd;
	border-radius: 20px;
		-moz-border-radius: 20px;
		-webkit-border-radius: 20px;
	color: #111;
	font-size: 11px;
	font-size: 1.1rem;
	line-height: 20px;
	padding: 0 12px;
	position: absolute;
		top: 16px;
		right: 0;
	text-align: center;
}
.info_cafe_list a {
	color: #333;
	text-decoration: none;
}
.info_cafe_list:hover {
	opacity: .6;
}
main#main_top > .contents > .left_wrap .info article ul {
	display: flex;
		flex-wrap: wrap;
	margin: .5em 0 1em;
	max-height: 288px;
	overflow: auto;
	overflow-x: hidden;
}
main#main_top > .contents > .left_wrap .info article ul li {
	border-bottom: 1px dotted #ccc;
	color: #333;
	font-size: 14px;
	font-size: 1.4rem;
	margin-bottom: 1em;
	padding: 0 0 .5em 12px;
	position: relative;
	width: 100%;
	display: flex;
		align-items: flex-start;
		justify-content: flex-start;
}
main#main_top > .contents > .left_wrap .info article ul li:last-child {
	border-bottom: none;
}
main#main_top > .contents > .left_wrap .info article ul li .new {
	background: tomato;
	border-radius: 3px;
	color: #fff;
	display: inline-block;
	font-size: 9px;
	font-size: .9rem;
	font-weight: bold;
	margin-top: 4px;
	margin-right: 2px;
	padding: 1px 4px;
}
main#main_top > .contents > .left_wrap .info article ul li img {
	margin-top: 7px;
}
main#main_top > .contents > .left_wrap .info article ul li:before {
	color: gray;
	content: "\f105";
	font-family: FontAwesome;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: 600;
	position: absolute;
		top: 4px;
		left: 0;
}
main#main_top > .contents > .left_wrap .info article.open_close ul li:before {
	content: "\f107"; /* 下向きくの字 */
}
main#main_top > .contents > .left_wrap .info article ul li.chevron_up:before {
	content: "\f106"; /* 上向きくの字 */
}
main#main_top > .contents > .left_wrap .info article.open_close ul dt {
	cursor: pointer;
	color: #03c;
	margin-bottom: .5em;
}
main#main_top > .contents > .left_wrap .info article.open_close ul dt:hover {
	color: orangered;
	text-decoration: underline;
}
main#main_top > .contents > .left_wrap .info article.open_close ul dd {
	display:none;
	margin: 0 0 1em 0;
}
main#main_top > .contents > .left_wrap > .info article > ul > li > a {
	display:block;
}
/* 直接記事を表示するタイプ */
main#main_top > .contents > .left_wrap .info article ul li > article {
	display: block;
	padding-bottom: .5em;
	width: 100%;
}
main#main_top > .contents > .left_wrap .info article ul li > article > h3 {
	color: #333;
	font-weight: 500;
	margin-bottom: .5em;
}
main#main_top > .contents > .left_wrap .info article ul li > article > h3 > span {
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: 300;
}
main#main_top > .contents > .left_wrap .info article ul li > article > p:last-child {
	margin-bottom: 0;
}
main#main_top > .contents > .left_wrap .info article:nth-child(3),
main#main_top > .contents > .left_wrap .info article:nth-child(4) {
	margin-top: 24px;
}
/*-----------------------------------------------------------------------------
|
|■┓トップページ用2カラム右コンテンツ囲い（バナーエリア）
|┗┛
-----------------------------------------------------------------------------*/
main#main_top > .contents > .right_wrap {
	background: #fff;
	background: rgba(255,255,255, 0.6);
	box-shadow:0 0 6px rgba(0,0,0,0.3);
	width: 25%;
}
/* banner */
main#main_top > .contents > .right_wrap > .banner {
	display: flex;
		align-items: flex-start;
		justify-content: center;
	overflow: auto;
	width: 100%;
}
main#main_top > .contents > .right_wrap > .banner ul {
	margin-top: 8px;
	overflow: hidden;
}
main#main_top > .contents > .right_wrap > .banner ul li {
	line-height: 0;
	padding-bottom: 8px;
}
/*-----------------------------------------------------------------------------
|
|■┓トップページ用1カラム
|┗┛
-----------------------------------------------------------------------------*/
main#main_top > .contents > .bottom_wrap {
	background: #fff;
	box-shadow:0 0 6px rgba(0,0,0,0.3);
	margin-top: 16px;
	width: 100%;
	/*min-height: 800px;*/
}
/*########################################################################################
|
|セカンダリページ
|main#main
|
########################################################################################*/
main#main {
	padding: 16px 20px;
	width: 100%;
	z-index: 1;
}
#two_column {
	display: flex;
		flex-wrap: wrap;
}
#two_column #main_style {
	position: relative;
}
#two_column > .main_column > section {
	padding: 16px 0;
}
#one_column ,
#two_column {
	margin: auto;
	width: 1000px;
}
#main > .contents #main_style > h2,
#main > .contents #main_style > form > h2 { /* formタグで囲まれる場合があるため */
	background-color: #587cc7;
	border-radius: 4px;
	color: #fff;
	font-size: 20px;
	font-size: 2.0rem;
	margin: 80px 0 .5em;
	padding: 16px 16px;
}
#main > .contents #main_style > h2#reserve {
	background-color: #f60;
}
#main > .contents #main_style > h2#apply {
	background-color: #587cc7;
}
#main > .contents #main_style > h2 span {
	font-size: 14px;
	font-size: 1.4rem;
}
#main > .contents #main_style > h3,
#main > .contents #main_style > form > h3 { /* formタグで囲まれる場合があるため */
	border-bottom: solid 3px #e5f2ff;
	font-size: 20px;
	font-size: 2.0rem;
	margin: 56px 0 .5em;
	padding: 8px 0;
	position: relative;
}
#main > .contents #main_style > h3:after,
#main > .contents #main_style > form > h3:after {
	border-bottom: solid 3px #587cc7;
	bottom: -3px;
	content: " ";
	display: block;
	position: absolute;
	width: 20%;
}
#main > .contents #main_style h4 {
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: bold;
	margin: 1.5em 0 .5em;
	padding-left: 16px;
	position: relative;
}
#main > .contents #main_style h4::before {
	content: "\f054";
	font-family: FontAwesome;
	font-size: 12px;
	font-weight: normal;
	position: absolute;
		top: 4px;
		left: 0;
}
/* 見出し（h2）に連番で番号を付けたい場合、該当要素の外枠に.counter_incrementを付ける */
.counter_increment h2 {
	counter-increment: number;
}
.counter_increment h2::before {
	content: counter(number)".";
	padding-right: .5em;
}
/*-----------------------------------------------------------------------------
|
|■┓リスト表示のページ共通スタイル
|┗┛
-----------------------------------------------------------------------------*/
/*-------------------
文章のリスト表示など（右向きくの字）
--------------------------------------------------*/
main#main > .contents ul.angle_right li {
	padding-left: 1.5em;
	position: relative;
}
main#main > .contents ul.angle_right li::after {
	color: gray;
	content: "\f105 "; /* fa-angle-right */
	font-family: FontAwesome;
	position: absolute;
		top: 0;
		left: .5em;
}
/*-------------------
リンクのリスト表示など（右向き三角）
--------------------------------------------------*/
main#main > .contents ul.caret_right li {
	padding-left: 1.5em;
	position: relative;
}
main#main > .contents ul.caret_right li::after {
	color: darkgray;
	content: "\f0da"; /* fa-caret-right */
	font-family: FontAwesome;
	font-size: 12px;
	font-size: 1.2rem;
	position: absolute;
		top: 4px;
		left: .75em;
}
/*-------------------
お知らせ一覧ページのリスト表示用
--------------------------------------------------*/
main#main > .contents ul.info {
	margin-left: 1em;
}
main#main > .contents ul.info li {
	border-bottom: 1px dotted #ccc;
	color: #333;
	padding: .2em 0 .2em 12px;
	position: relative;
	width: 100%;
}
main#main > .contents ul.info li span {
	font-size: 12px;
	font-size: 1.2rem;
}
main#main > .contents ul.info li:before {
	color: gray;
	content: "\f054"; /* fa-chevron-right */
	font-family: FontAwesome;
	font-size: 8px;
	position: absolute;
		top: 11px;
		left: 0;
}
/*-----------------------------------------------------------------------------
|
|■┓セカンダリページ用2カラム・左コンテンツ囲い
|┗┛
-----------------------------------------------------------------------------*/
#two_column > .main_column {
	margin-right: 16px;
	width: calc(75% - 16px);
}
/*-----------------------------------------------------------------------------
|
|■┓セカンダリページ用2カラム・右コンテンツ囲い
|┗┛
-----------------------------------------------------------------------------*/
#two_column > .side_column {
	border-left: 1px solid #efefef;
	padding-left: 16px;
	width: 25%;
}
/*-------------------
サイドメニュースタイル
--------------------------------------------------*/
#two_column > .side_column > .side_menu {
	background: #f4f4f4;
	border: 1px solid #ccc;
	margin-bottom: 2em;
	padding: 16px;
}
#two_column > .side_column > .side_menu.plink {
	background: #f4f9ff;
}
#two_column > .side_column > .side_menu > div {
	border-bottom: 1px solid #ccc;
	margin-bottom: 1em;
	padding-bottom: .5em;
	text-align: center;
}
#two_column > .side_column > .side_menu > ul > li,
#two_column > .side_column > .side_menu > ol > li {
	line-height: 1.2;
	padding: .5em 0;
}
#two_column > .side_column > .side_menu > ul > li > a ,
#two_column > .side_column > .side_menu > ol > li > a {
	color: #333;
}
#two_column > .side_column > .side_menu > ul > li > a:hover ,
#two_column > .side_column > .side_menu > ol > li > a:hover {
	opacity: .6;
	text-decoration: none;
}
#two_column > .side_column > .side_menu > ul > li a {
	display: flex;
		align-items: center;
		justify-content: flex-start;
	padding-left: .75em;
	position: relative;
}
#two_column > .side_column > .side_menu > ul > li a::before {
	color: darkgray;
	content: "\f0da"; /* fa-caret-right */
	font-family: FontAwesome;
	font-size: 12px;
	font-size: 1.2rem;
	position: absolute;
		top: 4px;
		left: 0;
}
#two_column > .side_column > .side_menu.plink > ul > li a::before {
	color: #587cc7;
}
#two_column > .side_column > .side_menu > ol {
}
#two_column > .side_column > .side_menu > ol > li {
	counter-increment: number;
	list-style-type: none;
	text-indent: -1.5em;
	padding-left: 1.5em;
}
#two_column > .side_column > .side_menu > ol > li > a::before {
	content: counter(number)".";
	padding-right: .5em;
}
/*-----------------------------------------------------------------------------
|
|■┓パンくずリスト
|┗┛
-----------------------------------------------------------------------------*/
nav#breadcrumbs {
	font-size: 11px;
	font-size: 1.1rem;
	margin: auto;
	margin-bottom: .5em;
	width: 1000px;
}
nav#breadcrumbs ul {
	display: flex;
		align-items: center;
		justify-content: flex-start;
		flex-wrap: wrap;
	width: 100%;
}
nav#breadcrumbs li {
	padding: 0 1em 0 .5em;
	position: relative;
}
nav#breadcrumbs li::after {
	color: gray;
	content: "\f105";
	font-family: FontAwesome;
	font-size: 11px;
	position: absolute;
		top: 0;
		right: 0;
}
nav#breadcrumbs li:last-child::after {
	content: "";
}
nav#breadcrumbs a {
	text-decoration: none;
	color: #333;
}
nav#breadcrumbs a:hover {
	opacity: .6;
}
nav#breadcrumbs .disable {
	color: #ccc;
}
/*-----------------------------------------------------------------------------
|
|■┓健診結果を見る（過去に受診した健康診断一覧）
|┗┛
-----------------------------------------------------------------------------*/
table.normal.resultList {
	width: 100%;
}
table.normal.resultList thead th,
table.normal.resultList thead th:nth-child(1),
table.normal.resultList thead th:nth-last-child(1) {
	border-color: #ccc;
}
table.normal.resultList th {
	background: -webkit-linear-gradient(
			top
		, #eee 10%
		, #ddd);
	background: -moz-linear-gradient(
			top
		, #eee 10%
		, #ddd);
	background: -ms-linear-gradient(
			top
		, #eee 10%
		, #ddd);
	background: linear-gradient(
			to bottom
		, #eee 10%
		, #ddd);
	color: #333;
	font-size: 12px;
	font-size: 1.2rem;
	white-space: nowrap;
}
table.normal.resultList tr:hover {
	background-color: #fff7ef;
}
table.normal.resultList td {
	vertical-align: middle;
}
table.normal.resultList td:nth-of-type(1) { /* 受診日 */
	white-space: nowrap;
}
table.normal.resultList td:nth-of-type(2) { /* 健診機関 */
	min-width: 200px;
}
table.normal.resultList td:nth-of-type(3) { /* 受診コース */
	min-width: 200px;
}
table.normal.resultList td:nth-of-type(4) { /* 「健診結果を見る」ボタン */
	text-align: center;
	/*white-space: nowrap;*/
}
/* 「健診結果を見る」ボタン（スマホでタップ時のボタン反応領域を適正にするため、aタグにスタイルを付ける） */
a.btn_view {
	background: #f60;
	border-radius: 4px;
	color: #fff;
	display: inline-block;
	font-size: 14px;
	font-size: 1.4rem;
	padding: 8px 16px;
	text-align: center;
	white-space: nowrap;
}
a.btn_view:hover {
	color: #fff;
	opacity: .6;
	text-decoration: none;
}
/*-----------------------------------------------------------------------------
■┓サイトマップ
┗┛
-----------------------------------------------------------------------------*/
#sitemap {
	display: flex;
		align-items: flex-start;
		align-content:flex-start;
		justify-content: space-between;
		flex-wrap: wrap;
	padding: 24px;
	width: 1000px;
	height: auto;
	overflow: auto;
}
#sitemap a:hover {
	opacity: .6;
	text-decoration: none;
}
#sitemap > ul {
	display: flex;
		align-items: flex-start;
		justify-content: flex-start;
		flex-wrap: wrap;
		width: 100%;
}
#sitemap > ul {
	width: calc(50% - 16px);
}
#sitemap > ul > li {
	margin-top: .5em;
	padding: 0 .5em;
	width: 100%;
	height: auto;
}
#sitemap > ul > li > ul {
	display: block;
	padding: .5em;
	width: 100%;
	height: auto;
}
#sitemap > ul > li > ul > li {
	width: 100%;
}
#sitemap > ul > li > ul > li > a {
	border-bottom: 1px dotted #ccc;
	color: #333;
	display: block;
	font-size: 14px;
	font-size: 1.4rem;
	padding: .5em 0;
	position: relative;
	width: 100%;
}
#sitemap > ul > li {
	width: 100%;
}
#sitemap > ul > li > div ,
#sitemap > ul > li > a {
	border-bottom: 1px solid #333;
	color: #333;
	display: block;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 600;
	padding: .5em;
	width: 100%;
	height: auto;
}
#sitemap > ul > li.grayout a {
	color: #ccc;
	border-bottom: 1px solid #ccc;
}
#sitemap > ul > li.grayout a:hover {
	opacity: 1;
	cursor: not-allowed;
}
#sitemap ul.megamenu li a {
	position: relative;
}
#sitemap ul.megamenu li a::after {
	color: #777;
	font-family: FontAwesome;
	font-size: 14px;
	position: absolute;
	top: calc(50% - 14px);
	right: 16px;
}
#sitemap ul.megamenu li a.parent {
	padding-right: 40px;
}
#sitemap ul.megamenu li a.parent::after {
	content: "\f0fe";
}
#sitemap ul.megamenu li a.parent_open::after {
	content: "\f146";
}
#sitemap ul.megamenu ul.panel_nest li a:hover {
	background: #fff;
}
#sitemap ul.megamenu ul.panel_nest li a::after {
	display: none;
}
#sitemap ul.megamenu ul.panel_nest li a span {
	display: block;
	padding-left: 24px;
}
#sitemap ul.megamenu ul.panel_nest li a::before {
	color: #999;
	content: "\f105";
	font-family: FontAwesome;
	font-size: 10px;
	position: absolute;
		top: calc(50% - 8px);
		left: 8px;
}
/*-----------------------------------------------------------------------------
|
|■┓アンケート（生活習慣についての質問）
|┗┛
-----------------------------------------------------------------------------*/
table.normal.questionnaire {
	width: 100%;
}
table.normal.questionnaire thead th {
	background: #7f7f7f;
	font-size: 14px;
	font-size: 1.4rem;
}
table.normal.questionnaire td:nth-of-type(1) a {
	color: #000;
	font-weight: 500;
}
table.normal.questionnaire tr:nth-child(2n) {
	background: #f4f9ff;
}
table.normal.questionnaire tbody {
	counter-reset: Num 0; /* カウンタ変数「Num」の値が0にセットされます */
}
table.normal.questionnaire tbody td:nth-of-type(1) {
	text-align: center;
}
table.normal.questionnaire tbody td:nth-of-type(2) { /* 質問項目 */
	max-width: 500px;
}
table.normal.questionnaire tbody td:nth-of-type(3) { /* 回答 */
	max-width: 300px;
}
table.normal.questionnaire tbody td span {
	counter-increment: Num;
}
table.normal.questionnaire tbody td span::before {
	content: counter(Num);
	/*padding-right: .5em;*/
}
/*-----------------------------------------------------------------------------
|
|■┓お知らせ（健保、産業医、人事部）
|┗┛
-----------------------------------------------------------------------------*/
.news_list h2 {
	font-size: 40px;
	font-size: 4.0rem;
	margin-bottom: 16px;
}
.news_list h2 span {
	font-size: 16px;
	font-size: 1.6rem;
	margin-left: 8px;
}
.news_list dl {
	display: flex;
		flex-wrap: wrap;
	width: 100%;
}
.news_list dl dt,
.news_list dl dd {
	border-bottom: 1px dotted #ccc;
	padding: .5em 16px;
}
.news_list dl dt {
	width: 20%;
}
.news_list dl dd {
	width: 80%;
}
/*-----------------------------------------------------------------------------
|
|■┓ユーザID・パスワードをお忘れの方
|┗┛リマインダー
-----------------------------------------------------------------------------*/
.select_idpw {
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	margin: 16px 0;
	padding: 32px 16px;
}
/*########################################################################################
|
|フッター
|#footer
|
########################################################################################*/
.footer_contents {
	display: flex;
		flex-wrap: wrap;
	margin: auto;
	padding-top: 8px;
	width: 1000px;
	height: auto;
}
.other_menu {
	display: flex;
	color: #fff;
	font-size: 12px;
	font-size: 1.2rem;
	width: 100%;
	height: auto;
}
.other_menu ul {
	height: auto;
	display: flex;
	flex-wrap: wrap;
}
.other_menu ul li {
	margin-right: 2em;
}
.other_menu ul li a {
	color: #fff;
	display: block;
	font-weight: normal;
	padding-left: 8px;
	position: relative;
	text-align: left;
}
.other_menu ul li a:hover {
	opacity: .6;
	text-decoration: none;
}
.other_menu ul li a::before {
	content: "\f0da"; /* fa-caret-right */
	color: #fff;
	font-family: FontAwesome;
	font-size: 11px;
	font-size: 1.1rem;
	position: absolute;
		top: 1px;
		left: 0;
}
small {
	color: #fff;
	font-size: 11px;
	font-size: 1.1rem;
	margin-top: 2em;
	text-align: right;
	width: 100%;
	height: auto;
}
/*########################################################################################
|
|サイト共通スタイルまとめ
|
########################################################################################*/
@keyframes fade-in{ /* eng対応で追加 */
	from{
		opacity: 0;
	}
	to{
		opacity: 1;
	}
}
.lh1 {
	line-height: 1.0;
}
.lh1_2 {
	line-height: 1.2;
}
.mt16px{
	margin-top: 16px;
}
.mt24px{
	margin-top: 24px;
}
.mt32px{
	margin-top: 32px;
}
.mt40px{
	margin-top: 40px;
}
.mt80px{
	margin-top: 80px;
}
.fixed {
	position: fixed !important;
		top: 0;
	width: 100%;
	z-index: 10000;
}
a[href$=".pdf"]:after {
	content: "\f1c1"; /* fa-file-pdf */
	color: #f00;
	font-family: FontAwesome;
	font-size: 12px;
	font-size: 1.2rem;
	margin-left: 4px;
}
a[href$=".xls"]:after {
	content: "\f1c3"; /* fa-file-excel */
	color: green;
	font-family: FontAwesome;
	font-size: 12px;
	font-size: 1.2rem;
	margin-left: 4px;
}
ul.normal {
	margin: .5em;
}
ul.normal li {
	padding-left: 8px;
	position: relative;
}
ul.normal li::before {
	content: "\f0da"; /* fa-caret-right */
	font-family: FontAwesome;
	font-size: 11px;
	font-size: 1.1rem;
	position: absolute;
		top: calc(50% - 8px);
		left: 0;
}
ul.normal li a::before {
	content: "\f0da"; /* fa-caret-right */
	font-family: FontAwesome;
	font-size: 11px;
	font-size: 1.1rem;
	position: absolute;
		top: calc(50% - 8px);
		left: 0;
}
ul.normal li span {
	font-size: 12px;
	font-size: 1.2rem;
}
ol.normal li {
	margin-left: 1em;
	padding-bottom: .5em;
}
ol.normal li {
	/*font-weight: 600;*/
}
ol.normal.bold li {
	font-weight: 600;
}
ol.normal li div {
	font-weight: 300;
	margin-bottom: .5em;
}
/*-----------------------------------------------------------------------------
|
|■┓ページ内ナビゲーション固定
|┗┛
-----------------------------------------------------------------------------*/
.sticked {
	position: sticky;
	position: -webkit-sticky;
		top: 40px;
	margin: 40px 0;
}
/*-----------------------------------------------------------------------------
|
|■┓リンクスタイル
|┗┛
-----------------------------------------------------------------------------*/
/*--------------
「>」付のテキストリンク（大きいサイズ）
（.impt_link a）
----------------------------------------------------------*/
.impt_link {
	font-size: 20px;
	font-size: 2.0rem;
	font-weight: bold;
	margin-bottom: 1em;
}
.impt_link a {
	display: inline-block;
	padding-left: 20px;
	position: relative;
}
.impt_link a:not(:first-child) {
	margin-top: 8px;
}
.impt_link a::before {
	border-color: transparent #03c #03c transparent;
	border-style: solid;
	border-width: 0 2px 2px 0;
	content: "";
	position: absolute;
		top: .55em;
		left: 0;
	transform: rotate(-45deg);
	width: 9px;
	height: 9px;
}
.impt_link a:hover::before {
	border-color: transparent #f00 #f00 transparent;
}
/*-----------------------------------------------------------------------------
|
|■┓ご注意スタイル
|┗┛
-----------------------------------------------------------------------------*/
.notes {
	background: #fff0f5;
	border: 1px solid #f08080;
	border-radius: 8px;
	display: inline-block;
	margin-bottom: 1em;
	padding: 16px;
}
.notes *:last-child {
	margin-bottom: 0 !important;
}
.notes > .title {
	border-bottom: 1px solid #f08080;
	color: #f00;
	font-weight: 500;
	margin-bottom: 8px;
	padding: 0 0 8px 0;
}
.notes > .title i {
	margin-right: 4px;
}
.notes > .contents {
}
.notes > .contents *:last-child {
	margin-bottom: 0 !important;
}
.notes > .contents dt {
	font-weight: 600;
}
.notes > .contents dd {
	margin-bottom: 16px;
}


.notes > .contents > ul li {
	display: block;
	margin-bottom: 8px;
	padding-left: 16px;
	position: relative;
}
.notes > .contents > ul li::before {
	content: "\f111";
	font-family: FontAwesome;
	font-size: 10px;
	font-size: 1.0rem;
	line-height: 1;
	position: absolute;
	top: 9px;
	left: 2px;
	transform: scale(.5);
}


.notes_hantei { /* ver2.0.1 */
	color: tomato;
	font-size: 12px;
	font-size: 1.2rem;
	margin-bottom: 8px;
	overflow: auto;
	height: 40px;
}
.tomato { /* ver2.0.1 */
	color: tomato;
}
.notes_border {
	border: 1px solid #f00;
	padding: 4px;
}
.notes_hantei a.pp_about_crems {
	font-size: 16px;
	font-size: 1.6rem;
	padding-left: 16px;
	position: relative;
}
.notes_hantei a.pp_about_crems span {
	font-size: 14px;
	font-size: 1.4rem;
}
.notes_hantei a.pp_about_crems::before {
	content: "\f054";
	font-family: "Font Awesome 5 Free";
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: bold;
	margin-right: 8px;
	position: absolute;
		top: 2px;
		left: 0;
}

/*-----------------------------------------------------------------------------
|
|■┓エラーメッセージスタイル
|┗┛
-----------------------------------------------------------------------------*/
.error_message {
	background: #fff0f5;
	border: 1px solid #f08080;
	border-radius: 8px;
	display: block;
	margin-bottom: 1em;
	padding: 16px;
}
.error_message ul {
	margin-left: 16px;
}
.error_message li {
	color: #f00;
	position: relative;
}
.error_message li::after {
	border-left: 3px solid #f00;
	border-bottom: 3px solid #f00;
	content: '';
	display: block;
	position: absolute;
		top: .5em;
		left: -1em;
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	width: 8px;
	height: 4px;
}
/*-----------------------------------------------------------------------------
|
|■┓画像自動縮小
|┗┛
-----------------------------------------------------------------------------*/
img.auto {
	max-width: 100% !important;
	height: auto;
}
/*-----------------------------------------------------------------------------
|
|■┓テーブルスタイル
|┗┛
-----------------------------------------------------------------------------*/
.tbl_scroll { /* テーブル、オーバーフローで横スクロールバー表示 */
	overflow-x: auto;
	margin-bottom: 1em;
	width: 100%;
}
.tbl_scroll > table {
	margin-bottom: 0;
}
/* normal */
table.normal {
	border-collapse: collapse;
	border-spacing: 0;
	margin-bottom: 1em;
}
table.normal th , table.normal td {
	border: 1px solid #ccc;
	padding: 16px ;
}
table.normal th {
	background: #efefef;
	/*white-space: nowrap;*/
}
table.normal thead th {
	background: #999;
	border: 1px solid #fff;
	border-top: 1px solid #999;
	color: #fff;
}
table.normal thead th:nth-child(1) {
	border-left: 1px solid #999;
}
table.normal thead th:nth-last-child(1) {
	border-right: 1px solid #999;
}
table.normal tbody th {
	background: #efefef;
	text-align: left;
	vertical-align: middle;
}
table.normal .delete_cell {
	border: none !important;
	background-color: #fff;
}
table.normal.th_right th {
	text-align: right;
}
table.normal.th_center th {
	text-align: center;
}
/*-----------------------------------------------------------------------------
|
|■┓アイコン
|┗┛
-----------------------------------------------------------------------------*/
.icon_required { /* 入力欄必須項目アイコン */
	background: pink;
	border-radius: 2px;
	-moz-box-shadow: inset 1px 3px 9px -8px rgba(0,0,0,0.5);
	-webkit-box-shadow: inset 1px 3px 9px -8px rgba(0, 0, 0, 0.5);
	box-shadow: inset 1px 3px 9px -5px rgba(255, 255, 255, 0.9);
	color: #000;
	display: inline-block; /* IEで矢印がずれないように対応 */
	font-size: 12px;
	font-size: 1.2rem;
	margin-right: 1em;
	padding: 2px 6px;
	position: relative;
	white-space: nowrap;
}
.icon_required::after {
	content: '';
	border: 4px solid transparent;
	border-left: 6px solid pink;
	left: calc(100% - 1px); /* retinaディスプレイで線が出ないよう1pxずらして対応 */
	position: absolute;
	top: calc(50% - 4px);
	width: 0;
	height: 0;
}
.icon_new,
.icon_camp,
.icon_net,
.icon_male,
.icon_female {
	border-radius: 3px;
	display: inline-block;
	font-size: 9px;
	font-size: .9rem;
	font-weight: bold;
	line-height: 1.0;
	margin-right: 2px;
	padding: 2px 4px;
}
.icon_new {
	background: tomato;
	color: #fff;
}
.icon_camp {
	background: red;
	color: #fff;
}
.icon_net {
	background: tomato;
	color: #fff;
}
.icon_male {
	background: white;
	border: 1px solid #0000cd;
	color: #0000cd;
}
.icon_female {
	background: white;
	border: 1px solid #f08080;
	color: #f08080;
}
/*-----------------------------------------------------------------------------
|
|■┓ページのトップへ
|┗┛
-----------------------------------------------------------------------------*/
.page_top {
	position: fixed;
		bottom: 16px;
		right: 16px;
}
.page_top a {
	background: #fff;
	border-radius: 50%;
	/*
	box-shadow: 2px 2px 2px rgba(0,0,0,0.2);
	*/
	box-shadow:0 0 6px rgba(0,0,0,0.3);
	color: #000;
	display: inline-block;
	font-size: 12px; /* 固定 */
	line-height: 50px; /* 固定 */
	position: relative;
	text-align: center;
	text-decoration: none;
	vertical-align: middle;
	width: 50px;
	height: 50px;
}
.page_top a:hover {
	text-decoration: none;
	opacity: .9;
}
/*-----------------------------------------------------------------------------
|
|■┓input  textarea  select設定
|┗┛
-----------------------------------------------------------------------------*/
input[type="password"],
input[type="text"],
input[type="number"],
input[type="email"],
input[type="tel"],
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: 6px;
	margin-bottom: 6px;
	outline: none;
	padding: 4px 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:focus select:focus */
input:focus,
textarea:focus,
select:focus {
	background-color: #fffff0;
}
.btn_bottom input:focus,
a.btn_input:active {
	background-color: #fff;
}
/* input type="radio" */
input[type="radio"] {
	display: none;
}
input[type="radio"] + label {
	display: inline-block;
	margin-right: 16px;
	padding-left: 22px;
	position: relative;
}
input[type="radio"] + label::before,
input[type="radio"] + label::after {
	content: "";
	position: absolute;
	transition: all .2s;
}
input[type="radio"] + label::before {
	background: #f4f4f4;
	border: 1px solid #ccc;
	border-radius: 14px;
		top: 5px;
		left: 0;
	width: 14px;
	height: 14px;
}
input[type="radio"] + label::after {
	border-radius: 50%;
		top: 8px;
		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 #f60;
}
input[type="radio"]:checked + label::after {
	background: #f60;
	opacity: 1;
}
/* input type="checkbox" */
input[type="checkbox"] {
	display: none;
}
input[type="checkbox"] + label {
	display: inline-block;
	/*margin-right: 0.8em;*/
	padding: 0 3px 3px 22px;
	position: relative;
}
input[type="checkbox"] + label::before,
input[type="checkbox"] + label::after {
	content: "";
	position: absolute;
	transition: all .2s;
}
input[type="checkbox"] + label::before {
	background: #f4f4f4;
	border: 1px solid #ccc;
	border-radius: 3px;
	top: 5px;
	left: 0;
	width: 14px;
	height: 14px;
}
input[type="checkbox"] + label::after {
	border-left: 2px solid #f60;
	border-bottom: 2px solid #f60;
	top: 9px;
	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 #f60;
}
input[type="checkbox"]:checked + label::after {
	transform: rotate(-45deg) scale(1);
	opacity: 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;
}
/* input:disabled select:disabled */
input[type="radio"]:disabled + label,
input[type="checkbox"]:disabled + label,
select:disabled {
	color: #999;
	cursor: default !important;
}
input[type="radio"]:disabled + label::before,
input[type="checkbox"]:disabled + label::before {
	background-color: #fff;
	border-color: #ddd;
}
select:disabled {
	background-image: url(/vc/base/usr/docs/images/select_arrow_disabled.svg);
	border-color: #ccc;
}
/* 自動入力のため手動入力しないインプットタグの枠線を消す（input.no_frameline） */
input.no_frameline[type="text"],
input.no_frameline[type="number"],
input.no_frameline[type="email"],
input.no_frameline[type="tel"] {
	background: transparent;
	border: none;
	box-shadow: none;
	cursor: default;
}
/*--------------
申込フォームページの最下部ナビゲーション
----------------------------------------------------------*/
.submit_area {
	display: flex;
		align-items: flex-start;
		justify-content: flex-start;
		flex-wrap: wrap;
	margin-top: 48px;
	text-align: center;
	width: calc(50% + 128px);
}
.submit_area.close {
		justify-content: center;
	width: 100%;
}
.submit_area.close a.btn_close {
	min-width: 256px;
}
.submit_area .btn_submit {
	margin-left: auto;
}
/*
.submit_area.one {
	display: flex;
		align-items: center;
		justify-content: center;
	width: 100%;
}
.submit_area.one .btn_submit ,
.submit_area.one .btn_back {
	margin-left: 0;
}
*/
/*----------------------------
「次へ」等のボタン　→　（a.btn_submit）
「戻る」等のボタン　→　（a.btn_back）
----------------------------------------------------------*/
/* ボタン表現 */
a.btn_submit,
a.btn_back {
	border-radius: 4px;
	display: flex;
		align-items: center;
		justify-content: center;
	min-width: 256px;
	position: relative;
	transition: all .2s;
}
a.btn_submit {
	background-color: #f60;
	color: #fff !important;
	padding: 18px 12px;
}
a.btn_back {
	background: #ddd;
	color: #000 !important;
	font-size: 14px;
	font-size: 1.4rem;
	min-width: 128px;
	padding: 10px 12px;
}
/* spanタグ表現 */
a.btn_submit span {
	margin-left: 24px;
}
a.btn_submit span,
a.btn_back span {
	display: block;
	line-height: 1.0;
}
a.btn_back span {
	margin-left: 16px;
}
a.btn_submit span::before,
a.btn_back span::before { /* カートページの「a.btn_submit」「a.btn_back」はテキストが2行の場合もあるのでspanのbeforeでアイコンを挿入 */
	content: "";
	display: block;
	position: absolute;
}
a.btn_submit span::before { /* カートページのa.btn_submitはテキストが2行の場合もあるのでspanのbeforeでアイコンを挿入 */
	background: url(/vc/base/usr/apply/images/ic_arrow@2x.png) no-repeat 0 0;
	background-size: 16px 12px;
	width: 16px;
	height: 12px;
	margin-left: -24px;
	top: calc(50% - 6px);
}
a.btn_back span::before { /* カートページのa.btn_backはテキストが2行の場合もあるのでspanのbeforeでアイコンを挿入 */
	background: url(/vc/base/usr/apply/images/ic_back@2x.png) no-repeat 0 0;
	background-size: 6px 10px;
	width: 6px;
	height: 10px;
	margin-left: -16px;
	top: calc(50% - 5px);
}
/*----------------------------
「閉じる」ボタン　→　（a.btn_close）
----------------------------------------------------------*/
a.btn_close {
	background: #ddd;
	color: #000 !important;
	font-size: 14px;
	font-size: 1.4rem;
	padding: 10px 12px;
	border-radius: 4px;
	display: flex;
		align-items: center;
		justify-content: center;
	min-width: 128px;
	position: relative;
	transition: all .2s;
}
a.btn_close span {
	display: block;
	line-height: 1.0;
}
/*----------------------------
ホバースタイル
----------------------------------------------------------*/
a.btn_submit:hover,
a.btn_back:hover,
a.btn_close:hover {
	opacity: 0.6;
	text-decoration: none !important;
}
/*-----------------------------------------------------------------------------
|
|■┓ポップアプスタイル
|┗┛
-----------------------------------------------------------------------------*/
.popup_base_contents h1 + h2 {
	margin-top: 24px !important;
}
.popup_base_contents h2 + h3 {
	margin-top: 16px !important;
}
.popup_base_contents h1 + h3 {
	margin-top: 16px !important;
}
/*-------------------
凡例表示ポップアップに使用中
--------------------------------------------------*/
.popup_base_contents h1 {
	background-image: linear-gradient(
		-45deg,
		#fff 25%,
		#ddd 25%, #ddd 50%,
		#fff 50%, #fff 75%,
		#ddd 75%, #ddd
		);
	background-size: 4px 5px;
	background-repeat: repeat-x;
	background-position: left bottom;
	display: flex;
		align-items: flex-end;
		flex-flow: wrap;
		justify-content: flex-start;
	margin-bottom: .5em;
	padding-left: .5em;
	position: relative;
}
.popup_base_contents h1 {
	font-size: 26px;
	font-size: 2.6rem;
	line-height: 1.1;
	padding: 16px 0 16px .5em;
}
.popup_base_contents h1 span {
	font-size: 14px;
	font-size: 1.4rem;
	margin-left: 1em;
}
.popup_base_contents h1:before {
	content: "";
	position: absolute;
		bottom: 0;
		left: 0;
	width: 5px;
	height: 5px;
	background: #587cc7;
}
.popup_base_contents h2 {
	background-color: #587cc7;
	border-radius: 4px;
	color: #fff;
	font-size: 20px;
	font-size: 2.0rem;
	margin: 80px 0 .5em;
	padding: 16px 16px;
}
/*-------------------
検査項目説明ポップアップに使用中
--------------------------------------------------*/
.popup_base_contents h3 {
	border-bottom: solid 3px #dcdcdc;
	font-size: 18px;
	font-size: 1.8rem;
	margin: 1.5em 0 .5em;
	padding: 8px 0;
	position: relative;
}
.popup_base_contents h3:after {
	border-bottom: solid 3px #999;
	bottom: -3px;
	content: " ";
	display: block;
	position: absolute;
	width: 20%;
}
.popup_base_contents h3:first-child {
	margin-top: 0;
}
/*-----------------------------------------------------------------------------
|
|■┓利用規約画面
|┗┛
-----------------------------------------------------------------------------*/
/*--------------
利用規約（初回ログイン時に表示）
-------------------------------------------------------------------------------*/
#agreement h2 {
	background-color: #587cc7;
	border-radius: 4px;
	color: #fff;
	font-size: 24px;
	font-size: 2.4rem;
	line-height: normal;
	margin: 80px 0 1em -20px;
	padding: 16px;
}
#agreement h2.first {
	margin-top: 0;
}
#agreement .agreemnent_txt {
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 1.5em;
	margin: 20px 0 40px;
}
#agreement .agreement_box {
	border: 1px solid #999;
	height: 500px;
	margin-bottom: 20px;
	overflow-y: scroll;
	padding: 10px 20px 10px 30px;
}
#agreement .agreement_box.scroll_off { /* 全文表示用 javascriptで追加 */
	border: none;
	height: auto;
	overflow-y: auto;
	padding: 11px 38px 10px 31px;
}
#agreement .agreement_box ol.number {
	counter-reset: li;
	list-style: none;
	margin-top: 0.35em;
	padding-left: 0;
}
#agreement .agreement_box ol.number > li {
	padding-left: 2em;
	position: relative;
}
#agreement .agreement_box ol.number > li::before {
	content: counter(li) "";
	counter-increment: li;
	letter-spacing: -0.03em;
	position: absolute;
		left: 0;
	text-align: right;
	width: 1.0em;
}
#agreement .agreement_box ol.number > li::after {/*番号とスタイルを分けるため*/
	content: "．";
	position: absolute;
		top: 0;
		left: 1.2em;
}
#agreement .agreement_box ol.number li {
	margin-bottom: .75em;
}
#agreement .agreement_box ol.nest1 li {
	margin-top: 0;
	margin-bottom: 0;
}
#agreement .agreement_box ol.nest1 { /* 入れ子1.のol */
	counter-reset: li;
	list-style: none;
	margin-top: .35em;
	padding-left: 0;
}
#agreement .agreement_box ol.nest1 > li {
	padding-left: 2em;
	position: relative;
}
#agreement .agreement_box ol.nest1 > li::before {
	content: counter(li) "";
	counter-increment: li;
	position: absolute;
		left: 0;
	text-align: right;
	width: 1.0em;
}
#agreement .agreement_box ol.nest1 > li:after {/*番号とスタイルを分けるため*/
	content: "）";
	position: absolute;
		top: 1px;
		left: 1.1em;
}
#agreement .agreement_box ol.nest2 { /* 入れ子2.のol */
	counter-reset: li;
	list-style: none;
	margin-top: .35em;
	padding-left: 0;
}
#agreement .agreement_box ol.nest2 > li {
	padding-left: 1.3em;
	position: relative;
}
#agreement .agreement_box ol.nest2 > li::before {
	background: #000;
	border-radius: 50px;
	color: #fff;
	content: counter(li) "";
	counter-increment: li;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.4em;
	position: absolute;
		top: 5px;
		left: 0;
	text-align: center;
	width: 1.3em;
	height: 1.3em;
}
#agreement .agree_checkbox_wrap {
	background: #fff9ea;
	border: 2px solid #ffd3c3;
	border-radius: 8px;
	margin-bottom: 32px;
	padding: 16px;
}
#agreement .checkbox_indent {
	display: flex;
		align-items: flex-start;
}
#agreement .checkbox_indent input {
	flex-shrink: 0;
	margin-top: 0.3em;
}
#agreement .checkbox_indent label {
	margin-left: 8px;
}
#agreement .checkbox_indent:not(:last-of-type) {
	margin-bottom: 8px;
}
#agreement .checkbox_indent input[type="checkbox"]:disabled + label {
	color: #999 !important;
	cursor: default !important;
}
#agreement #button {
	margin: 25px 0;
	text-align: center;
}
#agreement input[type="submit"],
#agreement input[type="button"],
#agreement input[type="reset"] {
	background: linear-gradient(
			to bottom
		, #fff 0%
		, #efefef 98%
		, #fff);
	border: 1px solid #666;
	border-radius: 5px;
	box-sizing: border-box;
	color: #000;
	cursor: pointer;
	display: inline-block;
	line-height: 1.2em;
	min-width: 120px;
	min-height: 40px;
	padding: 9px 15px 7px;
	text-align: center;
}
#agreement input[type="submit"]:hover,
#agreement input[type="button"]:hover,
#agreement input[type="reset"]:hover {
	background: #fff;
	cursor: pointer;
	text-decoration: none;
}
#agreement #button input {
	margin-top: .3em;
	margin-bottom: .3em;
}
/*-------------------
ご注意
--------------------------------------------------*/
#agreement .caution_box {
	background: #fff0f5;
	border: 2px solid #f08080;
	border-radius: 8px;
	display: inline-block;
	margin-bottom: 1em;
	padding: 16px;
	width: 100%;
}
#agreement .caution_box img.caution {
	margin-right: 5px;
}

/*-- START 所属ツリーボタン --*/
button#searchButton,
button#clearButton,
button#submitButton,
button#closeButton{
	text-align:start;
}
/*-- END 所属ツリーボタン --*/