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

基本設定

■ベースカラー：#99d7db, #707070(text), #f8f8f0(bg_ブルーグレー), #99d7db(border_薄茶), #99d7db(.point_ttl前の●薄青), #99d7db(.point_ttl.even 偶数のとき薄オレンジ)
								#ecf6ed(point_bg), #99d7db(point内ul li のbd)
■コンテンツ横幅：950px

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

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

■ヘッダー、フッダー各二種類あり
　header.jsp：グロナビありフルバーション
　header_s.jsp：グロナビなし簡易バーション
　footer.jsp：ナビありフルバーション
　footer_s.jsp：ナビなし簡易バーション

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

/*ブラウザのデフォルトスタイルをリセット*/
@import url('https://secure.apap.jp/vc/base/usr/docs/css/html5reset-1.6.1.css');
/* 共通class */
@import url('https://secure.apap.jp/vc/base/usr/docs/css/common.css');
/* Google Fonts読み込み */
@import url('/share/fonts/notosans/css/font.css');
@import url('/share/fonts/m_plus_1p/css/font.css');
/* Icon Fonts読み込み */
@import url('/share/fonts/fontawesome/css/fontawesome_ver4.css');
@import url('/share/fonts/fontawesome/css/fontawesome_ver5.css');
/* 約物半角専用フォント読み込み */
@import url('/share/fonts/yakuhanjp-master/css/yakuhanjp.min.css');
/* スクロールヒント読み込み */
@import url('https://secure.apap.jp/vc/base/usr/docs/css/scroll-hint.css');

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

▼サイトの構造
.container
┗#left_container
	┗ #gray_panel（panel_menu表示時の背景グレーアウト用）
	┗ header
		┗.contents_wrap
			┗h1
		┗#panel_menu（pad/sp用）
		┗#panel_contents
			┗nav
				┗ul
			┗.nav02
┗#right_container
	（トップページ用）
	┗ .bnr_slider_area
		┗.bnr_slider
	┗ main#main_top
		（ブラウザ幅いっぱい・波背景）
		┗.contents_wrap.full.wave
			┗nav.main_nav
				┗ul
		（ブラウザ幅いっぱい背景）
		┗.contents_wrap.full
			┗.news
	（セカンダリページ用）
	┗ main#main
		┗.contents_wrap
			┗.breadcrumbs
			┗.contents
				（ブラウザ幅いっぱい・波背景）
				┗.contents_wrap.full.wave
					┗.ttl_wrap
				（ブラウザ幅いっぱい背景・高さ調整）
				┗.contents_wrap.full.full_height
					┗.wrap_content_section
						┗.content_section
					(背景白の時はこちら)
					┗.wrap_content_section_w
						┗.content_section_w
		┗ #footer
			┗footer
				┗small
		┗ .page_top
==================================================================================================*/

/*-----------------------------------------------------------------------------
■┓基本設定
┗┛
-----------------------------------------------------------------------------*/
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
/* html5用 */
article,aside,canvas,details,figcaption,figure,
header,footer,main,menu,nav,section,summary {
	display: block;
}
html {
	font-size: 62.5%; /* sets the base font to 10px for eaiser math */
	overflow-x: auto;
}
body {
	background: #fff;
	color: #707070;
	font-family: YakuHanJP, Arial, "Noto Sans Japanese", Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif !important;
	font-size: 14px;
	font-size: 1.4rem;
	letter-spacing: 0.05em;
	line-height: 1.8;
	overflow-x: hidden;
}
p {
	margin-bottom: 1em;
}
br {
	letter-spacing: normal;
}
label {
	cursor: pointer;
}
img {
	vertical-align: bottom;
}
a {
	color: #707070;
	outline: none;
	text-decoration: none;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}
a img {
	transition: all .2s;
}
a:hover {
	color: currentcolor;
	text-decoration: none;
}
a:hover img {
	opacity: 0.6;
}
#main a {
	text-decoration: underline;
}
#main a:hover {
	text-decoration: none;
}
h1,h2,h3,h4 {
	line-height: 1.4;
}
/*----------------------------
input  textarea  select
----------------------------------------------------------*/
input[type="text"],
input[type="number"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="search"],/* inputで指定すると、radio、checkboxも変更されてしまうためtypeで指定 */
textarea,
select {
	-webkit-appearance: none;/* iPad用のデザイン初期化　selectの▼非表示 */
	-moz-appearance: none;
	appearance: none;
	-webkit-tap-highlight-color : rgba(0,0,0,0);
	border: 1px solid #99d7db;
	border-radius: 4px;
	font-family: inherit;
	font-size: inherit;
	margin-top: .3em;
	margin-bottom: .3em;
	outline: none;
	padding: 4px 8px;
}
input[type=text] ,
input[type=id] , 
input[type=password] ,
select {
	height: 40px;
	padding: 0 8px;
}

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

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

/* input type="radio" */
input[type="radio"] {
	display: none;
}
input[type="radio"]:checked + label::before,
label.radio_checked::before {
	opacity: 1;
}
input[type="radio"]:checked + label::after,
label.radio_checked::after {
	opacity: 1;
}

/* input type="checkbox" */
input[type="checkbox"] {
	display: none;
}
input[type="checkbox"]:checked + label::before,
label.radio_checked::before {
	opacity: 1;
}
input[type="checkbox"]:checked + label::after,
label.radio_checked::after {
	opacity: 1;
}
input[type="search"]::-webkit-search-cancel-button {/* input内×ボタンのデザイン削除 */
	-webkit-appearance: none;
}

/*----------------------------
構造
----------------------------------------------------------*/
.container {
	display: flex;
		align-items: flex-start;
	max-width: 1300px;
	min-height: 100vh;
	margin: 0 auto;
	padding: 32px 0 0;
}
/*----------------------------
トグルメニュー開いた時の半透明グレー
----------------------------------------------------------*/
#gray_panel {
	background: #000;
	display: none;
	opacity: 0.6;
	position: fixed;
		top: 0;
		left: 0;
	width: 100%;
	height: 99999px;
	z-index: 9990;
}
/*########################################################################################

side_menu.jsp
#left_container

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

.container #left_container {
	background: #fff;
	border-radius: 24px;
	height: auto;
	margin: 0 32px;
	max-width: 236px;
	z-index: 3;
	box-shadow: 0 3px 6px 0 rgba(0, 0, 0, .2);
}
.container #left_container .contents_wrap {
	background: #99d7db;
	border-radius: 24px 24px 0 0;
}
.container #left_container > .contents_wrap::before {
	bottom: -16px;
}
/*----------------------------
波背景
----------------------------------------------------------*/
#left_container > .contents_wrap::before {
	background-image: url(../images/bg_wave01.svg);
	background-position: left bottom;
	background-repeat: no-repeat;
	background-size: cover;
	content: "";
	display: block;
	position: absolute;
	bottom: -20px;
	right: 0;
	left: 0;
	height: 20px;
}

/*----------------------------
ロゴ
----------------------------------------------------------*/
.container #left_container h1 {
	color: #fff;
	font-weight: bold;
	line-height: 1.6;
	padding: 32px 18px;
	text-align: center;
}
.container #left_container h1 span {
	font-size: 18px;
}
.container #left_container h1 img {
	display: block;
	margin: 0 auto 16px;
/*
	width: 70px;
*/
	width: 133px;
}
/*----------------------------
サイドメニュー
----------------------------------------------------------*/
.container #left_container nav,
.container #left_container .nav02 {
	margin: 0 8px;
	padding: 48px 20px 32px;
}
/* サイドメニューのリンクアニメ */
.container #left_container nav > ul li {
	border-bottom: 2px solid #fff;
	display: flex;
		justify-content: space-between;
		align-items: center;
	margin-bottom: 16px;
	transition: .2s;
}
.container #left_container nav > ul li i {
	color: #99d7db;
}
.container #left_container nav > ul li:hover {
	border-bottom: 2px solid #99d7db;
}

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

#right_container

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

.container #right_container {
	width: calc(100% - 354px);
}

/*----------------------------
背景ブラウザいっぱい
----------------------------------------------------------*/
.full {
	background: #f8f8f0;
	margin: 0 calc(36% - 50vw);
	padding: 4px calc(50vw - 64% + 8px) 4px calc(50vw - 36% + 8px);
	width: 100vw;
}
.full_height {
	min-height: 100vh;
}
/*----------------------------
波背景
----------------------------------------------------------*/
#right_container .contents_wrap.wave {
	background: #ceecef;
	margin-top: 24px;
}
#right_container .contents_wrap.wave::before {
	background-image: url(../images/bg_wave02.svg);
	background-position: left bottom;
	background-repeat: no-repeat;
	background-size: cover;
	content: "";
	display: block;
	position: absolute;
	top: -64px;
	right: 0;
	left: 0;
	height: 64px;
}
#right_container .contents_wrap.wave::after {
	background-image: url(../images/bg_wave03.svg);
	background-position: left bottom;
	background-repeat: no-repeat;
	background-size: cover;
	content: "";
	display: block;
	position: absolute;
	bottom: -64px;
	right: 0;
	left: 0;
	height: 64px;
	z-index: 1;
}
/*----------------------------
パンくずリスト
----------------------------------------------------------*/
#breadcrumbs {
	line-height: 1;
	max-width: 950px;
	margin: 0 auto;
	padding-top: 40px;
}
@media screen and (max-width:950px) {
	#breadcrumbs {
		margin: 0 16px;
	}
}
#breadcrumbs ul {
	display: flex;
		flex-wrap: wrap;
	font-size: 11px;
	font-size: 1.1rem;
	gap: .75em 1em;
}
#breadcrumbs ul li {
	padding-right: 1em;
	position: relative;
}
#breadcrumbs li::after {
	content: "\f105";
	font-family: FontAwesome;
	font-size: 11px;
	font-size: 1.1rem;
	position: absolute;
		top: -1px;
		right: 0;
}
#breadcrumbs li:first-child {
	padding-left: 0;
}
#breadcrumbs li:not(:last-child) a {
	color: #78b9bd;
}
#breadcrumbs li:last-child::after {
	content: "";
}
#breadcrumbs ul li:last-child a {
	text-decoration: none;
}
#breadcrumbs ul li:last-child a:hover {
	cursor: default;
}

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

トップページ（#main_top）、
セカンダリページ（main#main）共通

########################################################################################*/
.contents_wrap {
	position: relative;
}
.contents {
	display: flex;
		flex-wrap: wrap;
	max-width: 950px;
	margin: 0 auto;
	padding: 56px 0 0;
}
/*
@media screen and (max-width:950px) {
	.contents {
	margin: 0 16px;
	}
}
*/

/*----------------------------
ノーマルボタンレイアウト
----------------------------------------------------------*/
nav,
.nav02 {
	padding: 48px 32px 32px;
}
.nav02 a.btn_normal,
article.news .info .look a.btn_normal {
	background: #99d7db;
	border-radius: 36px;
	color: #fff;
	display: flex;
		justify-content: space-between;
		align-items: center;
	font-weight: bold;
	margin-bottom: 16px;
	padding: 12px 18px;
	text-decoration: none;
	transition: .3s;
}
article.news .info .look a.btn_normal {
	min-width: 200px;
	padding: 6px 18px;
}
.nav02 a.btn_normal:hover,
article.news .info .look a.btn_normal:hover {
	background-color: #f4f9c2;
	color: #99d7db;
}

/* faq.jsp, infoKenpoList.jsp */
.nav02.faq {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	justify-content: center;
}
.nav02.faq li {
	flex: 0 1 30%;
}
#main .nav02.years a.btn_normal,
#main .nav02.faq a.btn_normal {
	display: flex;
		flex-direction: column;
		justify-content: center;
	line-height: 1.2;
	height: 60px;
	padding: 8px;
	text-align: center;
	text-decoration: none;
}
.nav02.years a.btn_normal i,
.nav02.faq a.btn_normal i {
	transform:rotate(90deg);
}

/*----------------------------
ボタン  button
----------------------------------------------------------*/
.btn {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	transition: all .3s;
	-webkit-transition: all .3s;
	display: block;
}
.btn:hover {
	opacity: .6;
	text-decoration: none;
}

/* 閉じるボタン */
#main .btn_close {
	width: 100%;
}
#main .btn_close a {
	background-color: #fff;
	border: 1px solid #99d7db;
	border-radius: 24px;
	display: block;
	margin: 3em auto;
	padding: 10px;
	text-align: center;
	text-decoration: none;
	width: 160px;
	height: 48px;
}
#main .btn_close a::before {
	content: "\f057";
	display: inline-block;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 5px;
}

/* 一瞬小さくなるボタン */
.btn_push {
	display: inline-block;
	vertical-align: middle;
	transform: perspective(1px) translateZ(0);
	-moz-transform: perspective(0px) translateZ(0px);/* FFのみ文字にジャギーがでるため */
	box-shadow: 0 0 1px transparent;
}
.btn_push:hover, .btn_push:focus, .btn_push:active {
	animation-name: btn_push;
	animation-duration: 0.3s;
	animation-timing-function: linear;
	animation-iteration-count: 1;
}
@-webkit-keyframes btn_push {
	50% {
		transform: scale(0.95);
	}
	100% {
		transform: scale(1);
	}
}
@keyframes btn_push {
	50% {
		transform: scale(0.95);
	}
	100% {
		transform: scale(1);
	}
}

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

トップページ（#main_top）

########################################################################################*/
/*-----------------------------------------------------------------------------
|
|■┓スライダーの設定
|┗┛
-----------------------------------------------------------------------------*/
/*----------------------------
スライダーの画像が一瞬縦並びになるのを回避
----------------------------------------------------------*/
.slider{
	display: none;
}
.slider.slick-initialized{
	display: block; /*slick-initializedが付与されたら表示*/
}

/*----------------------------
スライダーの左右の矢印
----------------------------------------------------------*/
a.slick_prev_arrow,
a.slick_next_arrow {
	position: absolute;
		top: calc(50% - 24px);
	width: 24px;
	height: 24px;
	z-index: 95;
}
a.slick_prev_arrow {
		left: -2px;
}
a.slick_next_arrow {
		right: -3px;
}
a:hover.slick_prev_arrow,
a:hover.slick_next_arrow {
	text-decoration: none !important;
}
a.slick_prev_arrow::before,
a.slick_next_arrow::before {
	background: #99d7db;
	border-radius: 24px;
	content: "";
	display: block;
	position: absolute;
		top: calc(50% - 24px);
	width: 50px;
	height: 50px;
}
a.slick_prev_arrow::before {
		left: -11px;
}
a.slick_next_arrow::before {
		right: -11px;
}
a.slick_prev_arrow::after,
a.slick_next_arrow::after {
	border-width: 4px 4px 0 0;
	border-style: solid;
	border-color: #fff #fff transparent transparent;
	content: "";
	display: block;
	position: absolute;
		top: calc(50% - 8px);
	width: 14px;
	height: 14px;
}
a.slick_prev_arrow::after {
		left: 8px;
	transform: rotate(-135deg);
}
a.slick_next_arrow::after {
		right: 8px;
	transform: rotate(45deg);
}
a:hover.slick_prev_arrow::after,
a:hover.slick_next_arrow::after {
	opacity: .6;
	transition: .2s;
}
/*----------------------------
スライダー下のドット
----------------------------------------------------------*/
.slick-dotted.slick-slider {
	margin-bottom: 0 !important;
}
ul.slider_dots {
	line-height: 0;
	margin-top: 12px;
	text-align: right;
}
ul.slider_dots li {
	display: inline-block;
}
.slider_dots button {
	background: none;
	border: none;
	cursor: pointer;
	display: block;
	font-size: 0;
	line-height: 0;
	letter-spacing: 0;
	outline: none;
	padding: 12px;
	position: relative;
	width: 12px;
	height: 12px;
}
.slider_dots button::before {
	background-color: #fff;
	border: 2px solid #ccc;
	border-radius: 50%;
	display: block;
	content: "";
	position: absolute;
		top: calc(50% - 4px);
		left: calc(50% - 4px);
	width: 8px;
	height: 8px;
}
.slider_dots .slick-active button::before {
	background-color: #99d7db;
	border: 2px solid #99d7db;
}

/*-----------------------------------------------------------------------------
|
|■┓バナースライダー
|┗┛
-----------------------------------------------------------------------------*/
.bnr_slider_area {
	margin-bottom: 12px;
	padding: 0 0 32px;
	position: relative;
}
.bnr_slider {
	margin-left: -1px;
	padding: 0 16px;
}
.bnr_slider .slick-track .slick-slide {
	margin: 0 4px;
	text-align: center;
}
.bnr_slider a {
	display: block;
	margin: 0 auto;
}
.bnr_slider a img {
	border-radius: 42px;
	max-width: 100%;
	max-height: 100%;
}
/*----------------------------
メインナビゲーション
----------------------------------------------------------*/
.main_nav {
/*	background: #fff;*/
	padding: 40px 0;
	text-align: center;
}
.main_nav ul {
	display: flex;
	gap: 16px;
	margin: 0 auto;
	max-width: 950px;
	justify-content: space-between;
}
@media screen and (max-width:950px) {
	.main_nav ul {
	margin: 0 16px;
	}
	.main_nav ul + .sub_bnr {
		margin-top: 32px;
	}
}
.main_nav ul li {
	flex: 0 1 32%;
	text-align: center;
}
.main_nav ul li a {
	background-color: #f8f8f0;
	background-repeat: no-repeat;
	border-radius: 24px;
	box-shadow: 0 3px 6px 0 rgba(0, 0, 0, .2);
/*
	box-shadow: 0 0 5px #b7c3d0;
*/
	display: block;
	padding: 0;
	position: relative;
	text-decoration: none;
	width: 100%;
	height: 100%;
}
.main_nav ul li a .mnav_img {
	background: #fff;
	border-radius: 24px 24px 0 0;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.main_nav ul li a:hover .mnav_img {
	background-color: #f4f9c2;
	box-shadow: 0 0 5px #ceecef;
	text-decoration: none;
}
.main_nav ul li a img {
	width: 80px;
	margin: 24px;
}
.main_nav ul li a:hover img {
	opacity: 1;
}
.main_nav ul li a .mnav_ttl {
	background: #f8f8f0;
	border-radius: 0 0 24px 24px;
	color: #707070;
	display: block;
	font-weight: bold;
	margin-top: auto;
	padding: 24px;
	width: 100%;
	height: auto;
	line-height: 1.2;
	text-align: center;
}
.main_nav ul li a .mnav_ttl > div {
	display: flex;
		justify-content: space-between;
	font-size: 16px;
	font-size: 1.6rem;
	margin-bottom: 16px;
	text-align: left;
}
.main_nav ul li a .mnav_ttl > p {
	font-weight: normal;
	line-height: 1.6;
	margin: 0;
	text-align: left;
}

/* クローズ期間のボタン */
.main_nav ul li a.btn_close {
	box-shadow: 0 0 5px #ddd;
}
.main_nav ul li a.btn_close::before {
	background-color: rgba(0,0,0,0.1);
	border-radius: 4px;
	content: ' ';
	position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
}
.main_nav ul li a.btn_close:hover {
	animation-name: none;
	background-color: transparent;
	cursor: default;
}
.main_nav ul li a.btn_close .mnav_ttl {
	color: #999;
}
/* 吹き出し */
.fukidashi {
	animation: 0.5s jump infinite alternate linear;
	background: #f99214;
	border-radius: 4px;
	color: #fff;
	display: inline-block;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: bold;
	margin-top: 8px;
	padding: 2px 8px;
	position: relative;
	text-align: center;
}
.fukidashi::before {
	border: 6px solid transparent;
	border-bottom-color: #f99214;
	content: "";
	position: absolute;
		top: -12px;
		left: calc(50% - 6px);
}
@keyframes jump {
	to { transform: transtateY(0); }
	from { transform: translateY(4px); }
}

/*----------------------------
トップページ共通
----------------------------------------------------------*/
#main_top h2 {
	font-family: "M PLUS 1p";
	transform: rotate(0.03deg); 
	font-size: 24px;
	font-size: 2.4rem;
	font-weight: 500;
	letter-spacing: 0.06em;
	margin-bottom: 24px;
	text-align: left;
}
/* マインドスポーツバナー */
#main_top .bnr_mindsports {
	border: 1px solid #3c3147;
	display: inline-block;/* 波線デザインの場合は inline-block それ以外は block */
}
#main_top .bnr_mindsports img {
	max-width: 100%;
}
@media screen and (max-width: 950px) {
	#main_top .bnr_mindsports {
		margin: 0 auto;
		width: calc(100% - 32px);
	}
}

/*----------------------------
健保からのお知らせ
----------------------------------------------------------*/
article.news {
	margin: 0 auto 80px;
	position: relative;
	padding-top: 150px;
}
article.news .info {
/*	border-top: 1px dotted #99d7db;*/
	width: 100%;
}
article.news .info dl {
	display: flex;
		flex-wrap: wrap;
	width: 100%;
}
article.news .info dl dt,
article.news .info dl dd {
	border-bottom: 1px dotted #ccc;
}
article.news .info dl dt {
	font-size: 12px;
	font-size: 1.2rem;
	padding: 18px 0;
	width: 18%;
}
/*
.news_list dl dt span,
article.news .info dl dt span {
	background: #fff;
	border-radius: 24px;
	padding: 6px 16px;
}
*/
article.news .info dl dd {
	padding: 16px 0;
	width: 82%;
}
article.news .info dl dd a {
	text-decoration: underline;
}
.news_list dl dd .new,
.news_wrap .info dl dd .new,
article.news .info dl dd .new {
	background: #efa6a6;
	border-radius: 12px;
	color: #fff;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight :bold;
	padding: 1px 6px;
	margin-right: 8px;
}
article.news .info .look {
	position: absolute;
		top: 140px;
		right: 0;
}
article.news .info .look a {
	text-align: center;
}

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

セカンダリページ 通常版
main#main

########################################################################################*/
/*強調*/
em {
	color: #5ebcc2;
}
#main {
	padding-top: 14px;
}
.width800 {
	width: 800px;
	max-width: 100%;
}
/*段落などの下のスペース*/
.mb64px {
	margin-bottom: 64px !important;
}
/*----------------------------
ページタイトル
----------------------------------------------------------*/
#main .ttl_wrap {
	margin-bottom: 0;
	text-align: center;
	width: 100%;
}
#main .ttl_en {
	color: #707070;
	font-size: 10px;
	font-size: 1.0rem;
	letter-spacing: .2em;
	margin-bottom: -8px;
}
#main .ttl_en + p {
	margin-top: 16px;
	margin-bottom: 0;
}
#main .ttl_wrap .ttl_category {
/*	color: #99d7db;*/
	font-family: "M PLUS 1p";
	transform: rotate(0.03deg); 
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: 500;
	margin-bottom: 4px;
	text-align: center;
}
#main .ttl_wrap .ttl_category:before {
	display: block;
	margin: 0 auto;
}
#main h2 {
	font-family: "M PLUS 1p";
	transform: rotate(0.03deg); 
	font-weight: 500;
	font-size: 26px;
	font-size: 2.6rem;
}
#main h2 > span {
	font-size: 22px;
	font-size: 2.2rem;
}
#main .ttl_wrap .ttl_category + h2 {
	margin-bottom: 16px;
}
#main .ttl_wrap .read {
	max-width: 600px;
	margin: 16px auto 0;
	text-align: left;
}
#main h3 {
	font-family: "M PLUS 1p";
	transform: rotate(0.03deg); 
	font-size: 22px;
	font-size: 2.2rem;
	font-weight: 500;
	margin: 0 auto 16px;
	padding-left: 1.5em;
	position: relative;
}
#main h3::before {
	background-image: url(../images/h3_icn.svg);
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: inline-block;
	margin-right: 8px;
	position: absolute;
		top: 0;
		left: -7px;
	width: 32px;
	height: 30px;
}
/*----------------------------
ページ本文
----------------------------------------------------------*/
#main .wrap_content_section {
	width: 90%;
}
#main .content_section {
	margin: 0 auto;
	padding-bottom: 48px;
}
#main .wrap_content_section .content_section:nth-of-type(1) {
	padding-top: 0;
}
#main .wrap_content_section:first-of-type,
#main .wrap_content_section_w:first-of-type {
	margin: 90px auto 0;
}
/* 背景白角丸 */
#main .wrap_content_section_w {
	width: 100%;
	background-color: #fff;
	border-radius: 24px;
}
#main .wrap_content_section_w:not(:last-of-type) {
	margin-bottom: 64px;
}
#main .content_section_w {
	margin: 0 auto;
	padding: 64px 24px;
	max-width: 800px;
}
#main h4 {
	display: inline-block;
	font-family: "M PLUS 1p";
	transform: rotate(0.03deg); 
	font-size: 20px;
	font-size: 2.0rem;
	font-weight: 500;
	margin-bottom: 8px;
	padding-left: 1.2em;
	position: relative;
}
#main h4::before {
	color: #99d7db;
	content: "\f141";
	font-family: "Font Awesome 5 Free";
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: 900;
	margin-right: 8px;
	position: absolute;
		top: 2px;
		left: 0;
}
#main .point {
	background-color: #f4f9c2;
	border-radius: 24px;
	margin: 32px 0 64px;
	padding: 40px 48px;
	position: relative;
}
#main h3 + .point {
	margin: 16px 0 64px;
}
#main h4 + .point {
	margin: 8px 0 64px;
}
#main .point > ul + .kome,
#main .point > ol + .kome {
	margin-top: 1em;
}
#main .point_ttl {
	font-family: "M PLUS 1p";
	transform: rotate(0.03deg);
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.4;
	margin-bottom: 16px;
	padding-left: 20px;
	position: relative;
}
#main .point_ttl::before {
	color: #99d7db;
	content: "\f111";
	font-family: "Font Awesome 5 Free";
	font-size: 14px;
	font-weight: 900;
	display: inline-block;
	position: absolute;
		top: 4px;
		left: 0;
}
#main ul li:nth-of-type(even) .point_ttl::before {
	color: #efa6a6;
}
#main .point_ttl:nth-of-type(even)::before {
	color: #99d7db;
}
#main .point_ttl.icn_orange::before {
	color: #99d7db;
}
#main .point > ul > li {
	background-color: #fff;
	border-left: solid 42px #99d7db;
	border-radius: 8px;
	font-weight: bold;
	padding: 12px 16px;
	position: relative;
}
#main .point > ul > li:not(:last-of-type) {
	margin: 0 0 16px;
}
#main .point > ul > li::before {
	color: #fff;
	content: "\f00c";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	position: absolute;
		top: calc(50% - 14px);
		left: -27px;
}
#main .point .kome {
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: normal;
}
#main ul.point02 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 32px;
}
#main ul.point02 > li {
	display: flex;
	flex-direction: column;
	margin-bottom: 32px;
	width: 48%;
}
#main ul.point02.point02_center > li {
	align-items: center;
}
#main ul.point02 > li .point_ttl {
	display: inline-block;
	margin-bottom: 8px;
}
#main ul.point02 > li .point_txt {
	border: 1px solid #99d7db;
	border-radius: 8px;
	padding: 24px;
	height: 100%;
}
#main ul.point02 > li .point_circle {
	background: #ffd7c5;
	border-radius: 40% 60% 50% 45%/60% 50% 65% 55%;
	position: relative;
	width: 180px;
	height: 180px;
}
#main ul.point02 > li .point_circle > span {
	background: rgba(0,153,0,0.3);
	border-radius: 50% 54% 50% 52%/53% 50% 53% 48%;
	position: absolute;
		top: 52%;
		right: -4px;
	transform: translateY(-50%);
	width: 180px;
	height: 180px;
}
#main ul.point02 > li .point_circle > span > span {
	background: #fff;
	border-radius: 70% 55% 50% 50%/50% 50% 60% 55%;
	position: absolute;
		top: 50%;
		left: 8px;
	transform: translateY(-50%);
	width: 155px;
	height: 155px;
}
#main ul.point02 > li .point_circle > span > span > span {
	color: #99d7db;
	font-family: "M PLUS 1p";
	font-size: 22px;
	font-size: 2.2rem;
	font-weight: 500;
	line-height: 1.2;
	position: absolute;
		top: 50%;
		left: 0;
		right: 0;
	text-align: center;
	transform: rotate(0.03deg) translateY(-50%);
}
#main ul.point02 > li .left_text{
	text-align: left;
}
.point_photo {
	text-align: center;
}
.side_photo {
	display: flex;
}
.photo_right {
	margin-left: 30px;
}
.externallink {
	background: url(../images/icon_externallink.svg) no-repeat;
	background-position : right 5px top;
	background-size: contain;
	padding-right: 25px;
}
/* テーブル */
.tbl_scroll {
	overflow-x: auto;
	width: 100%;
}
table {
	width: 100%;
}
th, td {
	border: 1px solid #badbbd;
	text-align: left;
	vertical-align: middle;
}
th {
	font-weight: bold;
}
thead th {
	background-color: #99d7db;
	color: #fff;
	font-size:14px;
	font-size: 1.4rem;
	padding: 12px;
	text-align: center;
}
tbody th {
	background-color: #ecf6ed;
	padding-left: 15px;
}
tbody th,
tbody td {
	padding: 16px;
}
tbody td {
	background: #fff;
}
tbody th.gray {
	background-color: #eee;
	color: #333;
}
tbody td ol {
	margin-left: 20px;
}
/* 用紙内のテーブル */
.point03,
.point03 th,
.point03 td {
	border: none;
}
.point03 {
	border-collapse: separate; /* trの隙間を作る */
	border-spacing: 10px 10px;
	margin-top: -10px;
	margin-left: -10px;
	width: calc(100% + 10px);
}
.point03 th {
	background-color: #fff;
	color: #99d7db;
	white-space: nowrap;
	width:25%;
}
.point03 th > span {
	font-size: 14px;
	font-size: 1.4rem;
}
.point03 th.kenshinmenu {
	width: auto;
}
.point03 th a {
	color: #99d7db;
}
.point03 td {
	background-color: #fff;
	font-size: 15px;
	font-size: 1.5rem;
}
.point03 tr.tr_space td {
	background: transparent;
	font-size: 0;
	height: 10px;
	line-height: 0;
	padding: 0;
}
/* テーブル内の※ */
.tbl_kome {
	display: inline-block;
	font-size:12px;
	font-size:1.2rem;
	margin-top: 10px;
	padding-left: 1em;
	text-indent: -1em;
}
/* 番号付きリスト */
ol.flow,
ol.pr_list,
ol.pr_list02{
	counter-reset: item;
	list-style-type: none;
	padding-left: 0;
}
ol.flow > li,
ol.pr_list > li,
ol.pr_list02 > li{
	position: relative;
}
ol.flow > li,
ol.pr_list > li{
	padding: 1em 1.3em 1em 3em;
}
ol.pr_list02 > li{
	padding: 10px 0;
}
ol.flow > li:last-child,
ol.pr_list > li:last-child,
ol.pr_list02 > li:last-child {
	border-bottom: none;
}
ol.flow > li::before,
ol.pr_list > li::before,
ol.pr_list02 > li::before {
	content: counter(item)'.';
	counter-increment: item;
	font-family: 'M PLUS 1p';
	transform: rotate(0.03deg);
	font-size: 20px;
	font-size: 2.0rem;
	font-weight: 500;
}
ol.attention_list > li::before {
	font-size: 16px;
	font-size: 1.6rem;
}
ol.flow > li::before,
ol.pr_list > li:before {
	position: absolute;
		top: 8px;
		left: 0.2em;
}
ol.flow > li::before {
	color: #99d7db;
}
ol.pr_list02 > li::before {
	color: #5ebcc2;
	font-size: 24px;
	font-size: 2.4rem;
	position: absolute;
		top: 2px;
		left: auto;
}
ol.pr_list02 > li > div > ul {
	margin-bottom: 1em;
}
ol.pr_list02 > li > div > ul > li{
	margin-left: 2em;
}
ol.pr_list> li > ol > li::before {
	color: #99d7db;
	content: counter(item)'.';
	counter-increment: item;
	padding-right: .5em;
	position: absolute;
		top: 0;
		left: 0;
}
ol.pr_list> li > ol.pr_list {
	background: #ecf6ed;
	border-radius: 8px;
	padding: 16px 24px;
}
ol.pr_list> li > ol.pr_list li {
	padding: 4px 16px 4px 2.3em;
}
ol.paren_list {
	counter-reset: item_pl;
	margin-left: 0;
}
ol.paren_list > li {
	list-style-type: none;
	padding-left: 2em;
	position: relative;
}
ol.paren_list > li::before {
	content: '（'counter(item_pl)'）';
	counter-increment: item_pl;
	position: absolute;
		top: 0;
		left: 0;
}

/* 白枠のボックス 2段組 */
.white_box_two {
	background-color: #fff;
	border-radius: 16px;
	display: flex;
		justify-content: space-around;
	margin: 0 auto 40px;
	padding: 40px 16px;
	width: 80%;
}
.white_box_two > div {
	margin: 0 8px;
}

/*前に戻る*/
.backhome {
	margin-bottom: 3em;
	text-align: center;
	width: 100%;
}
.backhome a {
	color: #78b9bd;
	font-size: 12px;
	font-size: 1.2rem;
	position: absolute;
		bottom: 0;
		left: calc(50% - 50vw + 300px);
	width: 100vw;
	max-width: calc(100% - 300px);
}
.backhome a i {
	margin-right: 10px;
}

/* ツールチップの設定を上書き */
.tooltip_box {
	color: #fff !important;
	max-width: 950px !important; /* article.content の横幅 */
}
.tooltip_body {  /* 背景色 */
	background-color: rgba(232, 119, 34, .8) !important;
}
.tooltip_arrow {
	border-bottom-color: rgba(232, 119, 34, .8) !important;
}
#main .tooltip::after {
	/*content: "" !important;*//* [!]マークが不要な時、変更したい時はここで修正（Font Awesome 5 Free） */
	color: #99d7db !important;
}

/*-----------------------------------------------------------------------------
■┓各種手続き（situation.jsp）
┗┛Procedures
-----------------------------------------------------------------------------*/
/* 手続き */
#main .procedure_box {
	background: #ecf6ed;
	border-radius: 16px;
	display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	margin: 48px 0 32px;
	padding: 32px;
}
#main .procedure_box .procedure_ttl {
	background: #ceecef;
	border-radius: 40% 60% 50% 45%/60% 50% 65% 55%;
	margin-right: 16px;
	position: relative;
	width: 120px;
	height: 120px;
}
#main .procedure_box .procedure_ttl::before {
	background: rgba(24,48,40,0.2);
	border-radius: 50% 54% 50% 52%/53% 50% 53% 48%;
	content: "";
	position: absolute;
		top: 52%;
		right: -4px;
	transform: translateY(-50%);
	width: 120px;
	height: 120px;
}
#main .procedure_box .procedure_ttl::after {
	background: #fff;
	border-radius: 70% 55% 50% 50%/50% 50% 60% 55%;
	content: "";
	position: absolute;
		top: 50%;
		left: 8px;
	transform: translateY(-50%);
	width: 95px;
	height: 95px;
}
#main .procedure_box .procedure_ttl > span {
	font-family: "M PLUS 1p";
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.2;
	position: absolute;
		top: 50%;
		left: 0;
		right: 0;
	text-align: center;
	transform: rotate(0.03deg) translateY(-50%);
	z-index: 999;
}
#main .procedure_box .kome {
	font-size: 12px;
	font-size: 1.2rem;
}
/* 必要書類 */
#main .required_box {
	flex: 1;
}
#main .procedure_box .required_box + .required_box { /* 必要書類が続いたとき */
	margin-top: 16px;
}
#main .required_box .required_ttl {
	border-bottom: 1px solid #99d7db;
	font-family: "M PLUS 1p";
	transform: rotate(0.03deg); 
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: 500;
	padding: 0 0 8px 16px;
}
#main .required_box .required_contents {
	padding: 16px 8px 0 16px;
}
#main .required_box .required_contents > ul > li {
	font-weight: bold;
	margin-bottom: 4px;
	padding-left: 1em;
	text-indent: -.75em;
}
#main .required_box .required_contents > ul > li::before {
	content: "・";
	margin-right: .25em;
}
#main .required_box .required_contents > ul > li * { /* text-indent の子要素への継承を解除 */
	text-indent: 0;
}

/* exl wrd pdf アイコン */
#main a.link_exl,
#main a.link_wrd,
#main a.link_pdf,
#main a.link_pdfex {
	display: inline-block;
	font-weight: normal;
	margin-left: 2em;
	text-decoration: none;
}
#main a.link_exl > span,
#main a.link_wrd > span,
#main a.link_pdf > span,
#main a.link_pdfex > span {
	text-decoration: underline;
}
#main a.link_exl:hover > span,
#main a.link_wrd:hover > span,
#main a.link_pdf:hover > span,
#main a.link_pdfex:hover > span {
	text-decoration: none;
}
#main a.link_exl::before,
#main a.link_wrd::before,
#main a.link_pdf::before,
#main a.link_pdfex::before {
	font-family: FontAwesome;
	font-weight: 400;
	font-size: 18px;
	font-size: 1.8rem;
	margin-right: 10px;
}
#main a.link_exl::before {
	color: #056d05;
	content: "\f1c3";
}
#main a.link_wrd::before {
	color: #0200b3;
	content: "\f1c2";
}
#main a.link_pdf::before {
	color: #900;
	content: "\f1c1";
}
#main a.link_pdfex::before {
	color: #666;
	content: "\f1c5";
}
#main a.link_pdf_after {
	display: inline-block;
	font-weight: normal;
	margin-right: 6px;
	text-decoration: none;
}
#main a.link_pdf_after span {
	text-decoration: underline;
}
#main a.link_pdf_after:hover span {
	text-decoration: none;
}
#main a.link_pdf_after::after {
	font-family: FontAwesome;
	font-weight: 400;
	font-size: 16px;
	font-size: 1.6rem;
	margin-left: 6px;
	color: #900;
	content: "\f1c1";
}
#main .required_box .required_contents .required_sub_txt {
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: normal;
}
/* 申請書のテーブル */
#main .required_box table.gendoshinsei {
	margin: 4px 0 16px;
}
#main .required_box table.gendoshinsei th {
	background-color: #f4f9c2;
}
#main .required_box table.gendoshinsei td {
	font-weight: normal;
}
#main .required_box table.gendoshinsei td a.appli_denshi {
	max-width: 216px;
}
#main .required_box table.gendoshinsei td a.link_pdf {
	margin-left: 4px;
}
/* コンテンツ用ナビ */
.nav_contents {
	display: none;
	position: fixed;
		top: 50%;
		right: -240px;
	transition: all .4s;
	z-index: 9998;
	width: 240px;
}
.nav_contents.ac-trigger {
	right: 0;
}
.nav_arrow {
	background: rgba(0, 153, 0, .8);
	border-radius: 4px 0 0 4px;
	color: #fff;
	cursor: pointer;
	display: flex;
		align-items: center;
		justify-content: center;
	position: absolute;
		top: 0;
		left: -24px;
	padding: 4px;
	width: 24px;
	height: 100%;
}
.nav_arrow::before {
	content: "\f105";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: 20px;
	font-size: 2.0rem;
}
.nav_arrow.nonac_arrow::before {
	content: "\f104";
}
.nav_contents ul {
	background:rgba(255, 255, 255, .8);
	border: 1px solid #99d7db;
	border-right: none;
	padding: 16px 16px;
}
.nav_contents ul li {
	margin: .5em 0;
}
.nav_contents ul li a {
	cursor: pointer;
	display: inline-block;
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 1.4;
	margin-left: 16px;
	position: relative;
	transition: 1.0s ;
/*	white-space: nowrap;*/
}
.nav_contents ul li a:hover {
	text-decoration: none;
}
.nav_contents ul li a::before {
	background-image: url(../images/arrow_orange.svg);
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	position: absolute;
/*		top: calc(50% - 5px);*/
		top: 2px;
		left: -20px;
	width: 12px;
	height: 12px;
	transform: scale(-1, 1);
}
.nav_contents ul li a:hover::before {
		opacity: .6;
}
.nav_contents ul li a.current::before {
		left: -26px;
}

/* 各種手続きの画像部分 */
#main .point_photo_bg_max {
	margin-top: 30px;
	padding: 16px 0 48px;
	text-align: center;
}

/*-----------------------------------------------------------------------------
■┓各種申請書（application.jsp）
┗┛Application Forms
-----------------------------------------------------------------------------*/
#main .application_doc {
	counter-reset: app_num 0; /* 0は初期値 */
	width: 100%;
}
#main .application_doc th {
	counter-increment: app_num 1; /* 1は加算する数　例）加算値を3にすれば（初期値を1として）1,4,7,10...となる */
}
#main .application_doc th:before {
	content: counter(app_num);
}
#main h5.appli_tit {
	background: #f4f9c2;
	color: #333;
	font-family: "Noto Sans Japanese";
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1;
	margin-bottom: 16px;
	padding: 16px;
}
#main .tbl_application_doc {
	margin-bottom: 4em;
}
#main .tbl_application_doc thead tr td {
	font-weight: bold;
}
#main .tbl_application_doc thead tr td:nth-of-type(1){
	padding: 4px;
}
#main .tbl_application_doc thead tr td:nth-of-type(3),
#main .tbl_application_doc thead tr td:nth-of-type(4) {
	width: 96px;
}
#main .tbl_application_doc th,
#main .tbl_application_doc td {
	background: transparent;
	border-left: none;
	border-right: none;
	font-weight: normal;
	padding: 8px;
	text-align: center;
}
#main .tbl_application_doc thead td {
	background: #fff;
	border: none;
	border-bottom: 2px solid #99d7db;
}
#main .tbl_application_doc tbody td {
	background: #fff;
}
#main .tbl_application_doc tbody th,
#main .tbl_application_doc tbody td {
	border-bottom: 1px solid #badbbd;
}
#main .tbl_application_doc tbody td.appli_doc_ttl {
	text-align: left;
}
#main .tbl_application_doc tbody th,
#main .tbl_application_doc tbody td.appli_doc_ttl {
	background: #ecf6ed;
	font-size: 16px;
	font-size: 1.6rem;
}
#main .tbl_application_doc tbody td.appli_add {
	border-left: 1px solid #badbbd;
	font-size: 16px;
	font-size: 1.6rem;
}
#main .tbl_application_doc tbody td.appli_add span {
	font-size: 14px;
	font-size: 1.4rem;
}
#main .tbl_application_doc tbody a > div > span { /* アイコンのアンダーラインを消すため */
	text-decoration: none;
}
#main .tbl_application_doc tbody a > div > span {
	text-decoration: underline;
}
#main .tbl_application_doc tbody a:hover > div > span {
	text-decoration: none;
}
#main .tbl_application_doc tbody a.appli_exl,
#main .tbl_application_doc tbody a.appli_wrd,
#main .tbl_application_doc tbody a.appli_pdf,
#main .tbl_application_doc tbody a.appli_pdfex {
	display: flex;
		align-items: center;
		flex-direction: column;
		justify-content: center;
	font-size: 9px;
	font-size: 0.9rem;
	margin: 0 auto;
	position: relative;
	text-decoration: none; 
}
#main .tbl_application_doc tbody a.appli_exl::before,
#main .tbl_application_doc tbody a.appli_wrd::before,
#main .tbl_application_doc tbody a.appli_pdf::before,
#main .tbl_application_doc tbody a.appli_pdfex::before {
	display: block;
	font-family: FontAwesome;
	font-size: 28px;
	font-size: 2.8rem;
	margin-bottom: -8px;
}
#main .tbl_application_doc tbody a.appli_exl::before {
	color: #056d05;
	content: "\f1c3";
}
#main .tbl_application_doc tbody a.appli_wrd::before {
	color: #0200b3;
	content: "\f1c2";
}
#main .tbl_application_doc tbody a.appli_pdf::before {
	color: #990000;
	content: "\f1c1";
}
#main .tbl_application_doc tbody a.appli_pdfex::before {
	color: #666;
	content: "\f1c5";
}
#main .tbl_application_doc tbody a:hover.appli_exl,
#main .tbl_application_doc tbody a:hover.appli_wrd,
#main .tbl_application_doc tbody a:hover.appli_pdf,
#main .tbl_application_doc tbody a:hover.appli_pdfex {
	opacity: .6;
}
#main .tbl_application_doc tbody a > div { /* Downloadアイコン */
	padding-left: 14px;
	position: relative;
}
#main .tbl_application_doc tbody a > div::before { /* Downloadアイコン */
	color: #777;
	content: "\f019";
	display: block;
	font-family: FontAwesome;
	font-size: 11px;
	font-size: 1.1rem;
	position: absolute;
		top: -1px;
		left: 0;
}
#main .tbl_application_doc tbody tr.bdb_none th,
#main .tbl_application_doc tbody tr.bdb_none td {
	border-bottom: none;
	padding-bottom: 8px;
}
#main .tbl_application_doc tbody .appli_cmt td {
	border-top: none;
	font-size: 12px;
	font-size: 1.2rem;
}

/* 電子申請ボタン */
#main a.appli_denshi {
	background: #2d61b8;
	border-radius: 4px;
	color: #fff;
	display: flex;
		align-items: center;
		justify-content: center;
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 1;
	margin: 4px;
	padding: 6px 16px;
	text-decoration: none;
	white-space: nowrap;
	width: auto;
}
#main a.appli_denshi::before {
	content: "\f108";
	display: inline-block;
	font-family: FontAwesome;
	font-size: 22px;
	font-size: 2.2rem;
	margin: 0 10px -2px 0;
	vertical-align: -10px;
}
#main a:hover.appli_denshi {
	opacity: .6;
}
#main .tbl_application_doc .appli_cmt td {
	border-top: none;
	font-size: 12px;
	font-size: 1.2rem;
}
#main .appli_cmt02 {
	border: 2px solid #d9f1f4;
	margin: 24px 0;
	padding: 16px;
}
#main .appli_case {
	color: #333;
}
#main .appli_case::before {
	color: #189;
	content: "\f054";
	font-family: FontAwesome;
	margin-right: 4px;
}
#main .jiko {
	margin: 0 auto 64px;
	width: 640px;
	max-width: 100%;
}
#main .jiko .jiko_pdf {
	text-align: center;
}
#main .jiko .jiko_pdf a {
	background: #99d7db;
	border-radius: 8px;
	color: #fff;
	display: inline-block;
	font-weight: bold;
	padding: 12px 24px;
	text-decoration: none;
}
#main .jiko .jiko_pdf a::before {
	color: #fff;
	content: "\f1c1";
	font-family: FontAwesome;
	font-weight: 400;
	font-size: 18px;
	font-size: 1.8rem;
	margin-right: 10px;
}
#main .jiko .jiko_pdf a span {
	font-size: 12px;
	font-weight: normal;
}

/*-----------------------------------------------------------------------------
■┓保健事業（health.jsp）
┗┛Health Activities
-----------------------------------------------------------------------------*/
/*----------------------------
健康診断（checkup.jsp）
----------------------------------------------------------*/
ol.method, ol.method ol {
	counter-reset: my-counter;
	list-style-type: none;
	padding: 0;
}
ol.method > li {
	font-size: 16px;
	font-size: 1.6rem;
	padding-left: 30px;
	position: relative;
}
ol.method > li:not(:last-of-type) {
	margin-bottom: 16px;
}
ol.method > li::before {
	background-image: url(../images/bg_look.png);
	border-radius: 50%;
	content: counter(my-counter)" ";
	counter-increment: my-counter;
	color: #fff;
	display: block;
	font-size: 16px;
	font-size: 1.6rem;
	margin-left: -36px;
	position: absolute;
		top: -2px;
	text-align: center;
	width: 28px;
	height: 28px;
}
ol.method > li > ul {
	display: flex;
		justify-content: space-between;
	margin: 24px 0;
}
ol.method > li > ul.reservation_list > li {
	width: calc(50% - 16px);
}
ol.method > li > ul.reservation_list > li > div {
	color: #99d7db;
	font-family: "M PLUS 1p";
	transform: rotate(0.03deg);
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.4;
	margin-bottom: 8px;
	text-align: center;
}
#main ol.reservation {
	background: #fff;
	border: solid 1px #99d7db;
	border-radius: 8px;
	position: relative;
	padding: 20px 16px;
	counter-reset: my-counter;
	list-style-type: none;
}
#main ol.reservation > li {
	font-size: 14px;
	font-size: 1.4rem;
	margin-bottom: 1em;
	padding-left: 2em;
	position: relative;
}
#main ol.reservation > li:last-child {
	margin-bottom: 0;
}
#main ol.reservation > li::before {
	color: #99d7db;
	content: counter(my-counter) ". ";
	counter-increment: my-counter;
	font-family: 'M PLUS 1p';
	font-size: 20px;
	font-size: 2.0rem;
	font-weight: 500;
	transform: rotate(0.03deg);
	position: absolute;
		top: -6px;
		left: 0;
}
#main ol.reservation > li > ol {
	font-size:14px;
	font-size:1.4rem;
	margin-top: 1em;
	position: relative;
}
#main ol.reservation > li > ol li {
	border-bottom: 1px dotted #666;
	padding: 8px 0 8px 16px ;
}
#main ol.reservation > li > ol li:first-child {
	border-top: 1px dotted #666;
}
#main ol.reservation > li > ol li::before {
	color: #99d7db;
	content: counter(my-counter,lower-roman)". ";
	counter-increment: my-counter;
	margin-left: -14px;
	position: absolute;
	text-align: center;
}
ol.method i.fas {
	margin-right: 0.5em;
}
.faxnumber,
.cancellation {
	background: #fff;
	border-radius: 8px;
	font-size: 20px;
	font-size: 2.0rem;
	padding: 16px 24px;
	margin: 0.5em 0 0;
}
.cancellation {
	display: flex;
		flex-direction: column;
}
.cancellation > div:first-child {
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: bold;
	margin-bottom: 8px;
}
.cancellation > div:last-child > div {
	display: flex;
		align-items: center;
		flex-wrap: wrap;
}
#main .yoyaku_button_wrap {
	margin-bottom: 32px;
	text-align: center;
}
#main .yoyaku_button a {
	background-color: #99d7db;
	border-radius: 8px;
	color: #fff;
	display: inline-block;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
	padding: 16px 64px;
	text-align: center;
	text-decoration: none;
	-webkit-transition: all .3s;
	transition: all .3s;
}
#main .yoyaku_button a:hover {
	opacity: 0.6;
}
.belongings {
	background-color: #fff;
	border-radius: 8px;
	font-size: 14px;
	font-size: 1.4rem;
	margin-top: 8px;
	padding: 16px;
}
.belongings > ul {
	color: #99d7db;
	font-weight: bold;
	margin: 8px 0 0 1em;
}
#main a.mail_tap {
	font-size: 16px;
	font-size: 1.6rem;
}
/* テーブル */
.checkup td {
	padding: 20px 14px;
}
.checkup td.checkup_years {
	color: #99d7db;
	text-align: center;
	white-space: nowrap;
}
.checkup td.checkup_years span {
	display: none;
}
td.yen {
	text-align: right !important;
}

/*----------------------------
特定健診・特定保健指導（tokutei.jsp）
----------------------------------------------------------*/
ol.method.tokutei {
	border: 1px dotted #99d7db;
	border-radius: 8px;
	display: flex;
		align-items: center;
		flex-direction: column;
		justify-content: center;
	padding: 16px;
	margin-bottom: 16px;
}
ol.method.tokutei li {
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: bold;
}
ol.method.tokutei li:last-of-type {
	margin-bottom: 0;
}

/*----------------------------
インフルエンザ（influenza.jsp）
----------------------------------------------------------*/
.kome02 {
	padding-left: 3em !important;
	text-indent: -2.5em !important;
}
/*----------------------------
その他保健事業（healthother.jsp）
----------------------------------------------------------*/
/* テーブル内のテーブル */
.tbl_tbl th, td {
	border: 1px solid #badbbd;
	text-align: left;
	vertical-align: middle;
}
.tbl_tbl thead th {
	background-color: #99d7db;
	color: #fff;
	font-size:14px;
	font-size: 1.4rem;
	padding: 6px 0;
	text-align: center;
}
.tbl_tbl th,
.tbl_tbl td {
	border: 1px solid #badbbd;
	text-align: left;
	vertical-align: middle;
}
.tbl_tbl td.type {
	background-color: #ecf6ed;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: bold;
	text-align: center;
	white-space: nowrap;
}
.tbl_tbl td.price span {
	display: none;
}
i.fa-car,
i.fa-bus,
i.fa-train {
	color: #99d7db;
	margin-right: 5px;
}
.book {
	border:1px solid #99d7db;
	font-size: 20px;
	font-size: 2.0rem;
	margin: 0.5em 0 0;
	padding: 0.5em 1em;
}
.book i,
.book a {
	color: #99d7db;
}
#main a.tel_tap {
	pointer-events: none;
	text-decoration: none;
}
.img_sample {
	display: block;
	margin: 0 auto;
	max-width: 100%;
}

/*-----------------------------------------------------------------------------
■┓よくある質問（faq.jsp）
┗┛
-----------------------------------------------------------------------------*/
#main .faq_nav {
	display: flex;
		flex-wrap: wrap;
/*		justify-content: center;*/
	margin: 0 auto 64px ;
}
#main .faq_nav a {
	background-color: #99d7db;
	background-repeat: no-repeat;
	border: 1px solid #99d7db;
	border-radius: 28px;
	color: #fff;
	font-size: 13px;
	font-size: 1.3rem;
	margin: 8px;
	padding: 8px 8px 16px;
	position: relative;
	text-align: center;
	text-decoration: none;
	width: calc(100% / 4 - 16px);
}
#main .faq_nav a::after {
	font-family: "Font Awesome 5 Free";
	content: "\f107";
	font-weight: 700;
	margin-bottom: 6px;
	position: absolute;
	bottom: 4px;
	left: calc(50% - 6px);
	width: 6px;
	height: 11px;
}
#main .faq_nav a:hover {
	background-color: #f4f9c2;
	box-shadow: 0 0 5px #99d7db;
}
#main dl.faq:not(:last-of-type) {
	margin-bottom: 64px;
}
#main dl.faq > dt,
#main dl.faq > dd {
	background: #fff;
	position: relative;
}
#main dl.faq > dt {
	border-radius: 16px 0 0 0;
	color: #99d7db;
	cursor: pointer;
	margin-top: 16px;
	padding-right: 40px;
	position: relative;
}
#main dl.faq > dt:hover {
	/*color: #ceecef;*/
	transition: all 0.3s;
}
#main dl.faq > dt::after {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f067";
	position: absolute;
		top: calc(50% - 14px);
		right: 16px;
}
#main dl.faq > dt.open_dd::after {
	content: "\f068";
}
#main dl.faq > dd {
	border-top: 1px dotted #99d7db;
	border-radius: 0 0 8px 8px;
	display: none;
}
#main dl.faq .ic_q,
#main dl.faq .ic_a {
	color: #707070;
	padding: 16px 16px 16px 68px;
	transition: all 0.3s;
}
#main dl.faq .ic_q:hover {
	color: #ceecef;
}
#main dl.faq .ic_q::before,
#main dl.faq .ic_a::before {
	content: "";
	display: block;
	position: absolute;
		top: 8px;
		left: 12px;
	width: 40px;
	height: 40px;
}
#main dl.faq .ic_q::before {
	border-color: #99d7db;
}
#main dl.faq > dt:hover .ic_q::before {
	border-color: #ceecef;
	transition: all 0.3s;
}
#main dl.faq .ic_a::before {
	border-color: #99d7db;
}
#main dl.faq .ic_q::after,
#main dl.faq .ic_a::after {
	display: block;
	font-family: "Noto Sans Japanese";
	font-size: 22px;
	font-size: 2.2rem;
	position: absolute;
	width: 40px;
	height: 40px;
}
#main dl.faq .ic_q::after {
	color: #99d7db;
	content: "Q.";
		top: 9px;
		left: 25px;
}
#main dl.faq .ic_a::after {
	color: #efa6a6;
	content: "A.";
		top: 9px;
		left: 27px;
}
#main dl.faq .ic_a ol{
	counter-reset: item;
	list-style-type: none;
	margin: 1em 0 1em 1em;
	padding-left: 0;
}
#main dl.faq .ic_a ol li {
	margin: 12px 0 4px 16px;
	padding-left: 2em;
	position: relative;
}
#main dl.faq .ic_a ol li::before {
	color: #99d7db;
	content: counter(item)'.';
	counter-increment: item;
	font-family: 'M PLUS 1p';
	transform: rotate(0.03deg);
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: 500;
	position: absolute;
		top: -4px;
		left: 0;
}
#main dl.faq .ic_a ul {
	margin: 1em 0;
}
#main dl.faq .ic_a ul li {
	margin: 4px 0;
	padding-left: 2em;
	position: relative;
}
#main dl.faq .ic_a ul li::before {
	color: #99d7db;
	content: "\f111";
	font-family: "Font Awesome 5 Free";
	font-size: 10px;
	font-size: 1.0rem;
	font-weight: 900;
	margin-left: -1.5em;
	position: absolute;
		top: 2px;
}
.faq_ex {
	border: 1px dotted #99d7db;
	border-radius: 8px;
	margin-top: 1em;
	padding: 16px 24px;
}
.faq_ex_ttl {
	font-family: "M PLUS 1p";
	transform: rotate(0.03deg);
	font-size: 15px;
	font-size: 1.5rem;
	font-weight: 500;
	padding-left: 1em;
	position: relative;
}
.faq_ex_ttl::before {
	color: #99d7db;
	content: "\f111";
	font-family: "Font Awesome 5 Free";
	font-size: 10px;
	font-size: 1.0rem;
	font-weight: 900;
	margin-left: -1.5em;
	position: absolute;
		top: 4px;
}
.faq_ex_contents {
	display: flex;
	margin-top: 8px;
}
.faq_ex_contents > div {
	background: #ecf6ed;
	border-radius: 8px;
	display: flex;
		align-items: center;
	padding: 16px;
}
.faq_ex_contents > div.first_step {
	margin-right: 40px;
	position: relative;
}
.faq_ex_contents > div.first_step::after {
	content: url(../images/arrow_orange.svg);
	margin-left: 8px;
	position: absolute;
		top: calc(50% - 10px);
		right: -24px;
	width: 7px;
	height: 14px;
}

/*-----------------------------------------------------------------------------
■┓お知らせ（infoKenpoList.jsp）
┗┛
-----------------------------------------------------------------------------*/
.newswrap {
	width: 100%;
}
#main ul.years {
	display: flex;
		flex-wrap: wrap;
		gap: 16px;
		justify-content: center;
/*	margin-bottom: 64px;*/
	width: 100%;
}
#main ul.years li {
	margin-bottom: 16px;
	width: 20%;
}
/*
#main .years_btn {
	background-color: #fff;
	border: 1px solid #99d7db;
	border-radius: 28px;
	display: flex;
		align-items: center;
		justify-content: center;
	font-size: 20px;
	font-size: 2.0rem;
	margin: 0 auto;
	text-align: center;
	text-decoration: none;
	width: 128px;
	height: 40px;
}
#main .years_btn:hover {
	background-color: #f4f9c2;
	box-shadow: 0 0 5px #99d7db;
}
*/
.nav02.years a.btn_normal i {
	font-size: 14px;
	font-size: 1.4rem;
}

#main .years_btn {
	font-size: 20px;
	font-size: 2.0rem;
}

#main .years_on {
	background-color: #fffff4;
	display: block;
}
.years_ttl {
	color: #99d7db;
	font-size: 40px;
	font-size: 4.0rem;
	margin-bottom: 40px;
	text-align: center;
}
.news_list {
	margin: 0 auto 24px;
	width: 100%;
}
.news_list dl {
	display: flex;
/*		align-items: center;*/
		flex-wrap: wrap;
	width: 100%;
}
.news_list dl dt,
.news_list dl dd {
	border-bottom: none;
	padding: 5px 0 25px;
}
.news_list dl dt {
	padding-top: 8px;
	width: 20%;
}
.news_list dl dd {
	display: flex;
		align-items: baseline;
	width: 80%;
}
#main h4.news_ttl_wrap {
	display: flex;
		align-items: center;
		flex-wrap: wrap;
	margin: 90px auto 24px;
	width: 87%;
}
.newsdate {
	font-size: 16px;
	font-size: 1.6rem;
	margin-right: 1em;
}
.news_text {
	line-height: 2.0;
	/*
	margin: 0 auto 64px;
	width: 80%;
	*/
}
.news_text a{
	color:#99d7db;
}
.news_text a.ic_closed::after {
	color: #99d7db;
	content: "\f023";
	font-family: FontAwesome;
	font-size: 18px;
	font-size: 1.8rem;
	margin-left: 4px;
}
/*
.news_list dl dd .new,
.news_wrap .info dl dd .new{
	background: #99d7db;
	border-radius: 8px;
	color: #fff;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: bold;
	padding: 2px 6px;
	margin-right: 8px;
}
*/
.news_list dl dd a,
.news_wrap .info dl dd a{
	display:block;
	position: relative;
}
.news_list dl dd .ic_closed::after,
.news_wrap .info dl dd .ic_closed::after{
	color: #99d7db;
	content: "\f023";
	display: inline-block;
	font-family: FontAwesome;
	font-size: 18px;
	line-height: 0.9;
	position: relative;
		top: 2px;
		right: -8px;
}
.news_list dl dd .ic_closed:hover,
.news_wrap .info dl dd .ic_closed:hover{
	text-decoration: none !important;
}

/*-----------------------------------------------------------------------------
■┓組合案内（intro.jsp）
┗┛
-----------------------------------------------------------------------------*/
#main .gmap {
	height: 0;
	overflow: hidden;
	padding-bottom: 56.25%;
	padding-top: 30px;
	position: relative;
}
#main .gmap iframe,
#main .gmap object,
#main .gmap embed {
	position: absolute;
		top: 0;
		left: 0;
	width: 100%;
	height: 100%;
}
/* テーブル */
#intro tbody tr th {
	width: 20%;
}

/*-----------------------------------------------------------------------------
■┓個人情報保護について（policy.jsp）
┗┛
-----------------------------------------------------------------------------*/
.contact_wrap {
	border: 1px solid #99d7db;
	border-radius: 8px;
	margin-top: 24px;
	padding: 16px 32px;
}
.contact_wrap .contact_ttl {
	font-family: 'M PLUS 1p';
	transform: rotate(0.03deg);
	font-weight: 500;
	letter-spacing: .1em;
	position: relative;
}
.contact_wrap .contact_ttl::before {
	color: #99d7db;
	content: "\f141";
	font-family: "Font Awesome 5 Free";
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: 900;
	margin-right: 8px;
}
.contact_wrap .contact_name {
	font-size: 16px;
	font-weight: bold;
}
.contact_wrap .contact_address {
	font-weight: bold;
}
.contact_wrap .contact_address span {
	font-size: 20px;
}
.contact_wrap .contact_time{
	font-size: 12px;
}
#main .pr_ttl {
	border-bottom: 1px solid #99d7db;
	color: #5ebcc2;
	font-family: "M PLUS 1p";
	transform: rotate(0.03deg);
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 500;
	margin-bottom: 16px;
	padding-bottom: 8px;
	padding-left: 2em;
	position: relative;
	width: calc(100% - 4px);
}
#main .pr_ttl::before {
	background: #ceecef;
	content: "";
	position: absolute;
		left: 4px;
		bottom: 2px;
	width: 100%;
	height: 1px;
}
#main dl.policy > dt,
#main dl.policy > dd {
	background: #fff;
	position: relative;
}
#main dl.policy > dt {
	border-radius: 8px 8px 0 0;
	color: #707070;
	cursor: pointer;
	margin-top: 16px;
	padding-right: 40px;
	position: relative;
}
#main dl.policy > dt:hover {
	color: #ceecef;
	transition: all 0.3s;
}
#main dl.policy > dt::after {
	color: #99d7db;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f067";
	position: absolute;
		top: calc(50% - 14px);
		right: 16px;
}
#main dl.policy > dt.open_dd::after {
	content: "\f068";
}
#main dl.policy > dd {
	border-top: 1px dotted #99d7db;
	border-radius: 0 0 8px 8px;
	display: none;
}
#main dl.policy > dt .ic_q {
	position: relative;
}
#main dl.policy > dt .ic_q::before {
	color: #99d7db;
	content: "\f111";
	font-family: "Font Awesome 5 Free";
	font-size: 12px;
	font-weight: 900;
	display: inline-block;
	position: absolute;
		top: 18px;
		left: 32px;
}
#main dl.policy > dt:nth-of-type(even) .ic_q::before {
	color: #efa6a6;
}
#main dl.policy dt > div {
	padding: 16px 16px 16px 56px;
}
#main dl.policy dd > div {
	padding: 24px 32px 48px;
}
/* テーブル */
#pr_tbl tbody tr th.number {
	text-align: center;
	width: auto;
}
#pr_tbl tbody tr td.pr_menu {
	width: 46%;
}
/* リスト */
#main dl.policy ul > li {
	margin: 4px 0;
	padding-left: 2em;
	position: relative;
}
#main dl.policy ul > li::before {
	color: #99d7db;
	content: "\f111";
	font-family: "Font Awesome 5 Free";
	font-size: 10px;
	font-size: 1.0rem;
	font-weight: 900;
	margin-left: -1.5em;
	position: absolute;
		top: 4px;
}
/*-----------------------------------------------------------------------------
■┓リンク（link.jsp）
┗┛
-----------------------------------------------------------------------------*/
#main a.link_area {
	display: block;
	padding: 24px;
	text-decoration: none;
}
#main a.link_area:last-of-type {
	padding-bottom: 0;
}
#main h3.sub_ttl + a.link_area {
	margin-top: -24px;
}
#main a:hover.link_area {
	opacity: .6;
	transition: all .3s;
}
#main a.link_area .link_ttl {
	display: flex;
		align-items: baseline;
	line-height: 1.4;
	margin-bottom: 12px;
}
#main a.link_area .link_ttl .link_page_name {
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: bold;
	margin-right: 1em;
	padding-left: 20px;
	position: relative;
}
#main a.link_area .link_ttl .link_page_name::before {
	color: #99d7db;
	content: "\f111";
	display: block;
	font-family: "Font Awesome 5 Free";
	font-size: 12px;
	font-weight: 900;
	position: absolute;
		top: 3px;
		left: 0;
}
#main a.link_area:nth-of-type(even) .link_ttl .link_page_name::before {
	color: #efa6a6;
}
#main a.link_area .link_ttl .link_page_url {
	color: #99d7db;
	position: relative;
	padding-right: 20px;
}
#main a.link_area .link_ttl .link_page_url::after {
	background: url(../images/icon_externallink.svg) 0 0 no-repeat;
	background-size: 12px 12px;
	content: "";
	display: block;
	position: absolute;
		top: 3px;
		right: 0;
	width: 12px;
	height: 12px;
}
#main a.link_area .link_txt {
	padding-left: 20px;
}

/*-----------------------------------------------------------------------------
■┓サイトマップ（sitemap.jsp）
┗┛
-----------------------------------------------------------------------------*/
#main .wrap_sitemap {
	display: flex;
		justify-content: space-between;
	margin-top: -56px;
}
#main .wrap_sitemap > div {
	width: 30%;
}
#main .wrap_sitemap ul li {
	line-height: 1.4;
}
#main .wrap_sitemap ul li a {
	display: inline-block;
	padding-top: 4px;
	padding-bottom: 4px;
}
#main .wrap_sitemap ul li a:hover {
	opacity: .4;
	transition: all .3s;
}
#main .wrap_sitemap ul li a.no_link {
	cursor: default;
	text-decoration: none;
}
#main .wrap_sitemap ul li a.no_link:hover {
	opacity: 1;
}
#main .wrap_sitemap ul.parent > li { /* 第一階層 */
	position: relative;
}

#main .wrap_sitemap ul.parent > li > a { /* 第一階層 */
	display: block;
	font-size: 14px;
	font-size: 1.4rem;
	margin: 56px 0 4px;
	padding: 4px 0 8px 18px;
}
#main .wrap_sitemap ul.parent > li::before {
	content: "\f111";
	color: #99d7db;
	display: block;
	font-size: 12px;
	font-size: 1.2rem;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	position: absolute;
		top: 8px;
		left: 2px;
}
#main .wrap_sitemap ul.parent > li:nth-of-type(even)::before {
	color: #efa6a6;
}
#main .wrap_sitemap ul.parent > li > a.bd_none { 
	border-bottom: none;
}
#main .wrap_sitemap ul.nest_1,
#main .wrap_sitemap ul.nest_2 {
	position: relative;
}
#main .wrap_sitemap ul.nest_2 {
	margin: 0 0 12px 0;
}
#main .wrap_sitemap ul.nest_1::before,
#main .wrap_sitemap ul.nest_2::before {
	background: #99d7db;
	content: "";
	display: block;
	position: absolute;
		top: 2px;
		left: 8px;
	width: 1px;
	height: calc(100% - 16px);
}
#main .wrap_sitemap ul.nest_1 > li,
#main .wrap_sitemap ul.nest_2 > li {
	padding-left: 24px;
	position: relative;
}
#main .wrap_sitemap ul.nest_1 > li::before,
#main .wrap_sitemap ul.nest_2 > li::before {
	background: #99d7db;
	content: "";
	display: block;
	position: absolute;
		top: 13px;
		left: 8px;
	width: 8px;
	height: 1px;
}
#main .wrap_sitemap ul.nest_1 > li:last-of-type::after,
#main .wrap_sitemap ul.nest_2 > li:last-of-type::after { /* liの最後に改行がつくと、親ulの縦棒がはみ出るので白で消す */
	background: #f6f6f6;
	content: "";
	display: block;
	position: absolute;
		top: 15px;
		left: 4px;
	width: 8px;
	height: calc(100% - 16px);
}

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

フッター
#footer

########################################################################################*/
/*----------------------------
フッターメイン
----------------------------------------------------------*/
#footer {
	background: #f8f8f0;
	margin: 0 calc(36% - 50vw);
	padding: 4px calc(50vw - 64% + 8px) 4px calc(50vw - 36% + 8px);
	width: 100vw;
}
#footer footer {
	max-width: 950px;
	margin: 40px auto 0;
	text-align: center;
}
@media screen and (max-width:950px) {
	#footer footer {
	margin: 40px 16px 0;
	}
}
#footer .kenpoinfo {
	margin-bottom: 16px;
}
#footer .kenpo_name {
	font-family: "M PLUS 1p";
	transform: rotate(0.03deg); 
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: 500;
	margin: 0 1em 8px 0;
}
#footer .kenpo_address,
#footer .kenpo_tel {
	font-size: 12px;
	font-size: 1.2rem;
}
#footer .kenpo_tel {
	display: flex;
}
#footer .kenpo_tel div:first-child {
	margin-right: 2em;
}
#footer .kenpo_tel div > span {
	background-color: #fff;
	border-radius: 2px;
	color: #99d7db;
	display: inline-block;
	font-weight: bold;
	line-height: 1.0;
	margin-right: 6px;
	padding: 1px 4px 2px;
}
#footer .footer_nav {
	display: flex;
		column-gap: 24px;
		flex-wrap: wrap;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: bold;
	margin-bottom: 24px;
}
#footer .footer_nav li a {
	color: #fff;
}
#footer .footer_nav li a::before {
	background-image: url("../images/arrow_white.svg");
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: inline-block;
	margin-right: 12px;
	width: 5px;
	height: 9px;
}

/*----------------------------
コピーライト
----------------------------------------------------------*/
/* お問い合わせフォームで右寄せにするため */
footer > p {
	width: 100%;
	text-align: right;
}
/* ここまで */
#footer small {
	font-size: 8px;
	font-size: .8rem;
	text-align: right;
	width: 100%;
}

/*----------------------------
ページトップ
----------------------------------------------------------*/
.page_top {
	position: fixed;
		bottom: 16px;
		right: 16px;
	z-index: 10;
}
.page_top a {
	background: #fff url(../images/arrow_top.svg) no-repeat;
	background-position: 50% 20%;
	background-size: 15px 15px;
	border-radius: 50%;
	box-shadow: 0 3px 6px 0 rgba(0, 0, 0, .2);
	color: #78b9bd;
	display: inline-block;
	font-size: 8px; /* 固定 */
	font-size: 0.8rem; /* 固定 */
	letter-spacing: 0;
	line-height: 50px; /* 固定 */
	padding-top: 10px;
	position: relative;
	text-align: center;
	text-decoration: none;
	vertical-align: middle;
	width: 60px;
	height: 60px;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
}
.page_top a:hover {
	opacity: 0.6;
	text-decoration: none;
	-webkit-transform: scale( 1.1 );
	-moz-transform: scale( 1.1 );
}

/*-----------------------------------------------------------------------------
■┓お問い合わせフォーム
┗┛
-----------------------------------------------------------------------------*/
#inquiry {
	margin: 0 auto;
	padding: 64px 24px;
	max-width: 800px;
}
#inquiry .arrow {
	margin-bottom: 3em;
}
#inquiry .disabled {
	background: #ddd;
}
.tel_width input[type="text"],
.email_width input[type="text"] {
	width: 400px;
}
.email_area {
	width: 100%;
}
.email_conf {
	display: flex;
		flex-wrap: wrap;
}
.email_conf1_width {
	width: auto;
}
.email_conf1_width input[type="text"] {
	width: 185px;
}
.email_conf2_width input[type="text"] {
	width: 185px;
}
.email_conf2_width {
	display: flex; /* @マーク横並び用 */
	width: auto;
}
.email_conf2_width_contents {
	display: flex;
	width: 100%;
}
.email_conf2_width .mark{
	display: flex;
		align-items: center;
		justify-content: center;
	width: 30px;
	height: 40px; /* input[type="text"]の高さ */
}
.email_conf1_width input {
	width: 185px;
}
.email_conf2_width input {
	width: 185px;
}
.inquiry_textarea {
	width: 100%;
	height: 100px;
}
.wrap_qes {
	margin: 40px auto 64px;;
	width: calc(100% - 80px);
}
.wrap_qes div {
	margin-left: 1em;
	padding: 4px 0;
}
.wrap_qes h4:not(:first-of-type) {
	margin-top: 24px;
}

/* arrow */
.arrow {
	border: none;
	border-collapse: separate;
	border-spacing: 0 5px;
	width: 100%;
}
.arrow th,
.arrow td {
	border:0 ;
	text-align: left;
}
.arrow > tbody >tr > th {
	background: #ceecef;
	border-radius: 4px 0 0 4px;
	overflow: visible;
	white-space: nowrap;
	width: 30%;
}
.arrow > tbody > tr > td {
	background: #ecf6ed;
	border-radius: 0 4px 4px 0;
	padding-left: 20px;
}
#inquiry .arrow td.name_width_flex {
	display: flex;
		flex-wrap: wrap;
}
.name_width input {
	margin-right: 1em;
	width: 200px;
}
.guide_tbl {
	border-collapse: collapse;
	border-spacing: 0;
	margin: 1em 0 2em 1em;
}
.guide_tbl th.ttl {
	background: #808080;
	color: #fff;
	font-weight: normal;
}
.guide_tbl th {
	background: #efefef;
	border: 1px solid #ccc;
	color: #333;
	font-weight: normal;
	padding: 8px;
	vertical-align: middle;
	white-space: nowrap;
}
.guide_tbl td {
	border: 1px solid #ccc;
	padding: 8px;
}
/* provision_tbl */
.provision_tbl {
	border-collapse: collapse;
	border-spacing: 0;
	margin-bottom: 1em;
	width: 100%;
}
.provision_tbl th {
	background-color: #808080;
	border: 1px solid #ccc;
	color: #fff;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: normal;
	min-width: 200px;
	padding: 8px;
	text-align: center;
	white-space: nowrap;
}
.provision_tbl th:first-of-type {
	width: 200px;
}
.provision_tbl td.provision_ttl {
	background-color: #efefef;
	color: #99d7db;
	text-align: left;
	vertical-align: middle;
}
.provision_tbl td {
	border: 1px solid #ccc;
	padding: 10px;
}
.provision_tbl td dt {
	margin-bottom: .5em;
}
.provision_tbl td dt span {
	border-radius: 4px;
	display: inline-block;
	font-size: 14px;
	line-height: 1;
	margin-right: 4px;
	padding: 4px 8px;
}
.provision_tbl td dt span.insured {
	background: #cdf;
	border: 1px solid #008;
	color: #008;
}
.provision_tbl td dt span.dependents {
	background: #ffe6b2;
	border: 1px solid #b34700;
	color: #b34700;
}
.provision_tbl td dt img {
	margin-right: 5px;
}
.provision_tbl td dd{
	font-weight: bold;
	margin-bottom: 1em;
	padding-left: 5px;
}
.radio,
.checkbox {
	border-radius: 8px;
	cursor: pointer;
	display: inline-block;
	margin: 0 20px 0 0;
	padding: 12px 12px 12px 42px;
	position: relative;
	transition: background-color 0.2s linear;
	-webkit-transition: background-color 0.2s linear;
	vertical-align: middle;
}
.radio:hover::after, .checkbox:hover::after {
	border-color: #999;
}
.radio::after, .checkbox::after {
	border: 2px solid #999;
	border-radius: 10px;
	content: '';
	display: block;
	margin-top: -10px;
	position: absolute;
		top: 50%;
		left: 15px;
	transition: border-color 0.2s linear;
	-webkit-transition: border-color 0.2s linear;
	width: 16px;
	height: 16px;
}
.radio::before {
	background-color: #99d7db;
	border-radius: 50%;
	content: '';
	display: block;
	margin-top: -5px;
	opacity: 0;
	position: absolute;
		left: 20px;
		top: 50%;
	transition: opacity 0.2s linear;
	-webkit-transition: opacity 0.2s linear;
	width: 10px;
	height: 10px;
}
.checkbox::after {
	border: 2px solid #999;
	border-radius: 2px;
	content: '';
	display: block;
	margin-top: -10px;
	position: absolute;
		top: 50%;
		left: 15px;
	transition: border-color 0.2s linear;
	-webkit-transition: border-color 0.2s linear;
	width: 16px;
	height: 16px;
}
.checkbox::before {
	border-right: 3px solid #53b300;
	border-bottom: 3px solid #53b300;
	content: '';
	display: block;
	margin-top: -7px;
	opacity: 0;
	position: absolute;
		top: 50%;
		left: 21px;
	transition: opacity 0.2s linear;
	-webkit-transition: opacity 0.2s linear;
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	width: 5px;
	height: 9px;
}
.button {
	display: flex;
		align-items: center;
		flex-wrap: wrap;
		justify-content: center;
	margin: 40px 10px;
}
.button input {
	font-size: 16px;
	font-size: 1.6rem;
	padding: 8px 16px;
	margin: 10px;
	min-width: 200px;
	height: 40px;
}
input[type=submit], input[type=reset] {
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	/* box-shadow: none; */
}
.qes_tel {
	border-style: dotted;
	border-width: 1px 0;
	display: inline-block;
	margin: 16px 0 32px;
	padding: 12px;
}
#inquiry span.note{
	color: #f00;
	font-size: 12px;
	font-size: 1.2rem;
}

/*-----------------------------------------------------------------------------
■┓個人情報（/vc/g314/usr/personal/ja-view_kenpo.jsp）
┗┛パスワード変更（/vc/g314/usr/personal/ja-update_password_form.jsp）
-----------------------------------------------------------------------------*/
#main .tbl_telnum th, 
#main .tbl_telnum td {
	border: 1px solid #ccc;
	padding: 12px;
}
.tbl_telnum th {
	background-color: #eee;
	color: #333;
	font-weight: normal;
	width: 30%;
}
#main .tbl_telnum td {
	background-color: #fff;
}
.tbl_telnum td::before {
	content: none;
}
.personal_btn {
	margin: 0 auto 100px;
	width: 300px;
}
#main a.btn_goto {
	background-color: #666;
	color: #fff;
	display: inline-block;
	font-size: 18px;
	font-size: 1.8rem;
	padding: 16px 32px;
	text-align: center;
	text-decoration: none;
}
#main a.btn_goto::after {
	color: #fff;
	content: "\f061";
	font-family: "Font Awesome 5 Free";
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 700;
	margin-left: 10px;
}
#main a.btn_goto:hover,
input.btn_submit:hover,
input.btn_back:hover {
	opacity: 0.6;
}
#main .tbl_dependent {
	width: 100%;
}
#main .tbl_dependent th,
#main .tbl_dependent td {
	border: 1px solid #ccc;
	padding: 12px;
	vertical-align: middle;
	white-space: nowrap;
}
#main .tbl_dependent th {
	font-weight: normal;
	text-align: center;
}
#main .tbl_dependent th.dep_no {
	width: 10%;
}
#main .tbl_dependent th.dep_name span {
	font-size: 14px;
	font-size: 1.4rem;
}
#main .tbl_dependent td.dep_no,
#main .tbl_dependent td.dep_birthday,
#main .tbl_dependent td.dep_sex,
#main .tbl_dependent td.dep_relation {
	text-align: center;
}
#main .tbl_dependent td.dep_lastname span,
#main .tbl_dependent td.dep_firstname span {
	font-size: 14px;
	font-size: 1.4rem;
}
form.password_change {
	margin: 0 auto;
	width: 90%;
}
form.password_change table th {
	width: 35%;
}
form.password_change table td .it_middle {
	width: 100%;
}
input.btn_submit,
input.btn_back {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	border-radius: 8px;
	color: #fff;
	cursor: pointer;
	font-family: inherit;
	font-size: inherit;
	line-height: 1;
	transition: all .2s;
}
input.btn_submit {
	background-color: #99d7db;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
	height: 60px;
	min-width: 256px;
}
input.btn_back {
	background-color: #999;
	color: #fff;
	font-size: 18px;
	font-size: 1.8rem;
	height: 60px;
	min-width: 200px;
}
input.btn_submit:focus,
input.btn_back:focus {
	outline: none;
}
nav.submit_apply_form {
	margin: 56px auto 80px;
}
#main .link_about_mail,
#main .input_email_area,
#main .ck_nomail {
	border-bottom: 1px dotted #d6d6d6;
	padding: 12px 0;
}
#main .link_about_mail {
	padding-top: 4px;
}
#main .mail_alert {
	color: red;
	font-size: 14px;
	font-size: 1.4rem;
	padding: 8px 0 4px 1em;
	text-indent: -1em;
}
#main .link_about_mail > div {
	line-height: 1.2;
	padding-left:12px;
	position: relative;
}
#main .link_about_mail > div:before {
	color: gray;
	content: "\f054"; /* fa-chevron-right */
	font-family: FontAwesome;
	font-size: 8px;
	font-size: .8rem;
	position: absolute;
		top: 6px;
		left: 0;
}
#main .link_about_mail > div span {
	color: red;
	font-size: 14px;
	font-size: 1.4rem;
	margin-left: 1em;
}
#main .sub_text {
	color: #555;
	font-size: 14px;
	font-size: 1.4rem;
}
#main .input_email_area .input_email {
	width: 480px;
}
#main .input_email_area .input_email_conf1 {
	margin-right: 4px;
	width: 228px;
}
#main .input_email_area .input_email_conf2 {
	margin-left: 4px;
	width: 228px;
}
#main .input_email_area > div:first-of-type {
	margin-bottom: 12px;
}
#main .input_email_area .btn_send_email {
	margin-top: 4px;
}
#main .input_email_area .btn_send_email a {
	background: #99d7db;
	color: #fff;
	display: inline-block;
	font-size: 14px;
	font-size: 1.4rem;
	padding: 4px 8px 4px 26px;
	position: relative;
	text-decoration: none;
}
#main .input_email_area .btn_send_email a::before {
	content: "\f003 ";
	font-family: FontAwesome;
	position: absolute;
		top: 4px;
		left: 8px;
}
#main .input_email_area .btn_send_email a:hover {
	opacity: .6
}
#main input.it_long {
	width: 480px;
}
#main input.it_middle {
	width: 280px;
}
#main input.it_short {
	width: 160px;
}
