@charset "utf-8";
/* CSS Document */

div#headerArea div.pbNested {
    overflow: visible;
}

.pbHeaderArea {
    overflow: visible !important;
}

*{
	box-sizing: border-box;
}

/* =============== 共通設定 =============== */
/* ブランク
----------------------------------------------------------- */ 
body, div, th, td,form, fieldset, legend, input, textarea, p,img{
   margin: 0;
   padding: 0;
}

body,
body .pbCorner{
    font-size:1rem;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-style: normal;
    color: #232323;
    line-height: 1.7;
}

:root ol, :root ul{
	margin:0;
    padding:0;
}

.pbBlock a img,
.pbBlock img{
	border:none;
    /*max-width: 100%;
    height:auto;*/
}

* a{
    transition: all .3s ease-in-out;
}

.pbBlock img{
    border:0;
}

.pbHorizontalNested,
.pbHorizontalNested *{
    line-height:inherit !important;
} 

a img,
img{
	border:none;
    max-width: 100%;
    height:auto;
}


/* 画像のずれ調整（下寄せ）
----------------------------------------------------- */
.pbBlock img {
    vertical-align: bottom;
}

/* =============== 添付ファイルアイコン =============== */
a[href$=".pdf"],* html a.pdf,
a[href$=".doc"],a[href$=".docx"],a[href$=".DOC"],* html a.doc,* html a.docx,* html a.DOC,
a[href$=".xls"],a[href$=".xlsx"],a[href$=".xlsm"],* html a.xls,* html a.xlsx,* html a.xlsm,
a[href$=".zip"],* html a.zip,
a[href$=".ppt"],a[href$=".pptx"],* html a.ppt,* html a.pptx
a[href$=".jpg"],a[href$=".jpeg"],a[href$=".JPG"],a[href$=".JPEG"],* html a.jpg,* html a.jpeg,* html a.JPG,* html a.JPEG,
a[href$=".png"],a[href$=".PNG"],* html a.png,* html a.PNG,
a[href^="http"],* html a.external{
	padding: 5px 0 5px 32px;
    background-repeat: no-repeat;
    background-position: 7px 7px;
    background-size: 22px;
}

/* pdf要素
----------------------------------------------------------- */  
a[href$=".pdf"],
* html a.pdf	{ 
	background-image: url(../common/icon_pdf.png) ;
}

/* Word要素
----------------------------------------------------------- */  
a[href$=".doc"],a[href$=".docx"],a[href$=".DOC"],
* html a.doc,* html a.docx,* html a.DOC{ 
	background-image: url(../common/icon_word.png);
}

/* Excel要素
----------------------------------------------------------- */  
a[href$=".xls"],a[href$=".xlsx"],a[href$=".xlsm"],
* html a.xls,* html a.xlsx,* html a.xlsm{ 
	background-image: url(../common/icon_excel.png);
}

/* Zip要素
----------------------------------------------------------- */  
a[href$=".zip"],* html a.zip{ 
	background-image: url(../common/icon_zip.png);
	background-position: 7px 10px;
}

/* PPT要素
----------------------------------------------------------- */  
a[href$=".ppt"],a[href$=".pptx"],
* html a.ppt,* html a.pptx{
	background-image: url(../common/icon_ppt.png);
}

/* image要素
----------------------------------------------------------- */  
a[href$=".jpg"],a[href$=".jpeg"],a[href$=".JPG"],a[href$=".JPEG"],
* html a.jpg,* html a.jpeg,* html a.JPG,* html a.JPEG,
a[href$=".png"],a[href$=".PNG"],
* html a.png,* html a.PNG{ 
	background-image: url(../common/icon_image.png);
}

/* 外部リンク要素 
----------------------------------------------------------- */  
a[href^="http"],
* html a.external{   
	background-image: url(../common/icon_external.png);
	background-size: 19px;
	background-position: 7px 9px;
} 
 
a[href^="https://www.google.com/intl/ja_JP/help/terms_maps.html"],
a[href^="http://get.adobe.com/jp/reader"] {  
	background: transparent;
	padding-left:0px;
	padding-right:0;
	word-wrap: break-word;
}

a.no_icon{
	background: transparent;
	padding-left:0px;
	padding-right:0;
	/*word-wrap: break-word;*/
}


/* =============== リスト =============== */
.pbMainArea ul{
	padding:0 0 0 20px;
}

.pbMainArea ul li{
	border:solid 0px blue;
	margin-left:20px;
    margin-bottom:5px;
    /*list-style-type:none;
    background:url(../common/icon_listmark.png)no-repeat 0 6px;*/
}

.pbMainArea ul li ul,
.pbMainArea ul li ol,
.pbMainArea ol li ol,
.pbMainArea ol li ul{
    /*margin:0 0 0 20px;*/
}

.pbMainArea ul li ul li{
	border:solid 0px red;
	/*padding-left:14px;*/
    margin-left: 0;
    margin-bottom:5px;
    background:none;
    list-style-type:circle;
}

.pbMainArea ol{
	border:solid 0px yellow;
	padding:0 0 0 20px;
	margin:20px 0 20px 5px;
}
.pbMainArea ol li{
	border:solid 0px green;
	margin-left:20px;
	padding-left:0px;
    margin-bottom:5px;
}

.pbMainArea ol li ul li{
	border:solid 0px blue;
	padding-left:14px;
    margin-bottom:5px;
    margin-left: 0;
}

.pbMainArea table ul li{
    margin-left:0;
    margin-bottom:5px;
}

.pbMainArea table ol,
.pbMainArea table ul{
    margin:0;
}


/* =============== 見出し =============== */
h1{
    border-top:solid 6px #4e89c3;
	border-bottom:solid 1px #4e89c3;
    padding: 27px 30px;
    font-size: 2.12em;
    margin-bottom: 0 !important;
}

.pbTitleBlock{
    margin-bottom:40px;
}

h2{
	/*border-bottom: solid 4px #005aaa;*/
	position: relative;
	padding: 17px 20px 17px 33px;
	font-size:1.65em;
	/*border:solid 1px #929292;*/
	border-radius:5px;
	background:#f4f2eb;
}

h2:after {
	position: absolute;
	top: 25%;
	left: 0;
	width: 6px;
	height: 50%;
	content: '';
	border-radius: 3px;
	background: #ee883c;
}

h3{
    border-bottom: solid 3px #c6def5;
 	position: relative;
    font-size: 1.5em;
    padding: 0 20px 12px;
}

h3:after{
	position: absolute;
	content: " ";
	display: block;
	border-bottom: solid 3px #ee883c;
	bottom: -3px;
	width: 20%;
	left:0;
}

h4 {
    border-bottom: dashed #d1d1d1 1px;
    padding: 0 20px 12px 38px;
	position: relative;
    font-size: 1.2em;
}

h4:after{
	position: absolute;
	top: 14px;
    left: 14px;
	transform: translateY(-50%);
	content: '';
	width: 16px;
	height:16px;
	background: #4e89c3;
    border-radius: 50px;
}

h5{
    position: relative;
    font-size:1.1em;
    padding: 0 10px 0 30px;
}

h5::after {
	position: absolute;
	top: 12px;
	left: 0;
	transform: translateY(-50%);
	content: '';
	width: 22px;
	height: 5px;
	background: #ee883c;
}

h6{
    font-size:1em;
	color:#114fa1;
}

h1,h2,h3,h4,h5,h6{
    margin-bottom:30px;
    line-height: 1.4;
}

h2,h3,h4,h5,h6{
    margin-top:45px;
}


/* =============== 表 =============== */
.pbBlockBase table{
	margin-top:20px;
	margin-bottom:20px;
    border-collapse: collapse;
}

.pbBlockBase table th{
    text-align: center;
    vertical-align: middle;
    background:#cfecfb;
}

.pbBlockBase table td{
    vertical-align: middle;
}


.pbBlockBase table caption{
	text-align: left;
}

.pbBlockBase table th,
.pbBlockBase table td{
    padding: 20px;
    border:solid 2px #59493f;
}

body th,
body td{
    word-break: break-all;
}

caption {
    font-weight: bold;
    position: relative;
    padding-left: 23px;
    margin-bottom: 5px;
}

caption::after {
    position: absolute;
	top: 14px;
	left: 0;
	transform: translateY(-50%);
	content: '';
	width: 16px;
	height:16px;
	background: #82b8ed;
    border-radius: 50px;
}

/* =============== リンク =============== */
body a:link,
body a:visited{
	color:#1C6ABA;
}

body a:hover{
	color:#be5907;
}


/* =============== 枠デザイン =============== */
.style2001,.pbStyleId2269,
.box_area,
.box_area_gray{
    border:solid 2px #c59650;
    background:#faf7e3;
    padding:15px;
    margin:15px 20px;
}

.box_area_gray{
    border:solid 2px #cdcdcd;
    background:inherit;
}

/* =============== メニューリンクボタン =============== */
.btn_link_menu ul{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    list-style: none;
    padding: 0;
}

.btn_link_menu ul li{
	margin:0;
}

.btn_link_menu a{
    display: flex;
    /*padding: 15px 36px 15px 13px;
    border:solid 3px #ea625c;*/
    /*border-radius:12px;*/
    background: #fff;
    text-decoration: none;
    width: 226px;
    box-sizing: border-box;
    font-weight:bold;
	line-height:1.3;
	padding: 8px 36px 8px 17px;
    border: solid 1px #ea625c;
	border-radius: 50px;
	height: 100%;
    align-items: center;
}

.btn_link_menu.icon_arrow a::after{
	border-top: 3px solid #ea625c;
    border-right: 3px solid #ea625c;
	top: 50%;
    left: inherit;
    right: 20px;
}

body .btn_link_menu a:link,
body .btn_link_menu a:visited{
    color:#232323;
}

.btn_link_menu a:hover{
    text-decoration: underline;
    background:#f9e5e4;
}

.flex_searchbox2 .flex_searcharea>.pbNested{
	justify-content: center;
	align-items: baseline;
}

.flex_searchbox2 .box_searcharea .flex_searcharea .search_container{
	width: 510px;
}

.flex_searchbox2 .btn_link_menu ul{
	display: grid;
	flex-wrap: wrap;
    justify-content: center;
	grid-template-columns: repeat(3, 1fr);
}

.flex_searchbox2 .btn_link_menu a{
	width:inherit;
	    min-width: 170px;
}

.flex_searchbox2 .box_searcharea{
	width:1000px;
	margin-left:auto;
	margin-right:auto;
}

.flex_searchbox3 .box_searcharea>.pbNested {
	display: flex;
	column-gap: 30px;
	justify-content: space-between;
}

.flex_searchbox3 .box_searcharea>.pbNested:after{
    display:none;
}

.flex_searchbox3 .flex_searcharea>.pbNested{
	display: inherit;
}

.flex_searchbox3 .box_searcharea{
	padding: 45px 50px;
}

.flex_searchbox3 .ttl_top2 h2{
	font-size:1.5em;
	text-align: left;
	margin-bottom: 12px;
	font-size: 1.3em;
}

.flex_searchbox3 .btn_link_menu ul{
	grid-template-columns: repeat(3, 1fr);
}

/* =============== 矢印アイコン =============== */
.icon_arrow a{
    position: relative;
}

.icon_arrow a::after,
.box_anchor ul li::after,
.qa_open::after{
    content: '';
    width: 8px;
    height: 8px;
    border: 0;
    border-top: 3px solid #14518e;
    border-right: 3px solid #14518e;
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    left:0;
    margin-top: -6px;
}

.icon_arrow2 a::before{
	content: '';
    position: absolute;
    background-repeat: no-repeat;
	width:13px;
	height:13px;
    top: 0;
    left: 0;
    margin: auto;
    transition: all .3s ease-in-out;
}

/* =============== リンクボタン =============== */
.btn_link_blue a{
    display: inline-block;
    background: #4575c5;
    border-radius: 50px;
    padding: 11px 45px 11px 30px;
    text-decoration: none;
    font-weight: bold;
    box-sizing: border-box;
    min-width: 290px;
    text-align: center;
	margin:15px 0;
	color:#fff;
}

.btn_link_blue.icon_arrow a::after{
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    right: 25px;
	top:50%;
	left:inherit;
}

body .btn_link_blue a:link,
body .btn_link_blue a:visited{
    color:#fff;
}

.btn_link_blue a:hover{
    text-decoration: underline;
    transition: all .3s ease-in-out;
}

.btn_link_txt{
    text-align: center;
    margin: 20px 0;
}

/* =============== 枠デザイン =============== */
.box_black{
	padding: 20px;
    margin: 30px 10px 30px 0;
	background-color: #f9faf4;
	border: 2px solid #59493f;
	box-shadow: .4em .4em 0px 0px #f8d595;
}

/* =============== 問い合わせシェアブロック =============== */
.kok-contactshare-Box{
    /*background:#fdf7de;*/
	border: solid 2px #f0cda4;
    padding:20px 30px;
    margin-top:40px;
	position: relative;
}

/*.kok-contactshare-Box::before, 
.kok-contactshare-Box::after {
  border: solid #59493f;
  border-width: 4px 0 4px 4px;
  box-sizing: border-box;
  content: '';
  display: block;
  margin: auto;
  position: absolute;
  width: .5em;
  height: 100%;
}

.kok-contactshare-Box::before {
  top: 0;
  left: 0;
}

.kok-contactshare-Box::after {
  top: 0;
  right: 0;
  transform: rotate(180deg);
}*/

/* =============== フィードバック =============== */
.footer_feedback_area.show{
    display: none;
}

.tar-feedbackBox{
    background:#ffffff;
	border:solid 1px #cccccc;
    padding:20px;
    border-radius:12px;
    box-sizing: border-box;
	margin-top:40px;
}

.tar-feedbackTitle{
    font-weight:bold;
	text-align: center;
    padding:4px;
    margin-bottom: 9px;
	background: #ebebeb;
	border-radius:7px;
}

.tar-feedbackQuestion {
    font-weight: bold;
    margin-top: 6px;
}

.tar-feedbackBox label {
    margin-right: 15px;
}

.tar-feedbackBox input[type="submit"] {
    cursor: pointer;
    background: #ebebeb;
    color: #232323;
    font-weight:bold;
    /*width: 3.5em;
    height: 3.2em;*/
    right: 0px;
    top: -3px;
    outline: none;
    border: none;
    border-radius:50px;
    padding: 17px 56px;
    font-family: "BIZ UDPGothic", sans-serif !important;
}

.tar-feedbackBox input[type="submit"]:hover{
	background:#4575c5;
	color:#fff;
	
}

.tar-feedbackBox .area_submit{
    text-align: center;
    margin-top: 20px;
}

.tar-feedbackBox .btn_submit_wrap{
    display:inline-block;
    position:relative;
    transition:all 0.3s;
}

.tar-feedbackBox .btn_submit_wrap::after {
    content: '';
    width: 8px;
    height: 8px;
    border: 0;
    border-top: solid 2px #4575c5;
    border-right: solid 2px #4575c5;
    transform: rotate(45deg);
    position: absolute;
    top: calc(50% - 5px);
    right: 20px;
    margin: auto;
    transition: all .3s ease-in-out;
}

.tar-feedbackBox .btn_submit_wrap:hover::after{
	border-color:#fff;
}

/* =============== 問合せフォーム =============== */
.pbPage .pbCornerQuery *{
    box-sizing: border-box;
}
.pbCorner.tar-form table{
    border-collapse: collapse;
}

.pbCorner.tar-form table.confirm{
    width:100%;
}

.pbCorner.tar-form table .tar-formLabel,
.pbCorner.tar-form table .tar-formLabel-2225{
    text-align: left;
    font-weight:bold;
    white-space: nowrap;
}

.pbCorner.pbCornerQuery td{
    padding:20px !important;
}

.pbCorner.pbCornerQuery td.queryOneLineLabel{
    text-align:left !important;
}

.pbCorner.tar-form.pbCornerQuery .pbInputForm{
    border: solid 1px #666;
    font-size: 1.15em;
    padding:5px 10px;
    border-radius: 4px;
}

.pbCorner.tar-form  .tar-formLabel-error{
    color:#db0000;
    font-weight:bold;
}

.pbCorner.tar-form  .tar-form-end{
    width:100%;
}

.pbCorner.pbCornerQuery table.tar-form-end{
    border:none;
}

.pbCorner.pbCornerQuery .tar-form-end td{
    border-bottom:none;
}

.pbCorner.pbCornerQuery.tar-form input[type="submit"],
.pbCorner.pbCornerQuery.tar-form input.pbQueryOk{
    font-family: "BIZ UDPGothic", sans-serif;
    font-size:1em;
    font-weight: bold;
    padding: 12px 20px;
    min-width: 300px;
    background-color: #14518e;
    border: 1px solid #14518e;
    color: #ffffff;
    cursor: pointer;
    border-radius: 6px;
}

.pbCorner.pbCornerQuery.tar-form input.pbQueryCancel {
    font-family: "BIZ UDPGothic", sans-serif;
    font-size:1em;
    font-weight: bold;
    padding: 12px 20px;
    background-color: #ffffff;
    border: 1px solid #14518e;
    cursor: pointer;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
}

/* =============== ヘッダー =============== */
/* 文字サイズ変更・背景色変更
----------------------------------------------------------- */ 
.font_ch a.btn_normal,
.font_ch a.btn_large,
.color_ch a.btn_bg_normal,
.color_ch a.btn_bg_blue,
.color_ch a.btn_bg_black{
    border-radius:5px;
    padding:0 4px;
    border:solid 1px #8f8f8f; 
    text-decoration:none;
    color:#232323;
    font-weight:bold;
    margin-left: 4px;
    display: inline-block;
}

.font_ch a.btn_normal{
    background:#232323;
    color:#fff;
	border:none;
}

.font_ch a.btn_large{
	background:#bbbbbb;
    color:#232323;
	border:none;
}

.color_ch a.btn_bg_blue{
    background:#0000ff;
    color:#ff0;
}
.color_ch a.btn_bg_black{
    background:#000;
    color:#fff;
}

/* 検索窓
----------------------------------------------------------- */
.pbInputForm{
    font-family: "Noto Sans JP", sans-serif !important;
}

.box_search form{
    position: relative;
}
.box_search .pbInputForm {
	box-sizing: border-box;
	position: relative;
	border: 1px solid #8f8f8f;
	padding: 3px 40px 3px 10px;
	border-radius: 20px;
	height: 2.3em;
	width: 235px;
	box-sizing: border-box;
	font-size: 0.85rem;
}

#sbtn2{
	width:28px;
	border-radius:0 4px 4px 0;
	background: inherit;
	border: none;
	color: #808080;
	font-size: 18px;
	cursor: pointer;
	position: absolute;
	left: 196px;
	top: 4px;
}
#sbtn2:hover{
/*background: #92dbff;*/
}
i.btn_search{
	content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    background-image: url(../common/icon_search.png);
    background-size: 18px;
    background-repeat: no-repeat;
    top: 3px;
    position: absolute;
    right: 5px;
}

input[type="text"]:focus{
	outline: none;
}

/*ヘッダーサブメニュー（国保連について・採用情報）
----------------------------------------------------------- */ 
.box_header_submenu>.pbNested {
    display: flex;
    justify-content: flex-end;
    align-items: center;
	column-gap: 15px;
}

.box_header_submenu>.pbNested:after{
    display:none;
}

.box_header_submenu a{
	display: inline-block;
	text-decoration: none;
	padding: 6px 45px 6px 33px;
	/*width:180px;*/
	text-align: center;
	position: relative;
	border: solid 1px #4575c5;
    border-radius: 50px;
    font-weight: bold;
    font-size: 0.9em;
}

.box_header_submenu .btn_recruit a{
	background:#4575c5;
}

.box_header_submenu .icon_arrow2 a::before{
	background-image: url(../common/arrow_circleblue.svg);
    background-size: 20px;
    top: 9px;
    left: inherit;
    right: 12px;
    width: 20px;
    height: 20px;
}
.box_header_submenu .btn_recruit.icon_arrow2 a::before{
	background-image: url(../common/arrow_circlewhite.svg);
}

.box_header_submenu a:link,
.box_header_submenu a:visited{
	color:#232323;
}

.box_header_submenu .btn_recruit :link,
.box_header_submenu .btn_recruit :visited{
	color:#fff;
}

.box_header_submenu a:hover{
	text-decoration: underline;
}

/*.box_header_submenu .btn_about a{
	background: #a8dbf4;
}

.box_header_submenu .btn_recruit a{
	background: #ffb300;
}*/


/*パンくず
----------------------------------------------------------- */ 
.box_pankuzu{
    padding: 15px 0 0;
    font-size: 0.85rem;
}

/* =============== フッター =============== */
.bg_footer{
	background:#59493f;
	color:#fff;
	padding: 60px 0;
}

.bg_footer a:link,
.bg_footer a:visited{
	color:#fff;
}

.flex_footer2>.pbNested {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    row-gap: 20px;
}


/* フッターリンク
----------------------------------------------------------- */ 
.box_footer_link>.pbNested {
    display: flex;
    justify-content: space-between;
	column-gap: 15px;
}

.box_footer_link>.pbNested:after{
    display:none;
}

.box_footer_link a{
	display: inline-block;
	border-radius: 50px;
	text-decoration: none;
	padding: 10px 24px 10px 59px;
	background:#fff;
	border:solid 3px #ea625c;
	font-weight:bold;
	position: relative;
	width: 214px;
    box-sizing: border-box;
	/*text-align: center;*/
	line-height: 1.3;
}

.box_footer_link a::before{
	content: "";
	display: inline-block;
    width: 16px;
    height: 24px;
    background-position: left 0 top 0px;
    background-size: 16px;
    background-repeat: no-repeat;
    top: calc(50% - 10px);
    position: absolute;
    left: 32px;
}

.box_footer_link .btn_contact a::before{
	background-image: url(../common/icon_contact.png);
}

.box_footer_link .btn_access a::before{
	background-image: url(../common/icon_access.png);
}

.box_footer_link a:link,
.box_footer_link a:visited{
	color:#232323;
}

.box_footer_link a:hover{
	text-decoration: underline;
}

/* 連絡先とメニュー
----------------------------------------------------------- */ 

.flex_footer_info>.pbNested {
    display: flex;
    justify-content: space-between;
    column-gap: 20px;
}

.flex_footer_info>.pbNested:after{
    display:none;
}

.box_footer_info{
    background: rgba(255,255,255,0.8);
    color:#232323;
    padding: 27px 40px;
    line-height: 1.4;
}

.box_footer_info>.pbNested {
    display: flex;
    justify-content: space-between;
    flex-direction:column;
    row-gap: 20px;
}

.box_footer_info>.pbNested:after{
    display:none;
}

.box_footer_info .logo img{
    width:320px;
}

.box_footer_info .corp_name,
.box_footer_info .ttl_officehours{
    font-size:1.37rem;
    font-weight:bold;
}

.box_footer_info .corp_num{
    font-size:0.95rem;
}

/* フッターメニュー
----------------------------------------------------------- */ 
.box_footer_menu{
	font-size:0.935em;
}

.box_footer_menu ul li{
	list-style-type: none;
    padding-left: 20px;
	margin-bottom: 6px;
	position: relative;
}

.box_footer_menu .icon_arrow ul li a::after{
    width: 6px;
    height: 6px;
	border-top: 2px solid #fff;
    border-right: 2px solid #fff;
	top: 14px;
	left: -15px;
}

.box_footer_menu a{
	text-decoration: none;
}

.box_footer_menu a:hover{
	text-decoration: underline;
}

/* コピーライト
----------------------------------------------------------- */ 
.bg_copyright{
    background:#353535;
    color:#fff;
    text-align: center;
    font-size:0.75rem;
    padding: 10px 0;
}

/* ページトップ
----------------------------------------------------------- */ 
/*.btn_pagetop{
    position: fixed;   
    right: 0;
    bottom: 0;
    z-index:1;
}*/

.btn_pagetop a {
    /*display: flex;
    align-items: center;
    justify-content: center;*/
    background: #fff;
    padding-top: 15px;
    color: #232323 !important;
    border: solid 1px #686868;
    border-radius: 9px;
    width: 60px;
    height: 60px;
    text-decoration: none;
    box-sizing: border-box;
    /*text-indent: -9999px;*/
	position: fixed;
    right: 10px;
    bottom: 10px;
    z-index: 1;
	white-space: nowrap;
	text-indent: 100%;
	overflow: hidden;
	display: inline-block;
	box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.2);
	margin:10px;
}

.btn_pagetop a::before{
    content: '';
    width: 24px;
    height: 25px;
    border: 0;
    position: absolute;
    top: calc(50% - 14px);
    left: calc(50% - 11px);
    margin: auto;
    transition: all .3s ease-in-out;
	background-image: url(../common/icon_pagetop.svg);
	background-repeat: no-repeat;
    background-size: 24px;
}

/* =============== PC版ボタン =============== */
.stViewMode{
	margin-top:15px;
	margin-bottom:15px;
}

.stViewMode dd {
	background: #232323; /* Old browsers */
    /*background-image: url(../sp/icon_pcChg.png);
    background-repeat: no-repeat;
    background-position: calc(50% - 84px) calc(100% - 50%);
    background-size: 20px;*/
    border-radius:50px;
}

.stViewMode a { 
	background: none; 
    position: relative;
    text-decoration: none;
    font-weight: bold;
}

.stViewMode a::before{
    content: "";
    display: inline-block;
    width: 23px;
    height: 20px;
    background-image: url(../sp/icon_pc.svg);
    background-size: 23px;
    background-repeat: no-repeat;
    top: calc(50% - 9px);
    position: absolute;
    left: calc(50% - 101px);
    box-sizing: border-box;
}

.stViewMode a:link {
	display: block;
	/*width: 100%;*/
	/*text-indent: -9999px;
	background-image: url(../sp/button_pc_sp.png);
	background-repeat: no-repeat;
	background-position: center;*/
   /*border: solid 1px #000;*/
	/*background-size: 150px auto;*/
	text-align: center;
	color:#fff;
	padding:12px 10px !important;
}

body .stViewMode a:link,
body .stViewMode a:visited,
body .stViewMode a:hover{
	color: #fff;	
	font-weight:bold;
}

/* =============== サイドメニュー =============== */
/* よくある質問と様式ダウンロード
----------------------------------------------------------- */ 
.flex_sidemenu>.pbNested {
    display: flex;
	flex-direction:column;
	row-gap: 20px;
}

.flex_sidemenu>.pbNested:after{
    display:none;
}

.flex_sidemenu a{
	display: block;
	background: #f4f2eb;
	padding: 20px 45px 20px 69px;
	border-radius: 7px;
	position: relative;
	text-decoration: none;
}

.flex_sidemenu .btn_faq a:after,
.flex_sidemenu .btn_dl a:after{
	content:'';
    width: 40px;
    height: 40px;
    margin: auto;
    position: absolute;
    top: calc(50% - 20px);
    left: 17px;
    background-position: center;
    background-size: 40px;
    background-repeat: no-repeat;
}

.flex_sidemenu .btn_faq a:after{
	background-image: url(../common/icon_faq.png);	
}

.flex_sidemenu .btn_dl a:after{
	background-image: url(../common/icon_dl.png);	
}

.flex_sidemenu .icon_arrow2 a::before{
	background-image: url(../common/arrow_green.svg);
    background-size: 17px;
    top: calc(50% - 8px);
    left: inherit;
    right: 20px;
    width: 17px;
    height: 17px;
}

.flex_sidemenu a:link,
.flex_sidemenu a:visited{
	color:#232323;
}

.flex_sidemenu a:hover{
	text-decoration: underline;
}

/* =============== メニューブロック =============== */
.kok-Menublock01{
    background: #f6f6f6;
	border-top:solid 3px #ee883c;
    /*padding: 15px 27px 15px 50px;*/
    /*font-weight: bold;*/
    /*margin-bottom: 26px;*/
    margin-top: 17px;
	position: relative;
}

.kok-Menublock02{
    border-bottom:dotted 2px #e6e6e6;
}

.kok-Menublock01 a,
.kok-Menublock02 a{
	text-decoration: none;
	display: block;
	padding: 15px 27px 15px 53px;
	position: relative;
}

.kok-Menublock01 a:before{
    content: '';
    width: 17px;
    height: 17px;
    background: #ee883c;
    border-radius: 50%;
    position: absolute;
    top: 20px;
    left: 25px;
    margin: auto;
}

.kok-Menublock01 a:after{
    content: '';
    width: 4px;
    height: 4px;
    border: 0;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    transform: rotate(45deg);
    position: absolute;
    top: 26px;
    left: 30px;
    margin: auto;
}

.kok-Menublock02 a:before{
    content: '';
    position: absolute;
    background-repeat: no-repeat;
    width: 13px;
    height: 13px;
    margin: auto;
	background-image: url(../common/arrow_lightblue.svg);
    background-size: 13px;
    top: 23px;
    left: 28px;
}

.kok-Menublock02 a[href$=".pdf"], * html.kok-Menublock02 a.pdf{
	background-position: 53px 18px;
	padding-left:84px;
}

.kok-Menublock01 a:link,
.kok-Menublock01 a:visited,
.kok-Menublock02 a:link,
.kok-Menublock02 a:visited{
    color:#232323;
}

.kok-Menublock01 a:hover,
.kok-Menublock02 a:hover{
    text-decoration: underline;
}

/* =============== カテゴリブロック =============== */
.pbWhatsnewTable td{
    border-bottom:solid 1px #d9d9d9;
    padding:10px 15px;
    vertical-align: top;
}

.pbWhatsnewTable td a:link,
.pbWhatsnewTable td a:visited{
	color:inherit;
}

.pbComponent_categoryType02 .pbComponent-categoryArticle img {
    margin-right: 20px;
}

/*.pbWhatsnewTable td.tar-category-menu{
    border-bottom:none;
    padding:0 0 20px 23px;
    position: relative;
    box-sizing: border-box;
}

.pbWhatsnewTable td.tar-category-menu::before{
    content: '';
    width: 16px;
    height: 16px;
    background: #15418e;
    border-radius: 50%;
    position: absolute;
    top: 5px;
    left: 0;
    margin: auto;
}

.pbWhatsnewTable td.tar-category-menu::after {
    content: '';
    width: 4px;
    height: 4px;
    border: 0;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    transform: rotate(45deg);
    position: absolute;
    top: 10px;
    left: 4px;
    margin: auto;
}

body .pbWhatsnewTable td.tar-category-menu a:link,
body .pbWhatsnewTable td.tar-category-menu a:visited{
    color:inherit;
}*/

/* =============== button =============== */
button{
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    font: inherit;
    color: inherit;
    text-align: inherit;
    appearance: none;
}

/* =============== トップページ用 =============== */

/* =============== フレキシブルボックス =============== */
.box_flex02,
.box_flex03{
    margin:15px 0;
}

.box_flex02>.pbNested,
.box_flex03>.pbNested{
    display: grid;
    gap: 20px;
}

.box_flex01>.pbNested:after,
.box_flex02>.pbNested:after,
.box_flex03>.pbNested:after{
    display:none;
}

.box_flex02>.pbNested{
    grid-template-columns: repeat(2, 1fr);
}

.box_flex03>.pbNested{
    grid-template-columns: repeat(3, 1fr);
}

/* =============== インデックスお知らせ =============== */
.box_news{
	border: solid 4px #a8dbf4;
    border-radius: 13px 13px 0 0;
    margin-bottom: 30px;
}

.box_news h2{
	padding:13px 30px;
	font-size:1.25em;
	border-radius: inherit;
	background:#a8dbf4;
	margin:0;
}

.box_news h2:after{
	content: inherit;
}

.area_category{
	padding:20px;
}

.link_newsall{
	text-align: right;
	margin-top: 13px;
}

.link_newsall a{
	position: relative;
	text-decoration: none;
	padding-right: 20px;
}

.link_newsall.icon_arrow2 a::before{
	left:inherit;
	right: 3px;
	top:8px;
	background-image: url(../common/arrow_blue.svg);
    background-size: 13px;
	
}

/* =============== アンカーリンク（目次） =============== */
.box_anchor{
	background:#fef8e8;
	padding:20px;
	margin: 30px 0;
}

.box_anchor ul{
	padding:0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
    column-gap: 15px;
}

.box_anchor ul li{
	position: relative;
}

.box_anchor ul li::after{
	top:14px;
	left: -18px;
	width: 6px;
    height: 6px;
	border-width:2px;
	transform: rotate(135deg);
}

/* =============== タイトルブロック（インデックス見出し） =============== */

/* =============== よくある質問 =============== */
.QABox{
    position: relative;
	border: solid 1px #232323;
	margin-bottom:30px;
}

.mj-topQA-q{
    cursor: pointer;
}

.qa_open{
	padding-left: 62px;
    padding-right: 30px;
    padding-top: 22px;
    padding-bottom: 22px;
    /*font-size: 115%;*/
    font-weight: bold;
	cursor: pointer;
}

.qa_ans{
    display: none;
    padding: 0 30px 22px 30px;
}

.qa_open::after{
    top:40px;
	left:inherit;
	right:30px;
	border-color:#59493f;
	transform: translate(0, -50%) rotate(135deg);
	transform-origin: center;
    transition: all 0.4s ease;
}

.qa_open.open::after{
 	transform:translate(0, -50%) rotate(-45deg);
}

.qa_open::before {
    content: "Q.";
    display: block;
    position: absolute;
    width: 31px;
    height: 27px;
    font-size: 1.5em;
    font-weight: 500;
    line-height: 28px;
    left: 24px;
    top: 19px;
    color:#4e89c3;
}

/* =============== ログインコーナーブロック =============== */
.kok-loginbox{
		margin-left: auto;
		margin-right: auto;
		margin-top: 20px;
		margin-bottom: 50px;
		padding-left: 20px;
		padding-right: 20px;
		padding-top: 20px;
		padding-bottom: 20px;
		border-top: 1px #E0E0E0 solid;
		border-bottom: 1px #E0E0E0 solid;
		border-left: 1px #E0E0E0 solid;
		border-right: 1px #E0E0E0 solid;
		background-color: #F6F6F6;
}

.kok-loginComment{
		margin-top: 60px;
		margin-bottom: 10px;
		font-size: 150%;
		font-weight: bold;
		text-align: center;
}

.kok-loginlabel{
		font-weight: bold;
}

.kok-loginform{
}

.kok-loginbtn{
	margin: 10px 0 20px;
	font-weight: bold;
	text-align: center;
}

.kok-loginform .pbInputForm,
.kok-loginform .pbLoginPassword{
    border:1px solid #d3d3d3;
    padding:5px;
    font-family:Meiryo, 'Hiragino Kaku Gothic ProN', 'MS PGothic', Sans-serif !important;
    box-sizing: border-box;
    width:100%;
    font-size:100%;
    margin-bottom:10px;
}

.kok-loginbtn input{
    cursor: pointer;
    border: none !important;
    padding: 11px 30px !important;
    min-width: 290px;
    background: #4575c5;
    color:#fff;
    font-weight: bold;
    font-size:100%;
	display: inline-block;
	border-radius:50px;
	position: relative;
	transition: 0.3s;
}

.kok-loginbtn input:hover{
	text-decoration: underline;
}


/* =============== リンク集 =============== */
.list_government ul{
	padding:0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap:5px;
}

.list_government ul li{
	margin:0;
}

/* =============== 医療機関 =============== */
.box_med_tel {
    border: 3px solid #d1d1d1;
    padding: 15px 20px;
    text-align: center;
    font-weight: bold;
    font-size: 1.15em;
	position: relative;
	z-index: 0;
}

.box_med_tel.pbNestedWrapper{
	overflow: inherit;
}

.box_med_tel:before {
	border-top: 3px solid #ea625c; /* 上辺の線の色（#8293AA） */
	border-left: 3px solid #ea625c; /* 左辺の線の色（#8293AA） */
	content: ''; /* 擬似要素にコンテンツなし */
	display: block; /* 擬似要素をブロック表示 */
	position: absolute; /* 配置（位置を指定） */
	top: -3px; /* 上から-3pxずらす */
	left: -3px; /* 左から-3pxずらす */
	width: 20px; /* 幅20px */
	height: 20px; /* 高さ20px */
	z-index: 1; /* 重なり順（前面に表示） */
}

.box_med_tel a:link,
.box_med_tel a:visited{
	color:#232323;
}

/* =============== 各種問い合わせ =============== */
.box_officetel{
	border:solid 2px #d1d1d1;
	padding:20px;
	margin:0 auto 20px;
	font-weight: bold;
    font-size: 1.5em;
    text-align: center;
	min-width: 740px;
    display: table;
}

.box_officetel .txt{
	font-size:0.55em;
	font-weight:normal;
}

.box_officetel .subtxt{
	font-size:0.55em;
}

.flex_contactbox>.pbNested {
    display: flex;
    justify-content: center;
    column-gap: 60px;
}

.flex_contactbox>.pbNested:after{
    display:none;
}

.flex_contactbox.kaigohoken>.pbNested{
	display:grid;
	grid-template-columns: max-content 1fr;
	column-gap: 30px;
}

/* =============== 会員ログイン =============== */
.box_loginfix{
	padding:20px;
	margin-top:30px;
	background:#fef8e8;
}

/* =============== 便利パーツ =============== */
.grid_box1>.pbNested {
    display: grid;
	grid-column-gap: 30px;
    grid-template-columns: repeat(2, 1fr);
}