@charset "utf-8";
/*==================================================================================================
|基本設定
|■ベースカラー：#5cb8b2(グリーン) , #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('https://secure.apap.jp/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('/vc/base/usr/docs/css/fontawesome_ver4.css');
@import url('/vc/base/usr/docs/css/fontawesome_ver5.css');
@import url('https://use.fontawesome.com/releases/v5.8.2/css/all.css');
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome-animation/0.0.10/font-awesome-animation.css');
/* CSS変数設定 */
:root {
	--base_color: #5cb8b2;
	--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: "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 {
	border-top: 4px solid #5cb8b2;
	padding: 0 20px;
}
#fixed_header_replace {
	height: 40px; /* fixed_headerのheight */
}
#fixed_header,
#fixed_header_sp {
	background: #5cb8b2;
	box-shadow: 0 0 8px 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: #5cb8b2;
	border-top: solid 1px #fff;
	padding: 0 20px;
	margin-top: 40px;
	outline: solid 1px #5cb8b2;
	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: #5cb8b2;
	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: #5cb8b2;*/
	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 {
	color: #49938e ;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.2;
}
.header_contents .header_title .site_name {
	color: #49938e ;
	font-size: 24px;
	font-size: 2.4rem;
	font-weight: 600;
	line-height: 1.2;
}
.header_contents .header_navi2 a {
	padding-left: 40px;
	position: relative;
}
.header_contents .header_navi2 a::before {
	content: "\f481"; /* fa-notes-medical */
	color: darkgray;
	font-family: "Font Awesome 5 Free";
	font-size: 14px;
	font-size: 1.4rem;
}
.header_contents .header_search {
	display: flex;
		align-items: center;
		justify-content: flex-end;
	margin-left: auto;
	width: auto;
	height: auto;
}

.header_contents .header_title a:hover {
	opacity: .6;
	text-decoration: none;
}
.header_contents .header_search {
	display: flex;
		align-items: center;
		justify-content: flex-end;
	margin-left: auto;
	width: auto;
	height: auto;
}
/*----------------------------
エクストラメニュー
----------------------------------------------------------*/
.header_contents .header_btn {
	display: flex;
		align-items: center;
		justify-content: flex-end;
	width: auto;
	height: auto;
}
.header_contents .header_btn a:hover {
	text-decoration: none;
	opacity: .6;
}
/* 出張インフルエンザ予防接種ボタン */
a.btn_inful {
	background-color: #f60;
	border: solid 2px #f60;
	border-radius: 4px;
	margin-left: 8px;
	padding: 24px 8px 4px;
	position: relative;
}
a.btn_inful > .title {
	background: #fff;
	border-radius: 2px;
	color: #333;
	display: inline-block;
	font-size: 12px;
	font-size: 1.2rem;
	padding: 0 16px;
	position: absolute;
		top: 2px;
		left: 2px;
	vertical-align: middle;
}
a.btn_inful div {
	color: #fff;
	font-size: 14px;
	font-size: 1.4rem;
}
/* 巡回健診ボタン */
a.btn_junkai {
	background-color: #f60;
	color: #fff;
	padding: 8px 12px;
}
a.btn_junkai {
	border-radius: 4px;
	display: flex;
		align-items: center;
		justify-content: center;
	min-width: 128px;
	position: relative;
	transition: all .2s;
}
a.btn_junkai i {
	margin-right: 4px;
}
/* 深夜業健診ボタン */
a.btn_nightwork {
	background-color: #f60;
	border: solid 2px #f60;
	border-radius: 4px;
	margin-left: 8px;
	padding: 24px 8px 4px;
	position: relative;
	min-width: 230px;
}
a.btn_nightwork > .title {
	background: #fff;
	border-radius: 2px;
	color: #333;
	display: inline-block;
	font-size: 12px;
	font-size: 1.2rem;
	padding: 0 16px;
	position: absolute;
		top: 2px;
		left: 2px;
	vertical-align: middle;
	min-width: 222px;
}
a.btn_nightwork div {
	color: #fff;
	font-size: 14px;
	font-size: 1.4rem;
}
a.btn_nightwork div span {
	font-size: 12px;
	font-size: 1.2rem;
}
/*----------------------------
検索バー
----------------------------------------------------------*/
.search_bar_wrap {
	margin-left: auto;
}
.search_bar {
	display: flex;
	width: 100%;
}
.search_bar 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.cssの指定を上書き */
	margin-bottom: 0; /* base.cssの指定を上書き */
	padding: 0 8px;
	width: 240px;
	height: 38px;
}
.search_bar div:nth-child(2) {
	width: 80px;
}
.search_bar div:nth-child(2) a {
	background: #5cb8b2;
	border-radius: 0 4px 4px 0;
	color: #fff;
	display: block;
	font-size: 14px;
	font-size: 1.4rem;
	height: 38px;
	line-height: 38px;
	text-align: center;
	text-decoration-line: none;
	width:100%;
}
/*----------------------------
カートアイコン（リンクボタン）
----------------------------------------------------------*/
.carticon {
	margin-left: 6px;
}
.carticon a {
	background: #5cb8b2;
	border-radius: 4px;
	display: block;
	height: 38px;
	position: relative;
	width: 40px;
}
.carticon a i {
	font-size: 28px;
	position: absolute;
		top: 6px;
		left: 6px;
	color: #fff;
}
/*----------------------------
件数表示（赤）
----------------------------------------------------------*/
.rndnum {
	border-radius: 50%;
	background-color: #dd4b39;
	color: #fff;
	display: inline-block;
	font-size: 12px;
	line-height: 1.3;
	padding: 2px;
	position: absolute;
		top: -8px;
		right: -8px;
	text-align: center;
	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;
}
.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;
	margin-right: 2em;
	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 .header_btn { /* 検査項目・健診機関情報一覧 */
	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: #5cb8b2;
	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;
}
/*-----------------------------------------------------------------------------
|
|■┓ハンバーガーメニューボタン　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 li {
	list-style-type: none;
	padding: 0;
	height: 72px;
}
#wrap_gnavi > nav#gnavi li a {
	display: block;
	text-decoration: none;
	/*transition: opacity 1.5s ease-out;*/
	width: 251px;
	height: 72px;
}
#wrap_gnavi > nav#gnavi 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 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: #2d61b8;
}
#wrap_gnavi > nav#gnavi li.gnavi_green div:nth-of-type(1) {
	color: #090;
}
#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 a:hover {
	opacity: 0.6;
}
.fixed {
	position: fixed;
		top: 0;
	width: 100%;
	z-index: 10000;
}
.fixed_gnavi {
	position: fixed;
		top: 40px;
	width: 100%;
	z-index: 10000;
}
/*########################################################################################
|
|トップページ（main#main_top）、
|セカンダリページ（main#main , #two_column）共通
|
########################################################################################*/
main#main_top > .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: center;
		justify-content: flex-start;
	margin-bottom: .5em;
	padding-left: .5em;
	position: relative;
}
main#main_top > .contents h1 {
	font-size: 20px;
	font-size: 2.0rem;
	line-height: 1.1;
	margin-bottom: 1em;
	padding: 16px 0 16px .5em;
}
#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;
}
#main_style > h1 span.ic_net_tel {
	border: 1px solid red;
	color: red;
	display: flex;
		align-items: center;
		justify-content: center;
	line-height: 1.0;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 600;
	margin-left: auto;
	padding: 8px 16px;
	position: relative;
	transition: all .2s;
	white-space: nowrap;
}
main#main_top > .contents h1:before ,
#main > .contents #main_style > h1:before {
	content: "";
	position: absolute;
		bottom: 0;
		left: 0;
	width: 5px;
	height: 5px;
	background: #5cb8b2;
}
#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: #5cb8b2 !important;
}
.square_green:before {
	background: #090 !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%;
	z-index: 1;
}
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;
}
#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;
}
/*-------------------
トップページ用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: 0 0 8px 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 > .info ,
main#main_top > .contents > .right_wrap > .banner {
	/*height: 730px;*/
	min-height: 400px;
}
main#main_top > .contents > .left_wrap .info article {
	position: relative;
	/*width: calc(50% - 16px);*/
	width: 100%;
}
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: 250px;*/
	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 .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 > ul > li.chevron_down:before {
	content: "\f078";
}
*/
main#main_top > .contents > .left_wrap .info article.open_close ul dt {
	cursor: pointer;
	color: navy;
	/*color: #03c;*/
	font-weight: 500;
	margin-bottom: .5em;
}
main#main_top > .contents > .left_wrap .info article.open_close ul dd {
	display:none;
	margin: 0 0 1em 0;
	/*margin: .5em 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:first-child > article {
	padding: 0;
}
*/
main#main_top > .contents > .left_wrap .info > article > ul > li > article > h3 {
	/*color: navy;*/
	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;
}

.info_recommend { /* おススメ枠 */
	border: solid 3px tomato;
	border-radius: 8px;
	margin: 2em 0;
	padding: 16px;
	position: relative;
}
.info_recommend > span { /* おススメ枠タイトル */
	background: #fff;
	color: tomato;
	display: inline-block;
	font-weight: bold;
	line-height: 1.0;
	padding: 0 10px;
	position: absolute;
		top: -12px;
		left: 10px;
}

/*-------------------
トップページ用2カラム右コンテンツ囲い（バナーエリア）
--------------------------------------------------*/
main#main_top > .contents > .right_wrap {
	background: #fff;
	background: rgba(255,255,255, 0.6);
	box-shadow: 2px 2px 2px rgba(0,0,0,0.2);
	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;
}
/* exmenu */
main#main_top > .contents > .right_wrap > .exmenu {
	display: flex;
		align-items: flex-start;
		justify-content: center;
	overflow: auto;
	width: 100%;
}
main#main_top > .contents > .right_wrap > .exmenu ul {
	margin: 8px;
	overflow: hidden;
	width: 100%;
}
main#main_top > .contents > .right_wrap > .exmenu ul li {
	font-size: 18px;
	font-size: 1.8rem;
	padding-bottom: 8px;
}
main#main_top > .contents > .right_wrap > .exmenu ul li div {
	font-size: 16px;
	font-size: 1.6rem;
}
main#main_top > .contents > .right_wrap > .exmenu ul li:last-child {
	padding-bottom: 0;
}
main#main_top > .contents > .right_wrap > .exmenu ul li a:hover {
	opacity: .6;
	text-decoration: none;
}
/* 追加契約医療機関ボタン */
a.btn_addition {
background-color: #fff;
	border-radius: 4px;
	border: 2px solid #f60;
	color: #f60;
	display: flex;
		align-items: center;
		flex-direction: column;
		justify-content: center;
	font-size: 18px;
	font-size: 1.8rem;
	min-width: 128px;
	padding: 12px 8px;
	text-align: center;
	width: 100%;
	height:80px
}
a.btn_addition span {
	font-size: 14px;
	font-size: 1.4rem;
}
/*-------------------
トップページ用1カラム
--------------------------------------------------*/
main#main_top > .contents > .bottom_wrap {
	background: #fff;
	box-shadow: 2px 2px 2px rgba(0,0,0,0.2);
	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 {
	background-color: #5cb8b2;
	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: #2d61b8;
}
#main > .contents #main_style > h2 span {
	font-size: 14px;
	font-size: 1.4rem;
}
#main > .contents #main_style > h3 {
	border-bottom: solid 3px #cee9e7;
	font-size: 20px;
	font-size: 2.0rem;
	margin: 56px 0 .5em;
	padding: 8px 0;
	position: relative;
}
#main > .contents #main_style > h3:after {
	border-bottom: solid 3px #5cb8b2;
	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: #fdfdfd;
}
#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: #5cb8b2;
}
#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;
}
/*-----------------------------------------------------------------------------
|
|■┓申込完了までの流れ
|┗┛
-----------------------------------------------------------------------------*/
#reservation_nav {
	margin: 1em auto;
	width: 1000px;
}
#reservation_nav ul {
	display: flex;
	justify-content: space-between;
}
#reservation_nav ul li {
	border-top: 2px solid #8a8a8a;
	border-bottom: 2px solid #8a8a8a;
	color: #8a8a8a;
	/*
	display: block;
	*/
	display: flex;
		align-items: center;
		justify-content: center;
	flex: 1 1 20%;
	font-size: 13px;
	font-size: 1.3rem;
	height: 44px;
	line-height: 1.2;
	margin-right: 12px;
	/*
	padding-top: 12px;
	*/
	padding: 8px 0 8px 320px;
	
	position: relative;
	text-align: center;
	white-space: nowrap;
}
#reservation_nav ul li::before,
#reservation_nav ul li::after {
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: 12px 44px;
	content: "";
	display: block;
	height: 44px;
	position: absolute;
	top: -2px;
	width: 12px;
}
#reservation_nav ul li::before {
	background-image: url(https://secure.apap.jp/vc/base/usr/apply/images/nav_left.svg);
	left: -2px;
}
#reservation_nav ul li::after {
	background-image: url(https://secure.apap.jp/vc/base/usr/apply/images/nav_right.svg);
	left: calc(100% - 1px);
}
#reservation_nav ul li:not(:first-child) {
	padding-left: 12px;
}
/* 今の場所（.current）終わった場所（.finish） */
#reservation_nav ul li.current,
#reservation_nav ul li.finish {
	border-color: #f60;
	color: #f60;
}
#reservation_nav ul li.current::before,
#reservation_nav ul li.finish::before {
	background-image: url(https://secure.apap.jp/vc/base/usr/apply/images/nav_left_fin.svg);
}
#reservation_nav ul li.current::after,
#reservation_nav ul li.finish::after {
	background-image: url(https://secure.apap.jp/vc/base/usr/apply/images/nav_right_fin.svg);
}
#reservation_nav ul li:first-child {
	border-left: 2px solid #f60;
	border-radius: 2px 0 0 2px;
	padding-right: 4px;
	padding-left: 4px;
}
#reservation_nav ul li:first-child::before {
	display: none;
}
/*-----------------------------------------------------------------------------
|
|■┓ご利用方法
|┗┛
-----------------------------------------------------------------------------*/
.howtouse {
	display: flex;
		justify-content: space-between;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.4;
}
.howtouse > div {
	border: 2px solid #fff;
	outline: solid 1px #ccc;
	padding: 16px;
	width: calc(50% - 8px);
}
.howtouse > div > h2 {
	border-bottom: 1px solid #333;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 500;
	margin-bottom: .5em;
	padding: 16px 0;
	text-align: center;
}
.howtouse > div .howtouse_text {
	height: 280px;
}
.howtouse > div .howtouse_text dl {
	margin-top: 2em;
	margin-bottom: 1em;
}
.howtouse > div .howtouse_text dt {
	font-weight: bold;
	margin-bottom: .5em;
}
.howtouse > div .howtouse_text dl > dt::before {
	content: "\f054";
	font-family: FontAwesome;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: normal;
	margin-right: 4px;
}
.howtouse > div .howtouse_flow {
	background: #fff;
	border: 1px solid #ddd;
	padding: 16px;
/*	height: 380px;*/
	height: 440px;
}
.howtouse > div:nth-of-type(1) .howtouse_flow h3 {
	border-bottom: solid 3px #fff2eb;
	font-weight: 500;
	margin-bottom: .5em;
	padding: 8px 0;
	position: relative;
}
.howtouse > div:nth-of-type(1) .howtouse_flow h3:after {
	border-bottom: solid 3px #f60;
	bottom: -3px;
	content: " ";
	display: block;
	position: absolute;
	width: 20%;
}
.howtouse > div:nth-of-type(2) .howtouse_flow h3 {
	border-bottom: solid 3px #eef2f9;
	font-weight: 500;
	margin-bottom: .5em;
	padding: 8px 0;
	position: relative;
}
.howtouse > div:nth-of-type(2) .howtouse_flow h3:after {
	border-bottom: solid 3px #2d61b8;
	bottom: -3px;
	content: " ";
	display: block;
	position: absolute;
	width: 20%;
}
.howtouse > div > .howtouse_flow h3 span {
	font-size: 12px;
	font-size: 1.2rem;
}
.howtouse > div:nth-of-type(1) {
	background: #fff2eb;
	border-right: 0;
}
.howtouse > div:nth-of-type(2) {
	background: #eef2f9;
}
.howtouse ol li ,
.application_flow ol li {
	margin-left: 1.5em;
	padding-bottom: .5em;
}
.application_flow ol li {
	font-weight: 600;
}
.application_flow ol li div {
	font-weight: 300;
	margin-bottom: .5em;
}
.application_flow h3 {
	/*
	background: #f0fff0;
	*/
	counter-increment: number;
	display: flex;
		align-items: center;
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 1.2;
	margin-bottom: .5em;
}
.application_flow h3 span {
	/*
	background: #009a22;
	border: 1px solid #009a22;
	*/
	border-radius: 4px;
	color: #fff;
	display: flex;
		align-items: center;
		justify-content: center;
		flex-shrink: 0;/*正方形の幅が縮むのを防ぐため*/
	margin-right: 12px;
	width: 32px;
	height: 32px;
	text-align: center;
	vertical-align: middle;
}
.application_flow h3 span::before {
	content: counter(number);
}
.application_flow:nth-of-type(1) h3 {/* 予約する */
	background: #fff2eb;
}
.application_flow:nth-of-type(1) h3 span {
	background: #f60;
	border: 1px solid #f60;
}
.application_flow:nth-of-type(2) h3 {/* 申請する */
	background: #eef2f9;
}
.application_flow:nth-of-type(2) h3 span {
	background: #2d61b8;
	border: 1px solid #2d61b8;
}
.application_flow h3+div {
	display: flex;
	margin-bottom: 2em;
	margin-left: 44px;
}
.application_flow h3+div div:nth-of-type(1) {
	margin-right: 1em;
	width: 65%;
}
.application_flow h3+div div:nth-of-type(2) {
	width: 35%;
}
.application_flow h3+div div:nth-of-type(2) img {
	border: 1px solid #ccc;
}
ul.normal.htu_ul {
	margin: 16px 8px;
}
ul.normal.htu_ul li {
	line-height: 1.2;
}
ul.normal.htu_ul li:nth-of-type(1) {
	padding-bottom: 16px;
}
ul.normal.htu_ul li::before ,
ul.normal.htu_ul li a::before {
		top: 4px;
}

/*-----------------------------------------------------------------------------
|
|■┓健康診断について
|┗┛
-----------------------------------------------------------------------------*/
/*タブ切り替え全体のスタイル*/
.aboutCheckup_tabs {
	background: #fff;
	margin-bottom: 1em;
	width: 100%;
}
/*タブのスタイル*/
.aboutCheckup_tab_item {
	background-color: #d9d9d9;
	border-bottom: 3px solid #5cb8b2;
	color: #565656;
	display: block;
	float: left;
	font-weight: bold;
	text-align: center;
	transition: all 0.2s ease;
	width: calc(100%/2);
}
.aboutCheckup_tab_item:hover {
	opacity: 0.6;
}
input[name="aboutCheckup_tab_item"] + label {
	margin: 0 !important; /* デフォルトinput設定をリセット */
	padding: 16px;
}
input[name="aboutCheckup_tab_item"] + label::before,
input[name="aboutCheckup_tab_item"] + label::after {
	display: none;
}
/*タブ切り替えの中身のスタイル*/
.aboutCheckup_tab_content {
	border: 1px solid #5cb8b2;
	clear: both;
	display: none;
	padding: 16px 40px;
	overflow: hidden;
}
/*選択されているタブのコンテンツのみを表示*/
#pstaff:checked ~ #pstaff_content,
#tstaff:checked ~ #tstaff_content {
	display: block;
	position: relative;
}
#pstaff:checked ~ #pstaff_content::before ,
#tstaff:checked ~ #tstaff_content::before {
	border-style: solid;
	border-color: #5cb8b2 transparent transparent transparent;
	border-width: 16px 16px 0 16px;
	content: "";
	position: absolute;
		top: -8px;
		left: calc(25% - 16px);
}
#tstaff:checked ~ #tstaff_content::before {
		left: calc(75% - 16px);
}
/*選択されているタブのスタイルを変える*/
.aboutCheckup_tabs input:checked + .aboutCheckup_tab_item {
	background-color: #5cb8b2;
	color: #fff;
}
.aboutCheckup_tab_content > .tbl_scroll {
	margin-bottom: 0 !important;
}
table.normal.aboutCheckup th {
	white-space: normal;
}
table.normal.aboutCheckup td {
	vertical-align: middle;
}
table.normal.aboutCheckup td span {
	font-size: 14px;
	font-size: 1.4rem;
}
table.normal.aboutCheckup_tab th {
	font-size: 12px;
	font-size: 1.2rem;
	white-space: nowrap;
}
table.normal.aboutCheckup_tab td {
	text-align: center;
	vertical-align: middle;
}
table.normal.aboutCheckup_tab td:nth-of-type(1) {
	white-space: nowrap;
}
table.normal.aboutCheckup_tab td:nth-of-type(2) {
	white-space: nowrap;
}
table.normal.aboutCheckup_tab td:nth-of-type(4) {
	max-width: 400px;
	min-width: 200px;
}
table.normal.aboutCheckup_tab td .tab_notes {
	color: red;
	font-size: 12px;
	font-size: 1.2rem;
}
/*-----------------------------------------------------------------------------
■┓サイトマップ
┗┛
-----------------------------------------------------------------------------*/
#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;
}
/*-----------------------------------------------------------------------------
|
|■┓健診内容選択（健診機関）
|┗┛
-----------------------------------------------------------------------------*/
table.normal.resultList {
	width: 100%;
}
table.normal.resultList th {
	background: #7f7f7f;
	font-size: 14px;
	font-size: 1.4rem;
	white-space: nowrap;
}
table.normal.resultList th:nth-of-type(1) span {
	font-size: 11px;
	font-size: 1.1rem;
}
table.normal.resultList td:nth-of-type(1) a {
	color: #000;
	font-weight: 500;
}
table.normal.resultList tr:nth-child(2n) {
	background: #f0fff0;
}
table.normal.resultList td:nth-of-type(2) div:nth-of-type(1) { /* 住所 */
	line-height: 1.2;
	margin-bottom: .5em;
}
table.normal.resultList td:nth-of-type(2) div:nth-of-type(2) { /* TEL */
	white-space: nowrap;
}
table.normal.resultList td:nth-of-type(3),
table.normal.resultList td:nth-of-type(4) {
	text-align: center;
	vertical-align: middle;
}
table.normal.searchClinic {
	width: 100%;
}
table.normal.searchClinic th {
	white-space: nowrap;
}
table.normal.searchClinic td ul li {
	display: inline-block;
	margin-right: .5em;
}
.search_clinic_name {
	width: 100%;
}



.tbl_headline {
	display: flex;
		align-items: center;
		justify-content: flex-start;
	margin: 80px 0 8px 0;
}
.tbl_headline h3 {
	display: inline-block !important;
	font-size: 24px;
	font-size: 2.4rem;
	font-weight: normal;
	margin-right: 32px;
	position: relative;
	white-space: nowrap;
}
.tbl_headline a {
	background: #fff;
	border: 1px solid #333;
	border-radius: 4px;
	color: #333;
	font-size: 14px;
	font-size: 1.4rem;
	padding: 4px 8px;
	position: relative;
	text-align: center;
}
.tbl_headline h3 i,
.tbl_headline a i,
.tbl_navi a i {
	margin-right: 4px;
}
.tbl_headline a:hover,
.tbl_navi a:hover {
	cursor: pointer;
	opacity: .6;
	text-decoration: none;
}
.tbl_navi {
	margin-top: 16px;
	text-align: right;
}
.tbl_navi a {
	background: #fff;
	border: 1px solid #333;
	border-radius: 4px;
	color: #333;
	font-size: 14px;
	font-size: 1.4rem;
	padding: 4px 8px;
	position: relative;
	text-align: center;
}



/*-----------------------------------------------------------------------------
|
|■┓健診機関情報
|┗┛
-----------------------------------------------------------------------------*/
ul.medinst {
	margin: 1em 0 3em 0;
}
ul.medinst li {
	font-size: 18px;
	font-size: 1.8rem;
	margin: .5em 0 .5em;
	padding-left: 16px;
	position: relative;
}
ul.medinst > li::before {
	content: "\f054";
	font-family: FontAwesome;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: normal;
	position: absolute;
		top: 6px;
		left: 0;
}
ul.medinst li span {
	font-size: 14px;
	font-size: 1.4rem;
}
ul.medinst li:nth-of-type(1) a:first-child:after {
/*	content: "\f1c1";*/ /* fa-file-pdf */
/*	color: #f00;
	font-family: FontAwesome;
	font-size: 12px;
	font-size: 1.2rem;
	margin-left: 2px;*/
}
ul.medinst li:nth-of-type(2) a:first-child:after {
/*	content: "\f1c3";*/ /* fa-file-excel */
/*	color: green;
	font-family: FontAwesome;
	font-size: 12px;
	font-size: 1.2rem;
	margin-left: 2px;*/
}
.pdf_notes {
	background: #f5f5f5;
	border-radius: 16px;
	font-size: 14px;
	font-size: 1.4rem;
	padding: 16px;
}
/*-----------------------------------------------------------------------------
|
|■┓健診内容選択（健診コース）
|┗┛
-----------------------------------------------------------------------------*/
.course_decided {
	background: repeating-linear-gradient(-45deg, #ddffbc, #ddffbc 2px, #f4ffea 0, #f4ffea 4px);
	border: 1px solid #ccc;
	margin: 0 0 32px 0;
	padding: 24px 32px 32px 32px;
}
.course_decided > div {
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 500;
}
table.normal.course_decided {
	/*margin: 40px 0;*/
	margin: 8px 0 0 0;
}
table.normal.course_decided th {
	/*background: #009a22;*/
	background: #7f7f7f;
	color: #fff;
	white-space: nowrap;
}
table.normal.course_decided td {
	background: #fff;
	font-size: 18px;
	font-size: 1.8rem;
}
table.normal.course_decided td div {
	font-size: 14px;
	font-size: 1.4rem;
}
table.normal.course_decided td div:first-child {
	margin-top: .5em;
}
table.normal.course_decided span.tel {
	display: inline-block;
	font-size: 13px;
	font-size: 1.3rem;
}
table.normal.checkupMenu {
	background: #fff;
	line-height: 1.4;
	margin-bottom: 0;
	width: 100%;
}
table.normal.checkupMenu th {
	background: #efefef;
	border: 1px solid #ccc;
	color: #333;
	font-size: 14px;
	font-size: 1.4rem;
	vertical-align: middle;
	white-space: nowrap;
}
table.normal.checkupMenu thead th:nth-child(1) {
	border-left: 1px solid #ccc;
}
table.normal.checkupMenu thead th:nth-last-child(1) {
	border-right: 1px solid #ccc;
}
table.normal.checkupMenu td {
	vertical-align: top;
}
table.normal.checkupMenu td.cost {
	text-align: right;
	vertical-align: middle;
}
table.normal.checkupMenu td.time {
	text-align: center;
	vertical-align: middle;
	white-space: nowrap;
}
table.normal.checkupMenu td:first-child {
	vertical-align: middle;
}
table.normal.checkupMenu td:first-child , 
table.normal.checkupMenu td:last-child {
	min-width: 320px;
}
table.normal.checkupMenu td:last-child {
	font-size: 14px;
	font-size: 1.4rem;
}
ul.normal.optionMenu{
	margin: .5em 0 0 .5em;
}
ul.normal.optionMenu li {
	padding-left: 14px;
	position: relative;
}
ul.normal.optionMenu li::before {
	content: "\f055"; /* fa-caret-right */
	font-family: FontAwesome;
	font-size: 13px;
	font-size: 1.3rem;
	position: absolute;
		top: 5px;
		left: 0;
}
.ic_payment_description {
	display: flex;
		align-items: flex-start;
		justify-content: flex-start;
	padding: 16px 16px 8px 16px;
}
.ic_payment_description ul {
	display: flex;
		align-items: center;
		justify-content: flex-start;
}
.ic_payment_description ul li {
	display: flex;
		align-items: center;
		justify-content: flex-start;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.0;
	margin-right: 1.0em;
}
.ic_payment_description ul li span {
	line-height: 1.6;
	margin-right: .2em;
}
.ic_book {
	background: #f60;
}
.ic_apply {
	background: #f67b7b;
	width: 100%;
}
.ic_book ,
.ic_apply {
	border-radius: 3px;
	color: #fff;
	display: inline-block;
	font-size: 14px;
	font-size: 1.4rem;
	padding: 8px 16px;
	text-align: center;
	white-space: nowrap;
}
.ic_book:hover ,
.ic_apply:hover {
	opacity: .6;
}
.ic_payment {
	background: #999;
	border-radius: 3px;
	color: #fff;
	display: inline-block;
	font-size: 14px;
	font-size: 1.4rem;
	text-align: center;
	min-width: 24px;
	height: 24px;
}
.ic_payment.hei {
	background: green;
}
.ic_payment.po {
	background: orangered;
}
.ic_payment.gen {
	background: navy;
}
.datepicker_yyyymmdd {
	position: relative;
}
.datepicker_yyyymmdd input {
	width: 160px;
}
.datepicker_yyyymmdd img {
	margin: 0 !important;
	margin-left: .5em !important;
	
	position: absolute;
		top: 10px;
}
.datepicker_yyyymmdd img:hover {
	cursor: pointer;
}
section.course_select {
	background: #fff2eb;
	border: 1px solid #ccc;
	margin-bottom: 32px;
	padding: 32px;
}
section.course_select.apply {
	background: #eef2f9;
}
section.course_select h3 {
	border-bottom: 1px solid #333;
	font-size: 20px;
	font-size: 2.0rem;
	font-weight: 600;
	padding-bottom: 8px;
}
/*-----------------------------------------------------------------------------
|
|■┓健診内容選択（受診希望日）
|┗┛
-----------------------------------------------------------------------------*/
#calendar {
	/*
	background: #f4ffea;
	border: 1px solid #ccc;
	*/
	padding: 32px 32px 32px 0;
}
#calendar .calendar_header {
	display: flex;
		align-items: center;
		flex-flow: wrap;
		justify-content: space-between;
}
#calendar .calendar_header a {
	display: flex;
	color: #333;
	text-decoration: none;
}
#calendar .calendar_header a:hover {
	opacity: .6;
}
#calendar .calendar_header a.prev_month::before ,
#calendar .calendar_header a.next_month::after {
	color: #000;
	font-family: FontAwesome;
}
#calendar .calendar_header a.prev_month::before {
	content: "\f100";
	margin-right: 2px;
}
#calendar .calendar_header a.next_month::after {
	content: "\f101";
	margin-left: 2px;
}
#calendar .calendar_header .unavailable {
	color: #ccc;
}


#calendar .calendar_header div.yyyymm {
	font-size: 20px;
	font-size: 2.0rem;
	font-weight: 500;
	margin-bottom: .5em;
	text-align: center;
}
#calendar table {
	border-collapse: collapse;
	border-spacing: 0;
	margin-bottom: 1em;
	width: 100%;
}
#calendar table th , #calendar table td {
	background: #fff;
	border: 1px solid #ccc;
	padding: 8px ;
	width: 14.28%;
}
#calendar table th {
	background: #efefef;
}
#calendar table th.sat {
	background: #e0ffff;
}
#calendar table th.sun {
	background: #ffe4e1;
}
#calendar table td.holiday {
	background: #ffe4e1;
}
#calendar table td .ok ,
#calendar table td .ng ,
#calendar table td .past {
	border-radius: 4px;
	display: flex;
		align-items: center;
		justify-content: center;
	font-size: 22px;
	font-size: 2.2rem;
	line-height: 1.0;
	margin: 4px 0;
	padding: 8px;
	transition: all .2s;
}
#calendar table td .ok {
	background: #f60;
	color: #fff;
}
#calendar table td .ok:hover {
	opacity: .6;
}
#calendar table td .ng {
	background: #ddd;
}
#calendar table td .past {
	background: #fff;
}
#calendar table td a:hover {
	opacity: .6;
	text-decoration: none;
}
/*----------------------------
予約日選択
----------------------------------------------------------*/
.oice {
	margin-left: 26px;
}
/*-----------------------------------------------------------------------------
|
|■┓健診内容選択（受診希望時間）
|┗┛
-----------------------------------------------------------------------------*/
ul.reservationTime {
	margin: 1em 0 3em 0;
}
ul.reservationTime li {
	font-size: 18px;
	font-size: 1.8rem;
	margin: .5em 0 .5em;
}
/*-----------------------------------------------------------------------------
|
|■┓ご連絡先・支払方法入力
|┗┛
-----------------------------------------------------------------------------*/
.personal_zip {
	margin: 0 8px;
	width: 100px;
}
.personal_tel {
	width: 100%;
}
.personal_address {
	width: 100%;
}
.personal_email {
	width: 100%;
}
table.normal.applyFormForInet {
	width: 100%;
}
table.normal.applyFormForInet th {
	text-align: right;
	width: 320px;
}
table.normal.applyFormForInet td span {
	font-size: 13px;
	font-size: 1.3rem;
}
table.normal.applyFormForInet2 {
	margin-bottom: 0;
	width: 100%;
}
table.normal.applyFormForInet2 th {
	background: #f0fff0;
	text-align: left;
	white-space: nowrap;
	width: 100px;
}
a.get_address { /* 住所検索ボタン */
	background: #fbfaf4;
	background: -webkit-gradient(linear, left top, left bottom, from(#fbfaf4), to(#ece8e6));
	background: -moz-linear-gradient(top, #fbfaf4, #ece8e6);
	background: -o-linear-gradient(top, #fbfaf4, #ece8e6);
	background: -ms-linear-gradient(top, #fbfaf4, #ece8e6);
	background: linear-gradient(to bottom, #fbfaf4, #ece8e6);
	
	border: 1px solid #dcd9d8;
	border-bottom: 1px solid #c1c1bd;
	box-shadow:  0 0 1px #c7c5c1;
		-webkit-box-shadow:  0 0 1px #c7c5c1;
		-moz-box-shadow:  0 0 1px #c7c5c1;
	
	border-radius: 5px;
		-webkit-border-radius: 5px; 
		-moz-border-radius: 5px;
	
	transition: 0.3s;
		-webkit-transition: 0.3s;
		-moz-transition: 0.3s;
		-o-transition: 0.3s;
		-ms-transition: 0.3s;
	
	color: #333;
	cursor: pointer;
	
	font-size: 14px;
	font-size: 1.4rem;
	margin: 0 4px;
	padding: 4px 8px;
	
	text-decoration: none;
	
}
a.get_address:hover {
	opacity: .6;
}
.total_cost {
	border-bottom: 3px double #333;
	display: inline-block;
	margin-bottom: 1em;
	padding: 8px;
}
.total_cost span {
	font-size: 20px;
	font-size: 2.0rem;
}
table.normal.payment_type th {
	background: #666;
	background: #efefef;
	border: 1px solid #ccc;
	color: #333;
	font-size: 14px;
	font-size: 1.4rem;
}
table.normal.payment_type thead th:nth-child(1) {
	border-left: 1px solid #ccc;
}
table.normal.payment_type thead th:nth-last-child(1) {
	border-right: 1px solid #ccc;
}
table.normal.payment_type td {
	white-space: nowrap;
}
table.normal.payment_type tbody td:nth-child(2) {
	text-align: right;
	vertical-align: middle;
}
table.normal.payment_type tbody tr:nth-of-type(2) td ,
table.normal.payment_type tbody tr:nth-of-type(3) td {
	border-top: 0;
	border-bottom: 0;
}
table.normal.payment_type td .payment_portion_point {
	margin-right: 4px;
	width: 100px;
}
/*-----------------------------------------------------------------------------
|
|■┓申込内容確認
|┗┛
-----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
|
|■┓アンケート（生活習慣についての質問）
|┗┛
-----------------------------------------------------------------------------*/
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: #f0fff0;
}
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;*/
}
/*-----------------------------------------------------------------------------
|
|■┓申込履歴
|┗┛
-----------------------------------------------------------------------------*/
table.normal.applicationHistory {
	width: 100%;
}
table.normal.applicationHistory tbody th {
	font-size: 12px;
	font-size: 1.2rem;
	text-align: center;
	white-space: nowrap;
}
table.normal.applicationHistory tbody td {
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.2;
	vertical-align: middle;
	word-wrap: break-word;
}
table.normal.applicationHistory tbody td.history_approval,/* 承認番号 */
table.normal.applicationHistory tbody td.history_clinic, /* 健診機関名 */
table.normal.applicationHistory tbody td.history_course, /* 健診コース名 */
table.normal.applicationHistory tbody td.history_yoteibi, /* 利用予定日 */
table.normal.applicationHistory tbody td.history_status, /* 状態 */
table.normal.applicationHistory tbody td.history_kiboubi{ /* 第一希望日 */
	font-size: 12px;
	font-size: 1.2rem;
}
table.normal.applicationHistory tbody td.history_user { /* 利用者氏名 */
	min-width: 120px;
}
table.normal.applicationHistory tbody td.history_price { /* 本人負担額 */
	text-align: right;
}
table.normal.applicationHistory tbody td.history_yoteibi { /* 利用予定日 */
	text-align: center;
}
table.normal.applicationHistory tbody td.history_status { /* 状態 */
	line-height: 1.2;
	text-align: center;
	white-space: nowrap;
}
table.normal.applicationHistory tbody td.history_update { /* 更新 */
	line-height: 1.3;
}
table.normal.applicationHistory tbody td.history_update a + a{
	margin-top: 8px;
}

/* 申込履歴 - 利用予定日変更・キャンセルボタン */
a.btn_update {
	background: #f60;
	color: #fff !important;
	border-radius: 4px;
	display: flex;
		align-items: center;
		justify-content: center;
	max-width: 80px;
		margin-bottom: 4px;
	padding: 6px;
	transition: all .2s;
}
a.btn_update span {
	display: block;
	font-size: 12px;
	font-size: 1.2rem;
	text-align: center;
	white-space: nowrap;
}
a.btn_update:hover {
	opacity: 0.6;
	text-decoration: none !important;
}

/*-----------------------------------------------------------------------------
|
|■┓東京都地域一覧
|┗┛
-----------------------------------------------------------------------------*/
table.normal.tokyo23 th {
	text-align: right;
}
table.normal.tokyo23 td ul li {
	display: inline-block;
	margin-right: 16px;
}
/*-----------------------------------------------------------------------------
|
|■┓ユーザ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;
}
/*########################################################################################
|
|サイト共通スタイルまとめ
|
########################################################################################*/
.lh1 {
	line-height: 1.0;
}
.lh1_2 {
	line-height: 1.2;
}
.fixed {
	position: fixed !important;
		top: 0;
	width: 100%;
	z-index: 10000;
}
a.ic_pdf::after,
a[href$=".pdf"]:after {
	content: "\f1c1"; /* fa-file-pdf */
	color: #f00;
	font-family: FontAwesome;
	font-size: 12px;
	font-size: 1.2rem;
	margin-left: 2px;
}
a.ic_xlsx::after,	
a[href$=".xlsx"]:after {
	content: "\f1c3"; /* fa-file-excel */
	color: green;
	font-family: FontAwesome;
	font-size: 12px;
	font-size: 1.2rem;
	margin-left: 2px;
}
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 li div {
	font-weight: 300;
	margin-bottom: .5em;
}
/*-----------------------------------------------------------------------------
|
|■┓ご注意スタイル
|┗┛
-----------------------------------------------------------------------------*/
.notes {
	background: #fff0f5;
	border: 1px solid #f08080;
	border-radius: 10px;
	display: inline-block;
	margin-bottom: 1em;
	padding: 16px;
}
.notes > .title {
	border-bottom: 1px solid #f08080;
	color: #f00;
	font-weight: 500;
	margin-bottom: 4px;
	padding: 0 4px 4px 0;
}
.notes > .title i {
	margin-right: 4px;
}
.notes > .contents *:last-child {
	margin-bottom: 0 !important;
}
.notes > .contents dt {
	font-weight: 600;
}
.notes > .contents dd {
	margin-bottom: 16px;
}
/*----------------------------
グレーのご注意
----------------------------------------------------------*/
.notes.gray {
	background: #f6f6f6;
	border-color: #ccc;
}
/*-----------------------------------------------------------------------------
|
|■┓画像自動縮小
|┗┛
-----------------------------------------------------------------------------*/
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_holiday,
.icon_hotei,
.icon_male,
.icon_female,
.icon_phone_only,
.icon_no_reservation {
	border-radius: 3px;
	display: inline-block;
	font-size: 9px;
	font-size: .9rem;
	font-weight: 500;
	line-height: 1.0;
	margin-right: 2px;
	padding: 4px;
}
.icon_new {
	background: tomato;
	color: #fff;
}
.icon_camp {
	background: red;
	color: #fff;
}
.icon_net {
	background: tomato;
	color: #fff;
}
.icon_holiday {
	background: #dc143c;
	color: #fff;
}
.icon_hotei {
	background: #000080;
	color: #fff;
}
.icon_male {
	background: white;
	border: 1px solid #0000cd;
	color: #0000cd;
}
.icon_female {
	background: white;
	border: 1px solid #f08080;
	color: #f08080;
}
.icon_phone_only {
	background: #2d61b8;
	color: #fff;
}/* 予約枠なし 電話のみ */
.icon_no_reservation {
	background: #7f7f7f;
	color: #fff;
}/* 予約枠なし */

/*-----------------------------------------------------------------------------
|
|■┓ページのトップへ
|┗┛
-----------------------------------------------------------------------------*/
.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);
	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: 0.8em;
	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;
		/*justify-content: space-between;*/
		flex-wrap: wrap;
	margin-top: 48px;
	text-align: center;
	width: calc(50% + 128px);
}
.submit_area .btn_submit {
	margin-left: auto;
}
.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_back {
	min-width: 128px;
}
a.btn_submit span,
a.btn_back span {
	display: block;
	line-height: 1.0;
}
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 {
	background-color: #f60;
	color: #fff !important;
	padding: 18px 12px;
}
a.btn_submit span {
	margin-left: 24px;
}
a.btn_submit span::before { /* カートページのa.btn_submitはテキストが2行の場合もあるのでspanのbeforeでアイコンを挿入 */
	background: url(https://secure.apap.jp/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 {
	background: #ddd;
	color: #000 !important;
	font-size: 14px;
	font-size: 1.4rem;
	padding: 10px 12px;
}
a.btn_back span {
	margin-left: 16px;
}
a.btn_back span::before { /* カートページのa.btn_backはテキストが2行の場合もあるのでspanのbeforeでアイコンを挿入 */
	background: url(https://secure.apap.jp/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_submit:hover,
a.btn_back:hover {
	opacity: 0.6;
	text-decoration: none !important;
}
/*------------------------------------
｜
｜追加css
------------------------------------*/
.language {
	display: flex;
		align-items: center;
		justify-content: center;
	margin: 2em 0 0;
	width: 100%;
}
a.btn_lang {
	border: 1px solid #fff;
	border-radius: 4px;
	color: #fff;
	display: inline-block;
	padding: 6px 18px;
	position: relative;
	text-decoration: none;
	-webkit-transform: perspective(1px) translateZ(0);
	transform: perspective(1px) translateZ(0);
	-webkit-transition-property: color;
	transition-property: color;
	-webkit-transition-duration: 0.3s;
	transition-duration: 0.3s;
}
a.btn_lang::before {
	background: #fff;
	content: "";
	position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	-webkit-transform-origin: 0 50%;
	transform-origin: 0 50%;
	-webkit-transition-property: transform;
	transition-property: transform;
	-webkit-transition-duration: 0.3s;
	transition-duration: 0.3s;
	-webkit-transition-timing-function: ease-out;
	transition-timing-function: ease-out;
	z-index: -1;
}
a.btn_lang:hover {
	color: #5cb8b2;
}
a.btn_lang:hover::before {
	-webkit-transform: scaleX(1);
	transform: scaleX(1);
}
a.btn_lang span {
	padding-left: 24px;
	position: relative;
}
a.btn_lang span::before {
	content: "\f0ac"; /* fa-globe */
	font-family: FontAwesome;
	font-size: 16px;
	font-size: 1.6rem;
	position: absolute;
		top: 0;
		left: 0;
}
a.arrow_link {
	font-size: 18px;
	font-size: 1.8rem;
}
a.arrow_link::before {
	color: #000;
	content: "\f054";
	display: inline-block;
	font-family: FontAwesome;
	font-size: 12px;
	font-size: 1.2rem;
	margin-right: 8px;
	vertical-align: 2px;
}

/*-------------------
G245 TOPページよりFAQ各部分に飛ばす
--------------------------------------------------*/
#q16 {
	display:block;
	margin-top: -50px;
	padding-top: 50px;
}

