@charset "utf-8";
/*==================================================================================================

基本設定

■ベースカラー：#2e2e38, #333(text), #f7f7f7(bg_グレー), #2e2e38(border_), #2e2e38(.point_ttl前の●緑), #edd601(.point_ttl.even 偶数のとき●オレンジ)
								#faffca(point_bg), #2e2e38(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
┗ #gray_panel（panel_menu表示時の背景グレーアウト用）
┗ header
	┗.hd_top
	┗.hd_nav
		┗.hd_contents
			┗.con_mail
			┗.con_chalang
			┗.con_logout （closed_site用）
		┗.search_box
┗ #panel_menu（sp用）
┗ nav
	┗.gnavi
┗ #panel_contents
（トップページ用）
┗ .bxslider_wrap
	┗.bxslider
┗ main#main_top
	┗.main_nav
	┗.contents_wrap
		┗.left_contents
			┗.news
			┗.solution
		┗.right_contents
			┗.pickup
			┗.useful_info
（セカンダリページ用）
┗ main#main
	┗.contents_wrap
		┗.breadcrumbs
		┗.contents
			┗.ttl_wrap
			┗.wrap_content_section
				┗.content_section
			(背景白の時はこちら)
			┗.wrap_content_section_w
				┗.content_section_w
┗ #footer
	┗footer
		┗.kenpoinfo
		┗.footer_nav
		┗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: #f7f7f7;
	color: #333;
	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;
}
.container {
	width: 100%;
}
p {
	margin-bottom: 1em;
}
br {
	letter-spacing: normal;
}
label {
	cursor: pointer;
}
img {
	vertical-align: bottom;
}
a {
	color: #333;
	outline: none;
	text-decoration: none;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}
a img {
	transition: all .2s;
}
a:hover {
	text-decoration: underline;
}
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 #2e2e38;
	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;
}

/*########################################################################################

ヘッダー
header

########################################################################################*/
#gray_panel {
	background: #000;
	display: none;
	opacity: 0.6;
	position: fixed;
		top: 0;
		left: 0;
	width: 100%;
	height: 99999px;
	z-index: 9997;
}
#hd_bg,
#header_s {
	background: #fff;
	padding-bottom: 24px;
}
header {
	max-width: 950px;
	margin: 0 auto;
}
@media screen and (max-width:950px) {
	header {
	margin: 0 16px;
	}
}

/*----------------------------
上部左ロゴ
----------------------------------------------------------*/
h1 {
	background: url(../images/logo.svg) no-repeat left center;
	background-size: 25px 25px;
	font-size: 20px;
	font-size: 2.0rem;
	font-family: "Noto Sans Japanese";
	font-weight: bold;
	letter-spacing: 0.05em;
	line-height: 1;
	padding-left: 40px;
}
h1 .kenpo_tit {
	font-family: "Noto Sans Japanese";
}
.kenpo_en {
	color: #2e2e38;
	display: inline-block;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: normal;
	letter-spacing: 0.03em;
	margin-top: 8px;
}
.hd_top {
	display: flex;
		justify-content: space-between;
	padding: 24px 0;
}
.hd_top a {
	color: #333;
	margin-right: auto;
}
.hd_top a:hover {
	text-decoration: none;
}

/*----------------------------
上部右ナビゲーション
----------------------------------------------------------*/
.hd_nav ul {
	display: flex;
		align-items: center;
		flex-wrap: wrap;
		justify-content: flex-end;
	margin-bottom: 8px;
}
.hd_nav > ul > li.con_mail > a {
	background-image: url(../images/icon_mail.svg);
	background-position: left center;
	background-repeat: no-repeat;
	background-size: 18px 12px;
	font-weight: bold;
	margin-right: 24px;
	padding: 2px 0 2px 24px;
}
.hd_nav > ul > li.con_chglang > a,
#header a.btn_lang_hd { /* SSO画面用 */
	background-image: url(../images/icon_chglang.svg);
	background-position: left top;
	background-repeat: no-repeat;
	background-size: 22px 20px;
	font-weight: bold;
	padding: 2px 5px 2px 28px;
}
#header a.btn_lang_hd span { /* SSO画面用 */
	vertical-align: 4px;
}

/*----------------------------
検索ボックス
----------------------------------------------------------*/
.search_box {
	margin-left: 24px;
}
.search_bar_fh {
	display: flex;
		align-items: center;
		justify-content: flex-end;
}
.search_bar_fh > div > input {
	border: 1px solid #c7c7c7;
	border-radius: 4px 0 0 4px;
	background: #fff;
	box-shadow: none;
	overflow: hidden;
	-webkit-appearance: none;
	width: 200px;
	height: 32px;
}
.search_bar_fh > div > a {
	background-color: #2e2e38;
	border-radius: 0 4px 4px 0;
	color: #fff;
	display: block;
	font-weight: normal;
	padding: 4px 2px 2px;
	text-align: center;
	width: 72px;
	height: 32px;
}
.search_bar_fh > div > a:hover {
	text-decoration: none;
	opacity: .6;
}
.search_bar_fh > div > a > i {
	margin-right: 2px;
}
/*----------------------------
グローバルナビゲーション
----------------------------------------------------------*/
.gnavi {
	display: flex;
		justify-content: center;
	margin: 40px auto 0;
}
.gnavi li {
	border-right: 1px dotted #2e2e38;
	width: 25%;
	height: auto;
}
.gnavi li:first-child{
	border-left: 1px dotted #2e2e38;
}
.gnavi li a {
	display: flex;
		align-items: center;
		justify-content: center;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: bold;
	letter-spacing: 0.06em;
	padding: 12px 8px;
	height: 100%;
}
.gnavi li a::before {
	background-position: left center;
	background-repeat: no-repeat;
	content: "";
	display: inline-block;
	margin-right: 8px;
	-webkit-transition: -webkit-transform .8s ease-in-out;
	transition: transform 0.8s ease-in-out;
}
.gnavi li a:hover {
	text-decoration: none;
}
.gnavi li a:hover::before {
	-webkit-transform: rotate(360deg);
	transform: rotate(360deg);
}
.gnavi li a.guide::before {
	background-image: url(../images/guide.svg);
	width: 32px;
	height: 32px;
}
.gnavi li a.situation::before {
	background-image: url(../images/situation.svg);
	width: 25px;
	height: 24px;
}
.gnavi li a.application::before {
	background-image: url(../images/application.svg);
	width: 19px;
	height: 26px;
}
.gnavi li a.health::before {
	background-image: url(../images/health.svg);
	background-size: 23px 22px;
	width: 23px;
	height: 22px;
}
.gnavi li a.faq::before {
	background-image: url(../images/faq.svg);
	width: 31px;
	height: 26px;
}

/*----------------------------
パンくずリスト
----------------------------------------------------------*/
#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: #2e2e38;
}
#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_wrap::before {
	background-image: url("../images/bg_wave.svg");
	background-position: left bottom;
	background-repeat: repeat-x;
	background-size: contain;
	content: "";
	display: block;
	position: absolute;
		top: -14px;
		right: 0;
		left: 0;
	height: 14px;
}
.contents {
	display: flex;
		flex-wrap: wrap;
	max-width: 950px;
	margin: 0 auto;
	padding: 56px 0 24px;
}
@media screen and (max-width:950px) {
	.contents {
	margin: 0 16px;
	}
}

/*----------------------------
ボタン  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 #2e2e38;
	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）

########################################################################################*/
/*----------------------------
スライダー
.bxslider
----------------------------------------------------------*/
.bxslider_bg {
	background:#fff;
	padding-bottom: 60px;
}
.bxslider_wrap {
	margin: 0 auto;
	position: relative;
	width: 100%;
	max-width: 950px;
}
.bx-wrapper .bx-pager {
	color: #2e2e38;
	text-align: center;
}
.bx-wrapper {
	margin-bottom: 0 !important;
}
.bx-wrapper .bx-pager.bx-default-pager a {
	border: 1px solid #2e2e38;
}
.bx-wrapper .bx-pager.bx-default-pager a:hover,
.bx-wrapper .bx-pager.bx-default-pager a.active,
.bx-wrapper .bx-pager.bx-default-pager a:focus {/*jquery.bxslider.cssを上書き*/
	background: #2e2e38;
}
.bx-wrapper .bx-viewport {
	border-width: 0 !important;
	box-shadow: none;
		left: 0;
	overflow: visible !important;
}
.bx-viewport::before,
.bx-viewport::after {
	background-color: rgba(255, 255, 255, 0.5);
	content: "";
	position: absolute;
		top: 0;
		bottom: 0;
		left: -100%;
	z-index: 1000;
}
.bx-viewport::before {
		left: -100%;
		right: 100%;
}
.bx-viewport::after {
		left: 100%;
		right: -100%;
}
ul.bxslider li a::before,
ul.bxslider li a::after {
	background-image: url(../images/bg_wave_w.svg);
	background-position: left bottom;
	background-repeat: repeat-x;
	background-size: contain;
	content: "";
	display: inline-block;
	position: absolute;
		left: 0;
	width: 950px;
	max-width: 100%;
	height: 14px;
}
ul.bxslider li a::before {
	transform: scale(1,-1);
		top: 0;
	z-index: 2;
}
@media all and (-ms-high-contrast: none) {
	ul.bxslider li a::before {
			top: -1px; /* IE10以上 画像の隙間対策 */
	}
}
ul.bxslider li a::after {
		bottom: 0;
}

/* ADDITIONSAL SLIDE NAVI */
.btn_wrap {
	min-width: 950px;
}
.next-btn {
	position: absolute;
		top: calc(50% - 28px);
		right:0;
	width: 28px;
	height: 56px;
}
.prev-btn {
	position: absolute;
		top: calc(50% - 28px);
		left: 0;
	width: 28px;
	height: 56px;
}
.bx-prev,
.bx-next {
	display: block;
	position: absolute;
		top:0;
	width: 100%;
	height: 100%;
	z-index: 100;
}
.next-btn img,
.prev-btn img {
	opacity: 0.9;
	width: 28px;
	height: 56px;
}
/*----------------------------
メインナビゲーション
----------------------------------------------------------*/
.main_nav {
	background: #fff;
	padding-bottom: 40px;
	text-align: center;
}
.main_nav ul {
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	margin: 0 auto 32px;
	max-width: 950px;
}
@media screen and (max-width:950px) {
	.main_nav ul {
	margin: 0 16px;
	}
	.main_nav ul + .sub_bnr {
		margin-top: 32px;
	}
}
.main_nav ul li {
	text-align: center;
}
.main_nav ul li a {
	background-color: #fff;
	background-repeat: no-repeat;
	border-radius: 4px;
	box-shadow: 0 0 5px #b7c3d0;
	display: flex;
		justify-content: center;
	padding: 8px 2px;
	position: relative;
	text-decoration: none;
	-webkit-transition: all .3s;
	transition: all .3s;
	width: 100%;
	height: 104px;
}
.main_nav ul li a:hover {
	background-color: #fff58f;
	box-shadow: 0 0 5px #edd601;
	text-decoration: none;
}
.main_nav ul li a .mnav_ttl {
	color: #2e2e38;
	display: flex;
		align-items: center;
		justify-content: center;
	font-weight: bold;
	margin-top: auto;
	height: 32px;
	line-height: 1.2;
	text-align: center;
}
.main_nav ul li.pers a {
	background-image: url(../images/pers.svg);
	background-position: center 18px;
	background-size: 46px 39px;
}
.main_nav ul li.crems a {
	background-image: url(../images/crems.svg);
	background-position: center 16px;
	background-size: 52px 43px;
}
.main_nav ul li.me a {
	background-image: url(../images/me.svg);
	background-position: center 18px;
	background-size: 42px 41px;
}
.main_nav ul li.kennin a {
	background-image: url(../images/kennin.svg);
	background-position: center 12px;
	background-size: 47px 47px;
}
.main_nav ul li.sheal a {
	background-image: url(../images/sheal.svg);
	background-position: center 12px;
	background-size: 30px 49px;
}
.main_nav ul li.vc a {
	background-image: url(../images/vc.svg);
	background-position: center 18px;
	background-size: 38px 40px;
}
.main_nav ul li.eshinsei a {
	background-image: url(../images/eshinsei.svg);
	background-position: center 18px;
	background-size: 53px 40px;
}
.main_nav ul li.second_opinion a {
	background-image: url(../images/second_opinion.png);
	background-position: center 5px;
	background-size: 60px 60px;
}
.main_nav ul li.telcon_24 a {
	background-image: url(../images/telcon_24.png);
	background-position: center 8px;
	background-size: 56px 56px;
}
.main_nav ul li.shikaku_joho a {
	background-image: url(../images/shikaku_joho.svg);
	background-position: center 14px;
	background-size: 51px 48px;
}
/* クローズ期間のボタン */
.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: translateY(0); }
	from { transform: translateY(4px); }
}

/*----------------------------
トップページ共通
----------------------------------------------------------*/
#main_top .left_contents {
	margin-right: 32px;
	width: calc(100% - 272px);
}
#main_top .right_contents {
	width: 240px;
}
#main_top h2 {
	font-family: "M PLUS 1p";
	transform: rotate(0.03deg); 
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: 0.06em;
	margin-bottom: 16px;
	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;
}
article.news .info {
	border-top: 1px dotted #2e2e38;
	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 #2e2e38;
}
article.news .info dl dt {
	font-size: 12px;
	font-size: 1.2rem;
	padding: 18px 0;
	width: 18%;
}
article.news .info dl dd {
	padding: 16px 0;
	width: 82%;
}
article.news .info dl dd .new {
	background: #2e2e38;
	border-radius: 8px;
	color: #fff;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight :bold;
	padding: 2px 6px;
	margin-right: 8px;
}
article.news .info .look {
	position: absolute;
		top: 0;
		right: 0;
}
article.news .info .look a {
	background-image: url("../images/bg_look.png");
	border-radius: 4px;
	color: #fff;
	display: block;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: bold;
	padding: 2px 20px 2px 12px;
	position: relative;
	text-align: center;
}
article.news .info .look a::after {
	background-image: url("../images/arrow_white.svg");
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: inline-block;
	position: absolute;
		top: calc(50% - 5px);
		right: 12px;
	width: 5px;
	height: 9px;
}
article.news ul {
	width: 25%;
}

/*----------------------------
こんな時どうする？
----------------------------------------------------------*/
article.solution ul {
	display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
}
article.solution ul li {
	margin-bottom: 16px;
	width: calc(50% - 8px);
	height: 80px;
}
article.solution ul li a {
	background-color: #fff;
	border-radius: 4px;
	color: #2e2e38;
	display: flex;
		align-items: center;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.3;
	padding: 16px;
	position: relative;
	width: 100%;
	height: 100%;
}
article.solution ul li a.situation_06 {
	letter-spacing: -.01em;
}
article.solution ul li a::before {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: inline-block;
	margin-right: 4px;
	width: 60px;
}
article.solution ul li a.situation_02::before {
	background-image: url("../images/icon_01.svg");/* 医療費が高額になったとき */
	height: 42px;
}
article.solution ul li a.situation_04::before {
	background-image: url("../images/icon_02.svg");/* 立て替え払いをしたとき */
	height: 37px;
}
article.solution ul li a.situation_10::before {
	background-image: url("../images/icon_03.svg");/* 結婚したとき */
	height: 46px;
}
article.solution ul li a.situation_11::before {
	background-image: url("../images/icon_04.svg");/* 出産したとき */
	height: 43px;
}
article.solution ul li a.situation_12::before {
	background-image: url("../images/icon_05.svg");/* 新たに家族が増えたとき */
	height: 43px;
}
article.solution ul li a.situation_15::before {
	background-image: url("../images/icon_06.svg");/* 保険証を紛失したとき */
	height: 35px;
}
article.solution ul li a.guide_05::before {
	background-image: url("../images/icon_07.svg");/* 保険給付一覧 */
	height: 41px;
}
article.solution ul li a.situation_06::before {
	background-image: url("../images/icon_08.svg");/* 病気やケガで会社を休んだとき */
	height: 42px;
}
article.solution ul li a.situation_13::before {
	background-image: url("../images/icon_09.svg");/* 亡くなったとき */
	height: 38px;
}
article.solution ul li a.situation_14::before {
	background-image: url("../images/icon_10.svg");/* 退職したとき */
	height: 42px;
}
article.solution ul li a::after {
	content: url("../images/arrow_black.svg");
	margin-left: 8px;
	position: absolute;
		top: calc(50% - 8px);
		right: 16px;
	width: 8px;
	height: 16px;
}
article.solution ul li a:hover {
	background: #2e2e38;
	box-shadow: 0 0 5px #b7c3d0;
	color: #fff;
}
article.solution ul li a:hover::after {
	content: url("../images/arrow_white.svg");
}
article.solution ul li a.situation_02:hover::before {
	background-image: url("../images/icon_01_w.svg");/* 医療費が高額になったとき */
}
article.solution ul li a.situation_04:hover::before {
	background-image: url("../images/icon_02_w.svg");/* 立て替え払いをしたとき */
}
article.solution ul li a.situation_10:hover::before {
	background-image: url("../images/icon_03_w.svg");/* 結婚したとき */
}
article.solution ul li a.situation_11:hover::before {
	background-image: url("../images/icon_04_w.svg");/* 出産したとき */
}
article.solution ul li a.situation_12:hover::before {
	background-image: url("../images/icon_05_w.svg");/* 新たに家族が増えたとき */
}
article.solution ul li a.situation_15:hover::before {
	background-image: url("../images/icon_06_w.svg");/* 保険証を紛失したとき */
}
article.solution ul li a.guide_05:hover::before {
	background-image: url("../images/icon_07_w.svg");/* 保険給付一覧 */
}
article.solution ul li a.situation_06:hover::before {
	background-image: url("../images/icon_08_w.svg");/* 病気やケガで会社を休んだとき */
}
article.solution ul li a.situation_13:hover::before {
	background-image: url("../images/icon_09_w.svg");/* 亡くなったとき */
}
article.solution ul li a.situation_14:hover::before {
	background-image: url("../images/icon_10_w.svg");/* 退職したとき */
}

/*----------------------------
ピックアップコンテンツ
----------------------------------------------------------*/
.pickup {
	margin-bottom: 48px;
}
.pickup li:not(:last-of-type) {
	margin-bottom: 16px;
}
.pickup li a {
	background: #fff;
	border: 1px solid #2e2e38;
	border-radius: 8px;
	letter-spacing: 0.06em;
	padding: 16px 32px 16px 16px;
	position: relative;
	width: 100%;
}
.pickup li a .pickup_ttl {
	font-weight: bold;
}
.pickup li a .pickup_txt {
	font-size: 12px;
	font-size: 1.2rem;
	line-height: 1.5;
}
.pickup li a::after {
	content: url("../images/arrow_black.svg");
	margin-left: 8px;
	position: absolute;
		top: calc(50% - 10px);
		right: 16px;
	width: 7px;
	height: 14px;
}
.pickup li a .icn_lock::before {
	content: "\f023";
	display: inline-block;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 5px;
}

/*----------------------------
お役立ちコンテンツ
----------------------------------------------------------*/
.useful_info {
	background: #f6f6f6;
	margin-bottom: 48px;
	padding: 20px 16px 24px;
}
.useful_info .useful_info_ttl {
	background-image: url("../images/fukidashi.png");
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	font-family: "M PLUS 1p";
	transform: rotate(0.03deg);
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: 0.06em;
	margin-bottom: 12px;
	padding-top: 4px;
	text-align: center;
	width: auto;
	height: 48px;
}
.useful_info ul {
	display: flex;
		align-items: center;
		flex-direction: column;
}
.useful_info ul li {
	position: relative;
	overflow:hidden;
	width: 210px;
	height: 72px;
}
.useful_info ul li:not(:last-of-type) {
	margin-bottom: 16px;
}
.useful_info ul li a {
	display: block;
}
.useful_info ul li a:hover {
	transform:scale(1.2,1.2);
	transition:1s all;
	opacity: 1;
}
.useful_info ul li a:hover img {
	opacity: 1;
}
.useful_info ul li a .pickup_ttl {
	color: #fff;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: bold;
	position: absolute;
		top: 50%;
		left: 50%;
		-ms-transform: translate(-50%,-50%);
		-webkit-transform: translate(-50%,-50%);
		transform: translate(-50%,-50%);
	text-align: center;
	width: 100%;
}
.useful_info ul li a.pick_dh .pickup_ttl {
	letter-spacing: -.03em;
}

/*----------------------------
外部リンク
----------------------------------------------------------*/
.links {
	margin-bottom: 40px;
}
.links ul li a {
	background-color: #fff;
	border: 1px solid #2e2e38;
	border-radius: 8px;
	display: flex;
		align-items: center;
		justify-content: center;
	width: 100%;
	height: 56px;
	overflow: hidden;
}
.links ul li a.bdnone {
	background-color: transparent;
	border: none;
}
.links ul li:not(:last-of-type) {
	margin-bottom: 16px;
}

/*########################################################################################

セカンダリページ 目次
main#main

########################################################################################*/
.outline_2column,
.outline_3column {
	display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
}
.outline_2column::before,
.outline_3column::before {
	content:"";
	display:block;
	order: 1;
	width: calc(100% / 3 - 13px);
}
#main .outline_2column a,
#main .outline_3column a {
	background-color: #fff;
	border-radius: 8px;
	border: 1px dotted #2e2e38;
	margin: 0 0 24px 0;
	padding: 24px 16px;
	text-decoration: none;
}
#main .outline_3column a {
	width: calc(100% / 3 - 13px);
}
#main .outline_2column a {
	width: calc(50% - 13px);
}
#main .outline_2column a:hover,
#main .outline_3column a:hover {
	background-color: #fff58f;
	-webkit-transition: -webkit-transform .3s ease-in-out;
	transition: transform .3s ease-in-out;
}
#main .out_ttl {
	color:#2e2e38;
	font-family: "M PLUS 1p";
	transform: rotate(0.03deg); 
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.4;
	padding-right: 16px;
	position: relative;
	width: 100%;
}
#main .out_ttl::after {
	content: url("../images/arrow_black.svg");
	margin-left: 8px;
	position: absolute;
		top: calc(50% - 10px);
		right: 4px;
	width: 8px;
	height: 16px;
}
#main .out_ttl span {
	font-size: 14px;
	font-size: 1.4rem;
}
#main .out_txt {
	margin-top: 8px;
}
/* タイトル以外の要素がない時 */
#main .outline_3column a:not(:has(.out_txt)) {/* タイトル以外の要素がない時 */
	display: flex;
		align-items: center;
}

#main .outline_3column a:not(:has(.out_txt)) .out_ttl::after {/* タイトル以外の要素がない時 */
	top: calc(50% - 11px);
}
/* クローズ期間中(グレー)ボタン */
#main .outline_3column .pre_btn {
	background-color: rgba(0,0,0,0.1);
	background-color: #edeff0;
	border: 1px dotted #bbb;
	border-radius: 8px;
	color: #999;
	margin: 0 0 24px 0;
	padding: 24px 16px;
	text-decoration: none;
	width: calc(33% - 13px);
}
#main .outline_3column .pre_btn .out_ttl {
	color: #999;
}
#main .pre_btn .out_ttl::after {
	content:"";
}

/*----------------------------
病気やけがをしたとき
----------------------------------------------------------*/
#main .sick {
	border: 1px dotted #2e2e38;
	margin: 0 0 24px 0;
	margin-bottom: 40px;
	padding: 32px 24px 8px;
	position: relative;
	width: 100%;
}
#main .sick_ttl {
	background: #f7f7f7;
	color: #2e2e38;
	font-family: "M PLUS 1p";
	transform: rotate(0.03deg); 
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.4;
	margin: 16px 0 32px;
	padding: 0 16px;
	position: absolute;
		top: -28px;
		left: calc(50% - 100px);
	text-align: center;
}
#main .sick .outline_2column a {
	display: flex;
		align-items: center;
}

/*########################################################################################

セカンダリページ 通常版
main#main

########################################################################################*/
/*強調*/
em {

	color: #a16000;
}
#main {
	padding-top: 14px;
}
.width800 {
	width: 800px;
	max-width: 100%;
}
/*段落などの下のスペース*/
.mb64px {
	margin-bottom: 64px !important;
}
/*----------------------------
ページタイトル
----------------------------------------------------------*/
#main .ttl_wrap {
	margin-bottom: 48px;
	text-align: center;
	width: 100%;
}
#main .ttl_en {
	color: #2e2e38;
	font-size: 10px;
	font-size: 1.0rem;
	letter-spacing: .2em;
	margin-bottom: 16px;
}
#main .ttl_wrap .ttl_category {
/*	color: #2e2e38;*/
	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::before {
	display: block;
	margin: 0 auto 8px;
}
#main h2.guide::before {
	content: url(../images/guide.svg);
	width: 40px;
	height: 40px;
}
#main h2.situation::before {
	content: url(../images/situation.svg);
	width: 34px;
	height: 34px;
}
#main h2.application::before {
	content: url(../images/application.svg);
	width: 26px;
	height: 36px;
}
#main h2.health::before {
	content: url(../images/health.svg);
	width: 32px;
	height: 32px;
}
#main h2.faq::before {
	content: url(../images/faq.svg);
	width: 40px;
	height: 40px;
}
#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: 0 auto;
	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: 2px;
		left: 0;
	width: 25px;
	height: 24px;
}
#main .ctg_guide::before {
	content: url(../images/guide.svg);
	width: 20px;
	height: 20px;
}
#main .ctg_situation::before {
	content: url(../images/situation.svg);
	padding-bottom: 2px;
	width: 18px;
	height: 18px;
}
#main .ctg_health::before {
	content: url(../images/health.svg);
	width: 16px;
	height: 16px;
}

/*----------------------------
ページ本文
----------------------------------------------------------*/
#main .wrap_content_section {
	width: 100%;
}
#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_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: #2e2e38;
	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: #e1f3fd;
	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: #2e2e38;
	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: #edd601;
}
#main .point_ttl:nth-of-type(even)::before {
	color: #2e2e38;
}
#main .point_ttl.icn_orange::before {
	color: #2e2e38;
}
#main .point > ul > li {
	background-color: #fff;
	border-left: solid 42px #2e2e38;
	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 #2e2e38;
	border-radius: 8px;
	padding: 24px;
	height: 100%;
}
#main ul.point02 > li .point_circle {
	background: #f7df00;
	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(46,46,56,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: #2e2e38;
	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 #c7c7c7;
	text-align: left;
	vertical-align: middle;
}
th {
	font-weight: bold;
}
thead th {
	background-color: #2e2e38;
	color: #fff;
	font-size:14px;
	font-size: 1.4rem;
	padding: 12px;
	text-align: center;
}
tbody th {
	background-color: #fffcdc;
	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: #2e2e38;
	white-space: nowrap;
	width:25%;
}
.point03 th > span {
	font-size: 14px;
	font-size: 1.4rem;
}
.point03 th.kenshinmenu {
	width: auto;
}
.point03 th a {
	color: #2e2e38;
}
.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: #2e2e38;
}
ol.pr_list02 > li::before {
	color: #2e2e38;
	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: #2e2e38;
	content: counter(item)'.';
	counter-increment: item;
	padding-right: .5em;
	position: absolute;
		top: 0;
		left: 0;
}
ol.pr_list> li > ol.pr_list {
	background: #fffcdc;
	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: #2e2e38;
	font-size: 12px;
	font-size: 1.2rem;
}
.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: #2e2e38 !important;
}

/*-----------------------------------------------------------------------------
■┓健康のしくみ（guide.jsp）
┗┛Health Insurance System
-----------------------------------------------------------------------------*/
/*----------------------------
保険料と標準報酬月額（guide_04.jsp）
----------------------------------------------------------*/
#ippanhokenryo {
	border: 1px dotted #999;
	display: flex;
		/*align-items: baseline;*/
		justify-content: space-between;
	padding: 24px
}
#ippanhokenryo div {
	margin: 0 8px;
}
#ippanhokenryo > div:first-child {
	padding-top: 24px;
	white-space: nowrap;
}
#ippanhokenryo > div:nth-child(2) {
	padding-top: 14px;
}
#ippanhokenryo .ippanitem > div:nth-child(2n) {
	text-align: center;
}
#ippanhokenryo .ippanwrap {
	align-self: stretch;
	background: #fffcdc;
	border-radius: 16px;
	padding: 24px;
}
/* テーブル */
.ippanrate,
.kaigorate {
	width: 35%;
}
#main .monthlyfee_pdf {
	background-color: #fff58f;
	border-radius: 32px;
	display: flex;
		align-items: center;
		justify-content: center;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: bold;
	padding: 4px 8px 4px 0;
	position: relative;
	text-align: center;
	text-decoration: none;
	width: 240px;
	max-width: 100%;
	height: 56px;
}
#main .monthlyfee_pdf i {
	color: #900;
	padding-right: 10px;
}
#main .monthlyfee_pdf::after {
	content: url("../images/arrow_black.svg");
	margin-left: 8px;
	position: absolute;
		top: calc(50% - 13px);
		right: 24px;
	width: 7px;
	height: 14px;
}
/*----------------------------
高齢者医療制度（guide_09.jsp）
----------------------------------------------------------*/
/* 加入保健の表 */
#main .fig_insurance {
	background: #fff;
	line-height: 1.4;
	padding-top: 16px;
	font-weight: bold;
}
#main .fig_insurance span {
	font-weight: normal;
}
#main .fig_insurance .iryou,
#main .fig_insurance .jikofutan {
	display: flex;
	min-width: 680px;
	width: 100%;
}
#main .fig_insurance .iryou {
	margin-top: 40px;
}
#main .fig_insurance .jikofutan {
	margin-bottom: 40px;
}
#main .fig_insurance .iryou > div,
#main .fig_insurance .iryou > div:nth-of-type(3) > div,
#main .fig_insurance .jikofutan > div {
	display: flex;
		flex-direction: column;
		justify-content: center;
	padding: 12px;
	position: relative;
	text-align: center;
}
#main .fig_insurance .iryou > div:nth-of-type(3) {
	padding: 0;
}
#main .fig_insurance .iryou > div:nth-of-type(1),
#main .fig_insurance .jikofutan > div:nth-of-type(1) {
	padding-left: 0;
	width: 12%;
}
#main .fig_insurance .iryou > div:nth-of-type(2) {
	width: 13%;
}
#main .fig_insurance .iryou > div:nth-of-type(3) {
	display: flex;
		flex-direction: row;
	width: 54%;
}
#main .fig_insurance .iryou > div:nth-of-type(3) > div {
	width: 50%;
	z-index: 2;
}
#main .fig_insurance .iryou > div:nth-of-type(4) {
	width: 21%;
}
#main .fig_insurance .iryou > div.kenpo {
	background: #7fcbd4;
}
#main .fig_insurance .iryou > div.kokumin_kenpo {
	background: #cceaee;
	background: linear-gradient(3.5deg, #7fcbd4 33px, #cceaee 34px);
	position: relative;
}
#main .fig_insurance .iryou > div.kokumin_kenpo > div {
	padding-bottom: 24px;
}
#main .fig_insurance .iryou > div.late_elderly {
	background: #7fd4ad;
}
#main .fig_insurance .jikofutan > div:nth-of-type(2),
#main .fig_insurance .jikofutan > div:nth-of-type(3) {
	background: #fed141;
}
#main .fig_insurance .jikofutan > div:nth-of-type(2) {
	width: 53%;
}
#main .fig_insurance .jikofutan > div:nth-of-type(3) {
	width: 35%;
}
#main .fig_insurance .jikofutan > div.jikofutan_nest {
	display: flex;
		flex-direction: row;
		flex-wrap: wrap;
	padding: 0 0 8px 0;
}
#main .fig_insurance .jikofutan > div.jikofutan_nest > div {
	padding: 8px 8px 0;
}
#main .fig_insurance .jikofutan > div.jikofutan_nest > div:nth-of-type(1) {
	width: 40%;
}
#main .fig_insurance .jikofutan > div.jikofutan_nest > div:nth-of-type(2) {
	width: 60%;
}
#main .fig_insurance .jikofutan sup {
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: normal;
}

/* セル横のボーダー */
#main .fig_insurance .split_bd {
	border-right: 2px dashed #fff;
}

/* 年齢表記の矢印 */
#main .fig_insurance .iryou div.item_age::before,
#main .fig_insurance .jikofutan div.item_age::before {
	content: "";
	display: block;
	position: absolute;
		right: -5px;
	width: 0;
	height: 0;
}
#main .fig_insurance .iryou div.item_age::before {
	border-width: 12px 4px 0 4px;
	border-style: solid;
	border-color: #333 transparent transparent transparent;
		top: -12px;
}
#main .fig_insurance .jikofutan div.item_age::before {
	border-width: 0 4px 12px 4px;
	border-style: solid;
	border-color: transparent transparent #333 transparent;
		bottom: -12px;
}

/* 年齢表記 */
#main .fig_insurance .iryou div.item_age::after,
#main .fig_insurance .jikofutan div.item_age::after {
	color: #333;
	content: attr(data-label);
	display: block;
	position: absolute;
		right: -3em;
	width: 6em;
	height: 20px;
}
#main .fig_insurance .iryou div.item_age::after {
		top: -36px;
}
#main .fig_insurance .jikofutan div.item_age::after {
		bottom: -36px;
}

/*----------------------------
医療費控除（guide_10.jsp）
----------------------------------------------------------*/
.example {
	padding: 0 0 10px 20px;
}

/*----------------------------
保険証としてのマイナンバーカード利用（guide_12.jsp）
----------------------------------------------------------*/
/* 外部リンク */
#main ul.externallink_wrap {
	margin: 16px 0 0 1em;
}
#main ul.externallink_wrap li {
	padding-left: 1em;
	position: relative;
}
#main ul.externallink_wrap li::before {
	background-image: url(../images/arrow_black.svg);
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	position: absolute;
	top: 8px;
	left: 0;
	width: 10px;
	height: 10px;
}
#main ul.externallink_wrap li:not(:last-of-type) {
	margin-bottom: 8px;
}

/* スケジュール */
#main .point03.schedule .sc_year {
	vertical-align: top;
	width: auto;
}
#main .point03.schedule .sc_content:not(:last-of-type) {
	margin-bottom: 24px;
}
#main .point03.schedule .sc_content .sc_ttl {
	color: #2e2e38;
	font-weight: bold;
	padding-left: 1.5em;
	text-indent: -1.5em;
}
#main .point03.schedule .sc_content .sc_ttl::before {
	color: #2e2e38;
	content: "\f00c";
	font-family: "Font Awesome 5 Free";
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 900;
	margin-right: 8px;
}
#main .point03.schedule .sc_content p {
	font-size: 14px;
	font-size: 1.4rem;
	margin-left: 22px;
}
/* マイナンバーお問い合わせ */
#main .mynum_contact_free > div:first-of-type {
	flex: 1;
}
#main .mynum_contact_free {
	background: #fff;
	border-radius: 8px;
	padding: 16px 24px;
	margin: 8px 0 24px;
}
#main .mynum_contact_free .mynum_contact_ttl {
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: bold;
	margin-bottom: 8px;
}
#main .mynum_contact_free .mynum_contact_tel {
	margin-bottom: 16px;
}
#main .mynum_contact_free .mynum_contact_tel i {
	font-size: 24px;
	font-size: 2.4rem;
	margin-right: 12px;
}
#main .mynum_contact_free .mynum_contact_tel a {
	font-size: 30px;
	font-size: 3.0rem;
	letter-spacing: .3em;
	position: relative;
}
#main .mynum_contact_free .mynum_contact_tel a .tel_memo {
	font-size: 8px;
	font-size: .8rem;
	letter-spacing: .8em;
	position: absolute;
		top: -12px;
		right: 0;
}
#main .mynum_contact_free .hour_ttl {
	background: #2e2e38;
	border-radius: 4px;
	color: #fff;
	display: inline-block;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: bold;
	margin-right: 8px;
	padding: 2px 6px;
	text-align: center;
	width: 56px;
}
#main .mynum_contact_free .hour_ttl:not(:first-of-type) {
	margin-left: 2em;
}
#main ul.othertel {
	display: flex;
		flex-wrap: wrap;
	margin-top: 8px;
}
#main ul.othertel li:not(:last-of-type) {
	margin-right: 40px;
}
#main ul.othertel .othertelnum {
	font-size: 18px;
	font-size: 1.8rem;
}
#main ul.othertel i {
	font-size: 14px;
	font-size: 1.4rem;
	margin-right: 4px;
}
#main ul.othertel .othertelnum a.tel_tap {
	letter-spacing: .1em;
}

/*-----------------------------------------------------------------------------
■┓各種手続き（situation.jsp）
┗┛Procedures
-----------------------------------------------------------------------------*/
/* 手続き */
#main .procedure_box {
	background: #fffcdc;
	border-radius: 16px;
	display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	margin: 48px 0 32px;
	padding: 32px;
}
#main .procedure_box .procedure_ttl {
	background: #f7df00;
	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 #2e2e38;
	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: #f6f6f6;
}
#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(46, 46, 56, .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 #2e2e38;
	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_black.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;
}
/*----------------------------
病気やケガで医療を受けるとき（situation_01.jsp）
----------------------------------------------------------*/
/* リスト */
#main .list_disc.list_yakuhan > li {
	margin-bottom: 0;
	text-indent: 0;
}
#main .list_disc.list_yakuhan > li::before {
	top: 8px;
	left: -2px;
}

/*----------------------------
医療費が高額になったとき（situation_02.jsp）
----------------------------------------------------------*/
/* テーブル */
#main .tbl_high_expenses th,
#main .tbl_high_expenses td {
	white-space: nowrap;
}
#main .tbl_high_expenses td {
	text-align: center;
}
#main .tbl_high_expenses thead tr th:nth-of-type(3) {
	width: 5%;
}
#main .tbl_high_expenses thead tr th:nth-of-type(2),
#main .tbl_high_expenses tbody tr td:nth-of-type(1) {
	border-right: none;
}
#main .tbl_high_expenses thead tr th:nth-of-type(3),
#main .tbl_high_expenses tbody tr td:nth-of-type(2) {
	border-left: none;
	border-right: none;
}
#main .tbl_high_expenses thead tr th:nth-of-type(4),
#main .tbl_high_expenses tbody tr td:nth-of-type(3) {
	border-left: none;
}

/* 高額療養費の計算例 */
#main .high_expenses_ex .fig_arer {
	background: #fff;
	margin: 24px 0 8px;
	padding: 20px 0 8px;
	width: 100%;
}
#main .high_expenses_fig {
	line-height: 1.3;
}
#main .high_expenses_fig .expenses_total {
	border: 1px solid #f71;
	border-bottom: none;
	padding-bottom: 24px;
	text-align: center;
}
#main .high_expenses_fig .expenses_total > div {
	background: #fff;
	color: #f71;
	font-size: 18px;
	font-size: 1.8rem;
	margin: -14px auto 0;
	width: 11em;
}
#main .high_expenses_fig .breakdown_1 {
	display: flex;
		flex-wrap: wrap;
	width: 100%;
}
#main .high_expenses_fig .breakdown_1 > div:nth-of-type(odd) {
	width: 53%;
}
#main .high_expenses_fig .breakdown_1 > div:nth-of-type(even) {
	width: 47%;
}
#main .high_expenses_fig .breakdown_1 > div:nth-of-type(4) {
	color: #2d78b5;
	font-size: 32px;
	font-size: 3.2rem;
	font-weight: 400;
	text-align: center;
}
#main .high_expenses_fig .expenses_kenpo,
#main .high_expenses_fig .expenses_usr,
#main .high_expenses_fig .expenses_usr_max {
	border-width: 1px;
	border-style: solid;
	padding: 12px;
	text-align: center;
}
#main .high_expenses_fig .expenses_kenpo {
	background: #f4fdfb;
	border-color: #2e2e38;
	color: #2e2e38;
}
#main .high_expenses_fig .expenses_usr {
	background: #f2f7ff;
	border-color: #005599;
	color: #005599;
}
#main .high_expenses_fig .expenses_usr_max {
	background: #fff7f7;
	border-color: #ff6666;
	color: #ff6666;
}
#main .high_expenses_fig .breakdown_2 {
	display: flex;
	width: 100%;
}
#main .high_expenses_fig .breakdown_2 > div:nth-of-type(odd) {
	width: 53%;
}
#main .high_expenses_fig .breakdown_2 > div:nth-of-type(even) {
	width: 47%;
}
#main .high_expenses_fig .formula_number {
	display: inline-block;
	padding-left: 24px;
	position: relative;
}
#main .high_expenses_fig .formula_number > div {
	font-size: 16px;
	font-size: 1.6rem;
	position: absolute;
		top: calc(50% - 10px);
		left: 0;
}
#main .formula_area > div {
	margin-bottom: 2em;
}
#main .high_expenses_ex .burden_usr_max,
#main .high_expenses_ex .burden_kenpo {
	font-size: 18px;
	font-size: 1.8rem;
}
#main .high_expenses_ex .burden_usr_max {
	color: #ff6666;
}
#main .high_expenses_ex .burden_kenpo {
	color: #2e2e38;
}
#main .high_expenses_ex .formula_bg_line {
	background: #ffebeb;
	padding: 4px
}

/*----------------------------
立て替え払いをしたとき（situation_04.jsp）
----------------------------------------------------------*/
/* 必要書類内の枠 */
#main .fill_in_box {
	border: 1px dotted #7d6249;
	border-radius: 8px;
	display: inline-block;
	margin: 4px 0 16px;
	padding: 8px 20px;
}

/*----------------------------
在宅医療を受けるとき（situation_08.jsp）
----------------------------------------------------------*/
/* 画像部分 */
#main img.houmon_kango {
	display: block;
	margin: 40px auto 0;
}

/*----------------------------
出産したとき（situation_11.jsp）
----------------------------------------------------------*/
#main .required_box.conditions_box {
	flex: auto;
	width: 100%;
}
#main .required_box.conditions_box .conditions {
	background-color: #fff;
	border-radius: 8px;
	display: flex;
	margin-bottom: 8px;
	padding: 8px;
}
main .required_box.conditions_box .conditions_ttl {
	background-color: #f6f6f6;
	border-radius: 8px;
	display: flex;
		align-items: center;
		justify-content: center;
	font-weight: bold;
	margin-right: 16px;
	padding: 8px;
	width: 144px;
}
#main .required_box.conditions_box .conditions_ttl > span {
	padding-left: 1.2em;
	position: relative;
}
#main .required_box.conditions_box .conditions_ttl > span::before {
	color: #2e2e38;
	content: "\f111";
	font-family: "Font Awesome 5 Free";
	font-size: 12px;
	font-weight: 900;
	display: inline-block;
	position: absolute;
		top: 2px;
		left: 0;
}
#main .required_box.conditions_box .conditions:nth-of-type(even) .conditions_ttl {
	background-color: #e2f5f0;
}
#main .required_box.conditions_box .conditions:nth-of-type(even) .conditions_ttl > span::before {
	color: #edd601;
}
#main .required_box.conditions_box .conditions_ttl + * {
	padding: 8px 0;
	width: calc(100% - 144px);
}
#main .required_box.conditions_box .conditions .required_ttl {
	font-size: 16px;
	font-size: 1.6rem;
	margin-right: 8px;
	padding: 0 0 4px 16px;
}
#main .required_box.conditions_box .conditions .required_contents {
	padding: 8px 8px 0 16px;
}

/*----------------------------
出産したとき（situation_12.jsp）
----------------------------------------------------------*/
#main .fuyo_case {
	position: relative;
	margin-bottom: 64px;
}
#main .fuyo_case_ttl {
	border-bottom: 1px solid #2e2e38;
	color: #2e2e38;
	font-family: "M PLUS 1p";
	transform: rotate(0.03deg);
	font-size: 17px;
	font-size: 1.7rem;
	font-weight: 500;
	margin-bottom: 16px;
	padding-bottom: 8px;
	position: relative;
	width: calc(100% - 4px);
}
#main .fuyo_case_ttl::before {
	background: #edd601;
	content: "";
	position: absolute;
		left: 4px;
		bottom: 2px;
	width: 100%;
	height: 1px;
}
#main .fuyo_case .fuyo_case_contents {
	flex: 1;
}
#main .other_box {
	border: 1px dotted #2e2e38;
	border-radius: 8px;
	margin-top: 16px;
	padding: 12px 16px;
}
#main .other_box .other_ttl {
	font-family: "M PLUS 1p";
	transform: rotate(0.03deg);
	font-weight: 500;
	padding-left: 1.2em;
	position: relative;
}
#main .other_box .other_ttl::before {
	color: #2e2e38;
	content: "\f111";
	font-family: "Font Awesome 5 Free";
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: 900;
	display: inline-block;
	position: absolute;
		top: calc(50% - 10px);
		left: 0;
}
#main .other_box .other_contents {
	font-size: 12px;
	font-size: 1.2rem;
}

/*----------------------------
保険証を紛失したとき（situation_15.jsp）
----------------------------------------------------------*/
#main li.contact {
	background: #fff;
	border-radius: 8px;
	padding: 24px 24px 24px 56px;
}
ol.method > li.contact::before {
	top: 24px;
}
#main .contact > div:first-of-type {
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: bold;
	margin-bottom: 8px;
}
.icn_eng {
	background: #2e2e38;
	border-radius: 4px;
	color: #fff;
	display: inline-block;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: bold;
	line-height: 1.6;
	margin-right: 8px;
	padding: 0 4px;
	text-align: center;
	min-width: 44px;
}
#main li.contact a.tel_tap {
	font-size: 22px;
	font-size: 2.2rem;
}

/*-----------------------------------------------------------------------------
■┓各種申請書（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: #f6f6f6;
	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 #2e2e38;
}
#main .tbl_application_doc tbody td {
	background: #fff;
}
#main .tbl_application_doc tbody th,
#main .tbl_application_doc tbody td {
	border-bottom: 1px solid #c7c7c7;
}
#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: #fffcdc;
	font-size: 16px;
	font-size: 1.6rem;
}
#main .tbl_application_doc tbody td.appli_add {
	border-left: 1px solid #c7c7c7;
	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: #2e2e38;
	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: #2e2e38;
	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 #2e2e38;
	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: #2e2e38;
	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: #2e2e38;
	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-wrap: wrap;
}
.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: #2e2e38;
	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;
}
#main .yoyaku_button a.link_pdf {
	margin-left: 0;
}
#main .yoyaku_button a.link_pdf::before {
	color: #fff;
}
.belongings {
	background-color: #fff;
	border-radius: 8px;
	font-size: 14px;
	font-size: 1.4rem;
	margin-top: 8px;
	padding: 16px;
}
.belongings > ul {
	color: #2e2e38;
	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: #2e2e38;
	text-align: center;
	white-space: nowrap;
}
.checkup td.checkup_years span {
	display: none;
}
td.yen {
	text-align: right !important;
}


#main .pers_process {
	background: #f7df00;
	border-radius: 24px;
	padding: 1em;
	text-align: center;
}
#main .pers_process a.link_pdf {
	display: inline-block;
	font-size: 18px;
	font-size: 1.8rem;
	margin-left: 0;
	text-decoration: underline;
}
#main .pers_process a.link_pdf:hover {
	text-decoration: none;
}
#main .pers_process a.link_pdf:first-of-type {
	margin-right: 2em;
}


/*----------------------------
特定健診・特定保健指導（tokutei.jsp）
----------------------------------------------------------*/
ol.method.tokutei {
	border: 1px dotted #2e2e38;
	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 #c7c7c7;
	text-align: left;
	vertical-align: middle;
}
.tbl_tbl thead th {
	background-color: #2e2e38;
	color: #fff;
	font-size:14px;
	font-size: 1.4rem;
	padding: 6px 0;
	text-align: center;
}
.tbl_tbl th,
.tbl_tbl td {
	border: 1px solid #c7c7c7;
	text-align: left;
	vertical-align: middle;
}
.tbl_tbl td.type {
	background-color: #fffcdc;
	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: #2e2e38;
	margin-right: 5px;
}
.book {
	border:1px solid #2e2e38;
	font-size: 20px;
	font-size: 2.0rem;
	margin: 0.5em 0 0;
	padding: 0.5em 1em;
}
.book i,
.book a {
	color: #2e2e38;
}
#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: #fff;
	background-repeat: no-repeat;
	border: 1px solid #2e2e38;
	border-radius: 28px;
/*	box-shadow: 0 0 5px #b7c3d0;
	color: #2e2e38;*/
	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 {
	background-image: url("../images/arrow_black.svg");
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	margin-bottom: 6px;
	position: absolute;
	bottom: 0;
	left: calc(50% - 6px);
	transform:rotate(90deg);
	width: 6px;
	height: 11px;
}
#main .faq_nav a:hover {
	background-color: #fff58f;
	box-shadow: 0 0 5px #2e2e38;
}
#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: 8px 8px 0 0;
	color: #2e2e38;
	cursor: pointer;
	margin-top: 16px;
	padding-right: 40px;
	position: relative;
}
#main dl.faq > dt:hover {
	color: #edd601;
	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 #2e2e38;
	border-radius: 0 0 8px 8px;
	display: none;
}
#main dl.faq .ic_q,
#main dl.faq .ic_a {
	padding: 16px 16px 16px 68px;
}
#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: #2e2e38;
}
#main dl.faq > dt:hover .ic_q::before {
	border-color: #edd601;
	transition: all 0.3s;
}
#main dl.faq .ic_a::before {
	border-color: #2e2e38;
}
#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 {
	content: "Q.";
		top: 9px;
		left: 25px;
}
#main dl.faq .ic_a::after {
	color: #edd601;
	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: #2e2e38;
	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: #2e2e38;
	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 #2e2e38;
	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: #2e2e38;
	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: #fffcdc;
	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_black.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;
	margin-bottom: 64px;
	width: 100%;
}
#main ul.years li {
	margin-bottom: 16px;
	width: 20%;
}
#main .years_btn {
	background-color: #fff;
	border: 1px solid #2e2e38;
	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: #fff58f;
	box-shadow: 0 0 5px #2e2e38;
}
#main .years_on {
	background-color: #fffff4;
	display: block;
}
.years_ttl {
	color: #2e2e38;
	font-size: 40px;
	font-size: 4.0rem;
	margin-bottom: 40px;
	text-align: center;
}
.news_list {
	margin: 0 auto 24px;
	width: 80%;
}
.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: 0 auto 24px;
	width: 80%;
}
.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:#2e2e38;
}
.news_text a.ic_closed::after {
	color: #2e2e38;
	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: #2e2e38;
	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: #2e2e38;
	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;
}

/*-----------------------------------------------------------------------------
■┓健保ハンドブック（handbook.jsp）
┗┛
-----------------------------------------------------------------------------*/
#guidebook {
	display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	margin: 0 auto;
}
#guidebook #gbl_wrap, #guidebook #gbr_wrap {
	width: 45%;
}
#guidebook ul li {
	display: flex;
	margin: 1em 0 0;
}
#guidebook ul {
	margin-bottom: 48px;
}
#guidebook ul li span {
	background: #fffcdc;
	border-radius: 4px;
	display: flex;
		align-items: center;
		flex-shrink: 0;
		justify-content: center;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: bold;
	margin-right: 1em;
	padding: 3px 0;
	width: 70px;
}
#main #guidebook ul li a {
	text-decoration: underline;
}
#main #guidebook ul li a:hover {
	text-decoration: none;
}
/* pdfの注意書き */
.pdfinfo {
	display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
	margin-top: 32px;
	width: 100%;
}
.pdfinfo p {
	font-size: 11px;
	font-size: 1.1rem;
	margin-right: 5px;
}
/* バックナンバー時に使用 */
.booklet_wrap {
	display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	margin-top: 50px;
}
.booklet_box {
	margin-bottom: 1em;
}
.booklet_box a img {
	border: 1px solid #dcdcdc;
}
.booklet_box p.booklet_tit {
	font-weight: bold;
	letter-spacing: 0;
	margin: 1em 0 0;
}

/*-----------------------------------------------------------------------------
■┓組合規約・諸規程（rules.jsp）
┗┛
-----------------------------------------------------------------------------*/
#main ul.rule_list {
	margin-top: 32px;
}
#main ul.rule_list li {
	margin: 1em 0 0 1em;
}
/* pdfの注意書き */
.pdfinfo {
	display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
}
.pdfinfo p {
	font-size: 11px;
	font-size: 1.1rem;
	margin-right: 5px;
}

/*-----------------------------------------------------------------------------
■┓予算・決算のお知らせ（budget.jsp）
┗┛
-----------------------------------------------------------------------------*/
#budget {
	display: flex;
		flex-wrap: wrap;
		justify-content: center;
	margin: 0 auto;
}
#budget #gbl_wrap, #budget #gbr_wrap {
	width: auto;
	margin: 0 7%;
}
#budget ul li {
	display: flex;
	margin: 1em 0 0 1em;
}

/*-----------------------------------------------------------------------------
■┓上手なお医者さんのかかり方（doctor.jsp）
┗┛
-----------------------------------------------------------------------------*/
#main ol.docter {
	counter-reset: my-counter;
}
#main ol.docter li {
	background: #fff;
	border-radius: 8px;
	display: flex;
		align-items: center;
		justify-content: space-between;
	list-style-type: none;
	padding-left: 56px;
	position: relative;
}
#main ol.docter li::before {
	color: #2e2e38;
	content: counter(my-counter) ". ";
	counter-increment: my-counter;
	font-family: 'M PLUS 1p';
	transform: rotate(0.03deg);
	font-size: 22px;
	font-size: 2.2rem;
	font-weight: 500;
	position: absolute;
		left: 24px;
}
#main ol.docter li .docter_ttl {
	color: #2e2e38;
	font-family: 'M PLUS 1p';
	transform: rotate(0.03deg);
	font-size: 17px;
	font-size: 1.7rem;
	font-weight: 500;
	width: 20%;
	min-width: 200px;
}
#main ol.docter li .docter_contents {
	border-left: 10px solid #f6f6f6;
		flex: 1;
	padding: 24px;
}

/*-----------------------------------------------------------------------------
■┓組合案内（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 #2e2e38;
	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: #2e2e38;
	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 #2e2e38;
	color: #2e2e38;
	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: #edd601;
	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: #2e2e38;
	cursor: pointer;
	margin-top: 16px;
	padding-right: 40px;
	position: relative;
}
#main dl.policy > dt:hover {
	color: #edd601;
	transition: all 0.3s;
}
#main dl.policy > dt::after {
	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 #2e2e38;
	border-radius: 0 0 8px 8px;
	display: none;
}
#main dl.policy > dt .ic_q {
	position: relative;
}
#main dl.policy > dt .ic_q::before {
	color: #2e2e38;
	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: #edd601;
}
#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: #2e2e38;
	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: #2e2e38;
	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: #edd601;
}
#main a.link_area .link_ttl .link_page_url {
	color: #2e2e38;
	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: 16px;
	font-size: 1.6rem;
	margin: 56px 0 4px;
	padding: 4px 0 8px 18px;
}
#main .wrap_sitemap ul.parent > li::before {
	content: "\f111";
	color: #2e2e38;
	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: #2e2e38;
}
#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: #2e2e38;
	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: #2e2e38;
	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: #f7f7f7;
	content: "";
	display: block;
	position: absolute;
		top: 15px;
		left: 4px;
	width: 8px;
	height: calc(100% - 16px);
}

/*########################################################################################

フッター
#footer

########################################################################################*/
/*----------------------------
フッターメイン
----------------------------------------------------------*/
#footer {
	background-color: #2e2e38;
	color: #fff;
	padding: 32px 0 16px;
	position: relative;
}
#footer::before {
	background-image: url(../images/bg_wave_b.svg);
	background-position: left bottom;
	background-repeat: repeat-x;
	background-size: contain;
	content: "";
	display: block;
	position: absolute;
		top: -18px;
		right: 0;
		left: 0;
	height: 18px;
}
#footer footer {
	display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	max-width: 950px;
	margin: 40px auto 0;
}
@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: #2e2e38;
	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: #f7df00 url(../images/arrow_top.svg) no-repeat;
	background-position: 50% 20%;
	background-size: 15px 15px;
	border: 1px solid #f7df00;
	border-radius: 50%;
	color: #2e2e38;
	display: inline-block;
	font-size: 8px; /* 固定 */
	font-size: 0.8rem; /* 固定 */
	letter-spacing: 0;
	line-height: 54px; /* 固定 */
	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: #edd601;
	border-radius: 4px 0 0 4px;
	overflow: visible;
	white-space: nowrap;
	width: 30%;
}
.arrow > tbody > tr > td {
	background: #fffcdc;
	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: #2e2e38;
	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: #2e2e38;
	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;
}

/*-----------------------------------------------------------------------------
■┓サイト内検索（search_result.jsp）
┗┛
-----------------------------------------------------------------------------*/
.search_bar {
	display: flex;
		align-items: center;
		flex-wrap: wrap;
	margin: 0 auto 6em;
	width: 90%;
}
.search_bar div:nth-child(1) {
	width: 85%;
}
.search_bar div:nth-child(1) input {
	background: #fffff4;
	border: 1px solid #2e2e38;
	border-radius: 4px 0 0 4px;
	font-size: 16px;
	font-size: 1.6rem;
	padding: 0 0 0 16px;
	width: 100%;
	height: 50px;
}
.search_bar div:nth-child(1) input:focus {
	background: #fff;
	border: 1px solid #2e2e38;
}
.search_bar div:nth-child(2) {
	font-size: 20px;
	font-size: 2.0rem;
	text-align: center;
	width: 15%;
	height: 50px;
}
.search_bar div:nth-child(2) a {
	background-color: #2e2e38;
	border-radius: 0 4px 4px 0;
	color: #fff;
	display: block;
	line-height: 2.5;
	width: 100%;
	height: 100%;
}
.search_bar div:nth-child(2) a:hover {
	opacity: 0.6;
}
.search_bar div:nth-child(2) a span {
	display: none;
}
.sr_contents .sr_head {
	font-size: 12px;
	font-size: 1.2rem;
	text-align: right;
}
.sr_contents .sr_head .show_count {	
	margin-left: 24px;
}
.sr_contents #sr_list .sr_page_ttl {
	margin: 24px 0 8px 24px;
	position: relative;
}
.sr_contents #sr_list .sr_page_ttl a {
	font-weight: bold;
	font-size: 16px;
	font-size: 1.6rem;
}
.sr_contents #sr_list .sr_page_ttl a:hover {
	color: #2e2e38;
}
.sr_contents #sr_list .sr_page_ttl::before {
	color: #2e2e38;
	content: "\f111";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	position: absolute;
		top: 2px;
		left: -20px;
}
.sr_contents #sr_list .sr_page_ttl:nth-of-type(even)::before {
	color: #2e2e38;
}
.sr_contents #sr_list .sr_page_contents {
	padding-left: 1.5em;
}
.sr_contents #sr_list .sr_url {
	border-bottom: 1px dotted #2e2e38;;
	padding: 16px 0;
}
.sr_contents #sr_list .sr_url a {
	color: #2e2e38;
	font-size: 12px;
	font-size: 1.2rem;
	padding-left: 1.5em;
	text-decoration: none;
}
.sr_contents #sr_list .sr_url a:hover {
	text-decoration: underline;
}
.sr_contents .sr_pager {
	display: flex;
		justify-content: space-between;
	margin: 24px 0 0px;
}
.sr_contents .sr_pager {
	position: relative;
}
.sr_contents .sr_pager a.btn_prevlink::before {
	background-image: url(../images/arrow_black.svg);
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: inline-block;
	width: 12px;
	height: 12px;
	margin-right: 8px;
	transform: scale(-1, 1);
}
.sr_contents .sr_pager a.btn_nextlink::after {
	background-image: url(../images/arrow_black.svg);
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: inline-block;
	width: 12px;
	height: 12px;
	margin-left: 8px;
}

/*-----------------------------------------------------------------------------
■┓個人情報（/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: #2e2e38;
	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: #2e2e38;
	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;
}
