@charset "utf-8";
/* CSS Document */

/* =============== PCサイト用=============== */

/* レイアウト
----------------------------------------------------------- */  
.pbLeftArea{
    margin-right:45px;
}

.pbMainArea{
    /*background:#fff;
    padding:30px;
    border-radius:10px;
    box-shadow: 0px 0px 11px 5px rgba(175, 175, 175, 0.38);*/
}

/*.gnavi-width,
.pankuzu-width,*/
.footer_width,
.header_width,
.contents_width,
.bx-controls{
	width:1200px;
	margin-left:auto !important;
	margin-right:auto !important;
}

.contents_width{
    position: relative;
    /*z-index:10;*/
}

.pbHeaderArea,
.pbAreaWrapper1,
.pbFooterArea{
	min-width:1200px;
}

.pbAreaWrapper1{
	width:1200px;
	margin-left:auto !important;
	margin-right:auto !important;
    /*position: relative;
    margin-top: 200px;*/
}

.pbHeaderArea{
    /*position: relative;*/
    /*margin-bottom: 30px;
    padding-top: 15px;*/
	margin-bottom: 40px;
}

.pbFooterArea{
    margin-top: 100px;
}

/*.pbRightArea{
    margin-left:45px;
}*/

/* =============== フィードバック =============== */
.footer_feedback_area{
    width:1200px;
	margin:0 auto 40px !important;
}


/* =============== ヘッダー =============== */
.flex_header{
	padding:20px 30px 0;
}

.flex_header>.pbNested {
    display: flex;
    justify-content: space-between;
}

.flex_header>.pbNested:after{
    display:none;
}

.flex_header2>.pbNested {
    display: flex;
    row-gap: 10px;
    flex-direction: column;
}

/* パーツ
----------------------------------------------------------- */ 
.header_parts>.pbNested,
.header_parts2>.pbNested {
    display: flex;
    justify-content: space-between;
    column-gap: 20px;
    align-items: center;
}

.header_parts>.pbNested:after,
.header_parts2>.pbNested:after{
    display:none;
}

.header_parts{
    font-size:0.87rem;
    font-weight: 600;
}

.ch_font{
    position: relative;
    padding: 0 0 0 24px;
    text-decoration: none;
}

.ch_font::before{
    content: "";
    display: inline-block;
    width: 18px;
    height: 18px;
    /* background-position: left 0 top 2px; */
    background-size: 18px;
    background-repeat: no-repeat;
    top: -1px;
    position: absolute;
    left: 0;
}


.ch_font::before{
    background-image: url(../common/icon_visibility.svg);
    top:9px;
    background-size: 19px;
    width: 20px;
}


/* =============== グロナビ =============== */
.bg_gnavi{
	background:#eee;
}
#gnavi{
    display: flex;
    position: relative;
    margin-top: 6px;
}

.g_kurashi{width:188px;}
.g_bosai{width:214px;}
.g_kenko{width:175px;}
.g_machi{width:231px;}
.g_chosei{width:158px;}
.g_kanko{width:234px;}

.gmenu_list{
    text-align: center;
    position: relative;
    f/*ont-size:1.2rem;*/
}

.gmenu{
    /*text-align: center;*/
    /*position: relative;*/
}

.gmenu_list a{
    display:block;
    padding:20px;
    /*background-color:#133580;*/
    /*font-size: 108%;*/
    font-weight: bold;
}

.gmenu_list a:link,
.gmenu_list a:visited,
.gmenu_list a:hover{
    color:#000;
    text-decoration: none;
}

#gnavi::before,
.gmenu_list::before{
    position: absolute;
    top: 23%;
    right: 0;
    width: 1px;
    height: 62%;
    content: '';
    background: #a4a4a4;
    /*z-index: 2;*/
}

#gnavi::before{
    right:inherit;
    left:0;
}

.gmenu_list.g_seika::before{
    display: none;
}

.gmenu_list a::before,
.gmenu_list a::after{
  border-bottom: solid 3px #0073c0;
  bottom: 12px;
  content: "";
  display: block;
  position: absolute;
  transition: all .3s ease;
  -webkit-transition: all .3s ease;
  width: 0;
}

.gmenu_list a::before{
  left: 50%;
}
.gmenu_list a::after{
  right: 50%;
}
.gmenu_list a:hover::before,
.gmenu_list a:hover::after{
  width: 30%;
}


/*#gnavi .gmenu .gmenu_list.current {
    color: #0172d2;
    background: #f2f2f2;
}*/

#gnavi .gmenu .gmenu_list.current a{
    /*color: #0172d2;*/
}

#gnavi .gmenu .gmenu_list.current a::before,
#gnavi .gmenu .gmenu_list.current a::after{
    width:30%;
}

.gmenu_list.icon_arrow2 a::before{
	height:inherit;
	top:inherit;
	margin:inherit;
}

/*　メガメニュー
----------------------------------------------------------- */ 
.drop {
    position: absolute;
    display: none;
    z-index:50;
    width:100%;
    top:100%;
    left:0;
    padding:35px 40px;
    background-color: #fff;
    /*border:solid 3px #14518e;*/
    border-radius: 0px 0px 25px 25px;
    box-sizing: border-box;
	box-shadow: 0px 6px 11px 0px rgba(175, 175, 175, 0.38);
    /*margin-top:20px;*/
}

/*.drop:before {
    content: "";
    position: absolute;
    top: -36px;
    left: 50%;
    margin-left: -26px;
    border: 13px solid transparent;
    border-bottom: 23px solid #14518e;
}*/


.mgmenu-blc{
    /*display: flex;
    flex-wrap: wrap;
    column-gap: 60px;
    row-gap: 20px;*/
	display:grid;
	grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}

.mgmenu-blc:after{
    display:none;
}

.mgmenu-blc .mgmenu-list {
    position: relative;
    /*font-weight: bold;*/
	/*border-bottom: 1px solid #b4d9f3;
    border-left: 1px solid #b4d9f3;*/
}
.mgmenu-blc .mgmenu-list::before {
    content: '';
    position: absolute;
    background-repeat: no-repeat;
	width:13px;
	height:13px;
    margin: auto;
    transition: all .3s ease-in-out;
	background-image: url(../common/arrow_lightblue.svg);
	background-size: 13px;
    top: 8px;
    left: 0;
}

.mgmenu-blc a{
    /*display: block;*/
    padding-left: 20px;
	text-decoration: none;
}

.mgmenu-blc .mgmenu-list a{
	/*display: block;
    padding: 15px 13px 15px 35px;*/
}

body .mgmenu-blc .mgmenu-list a:link,
body .mgmenu-blc .mgmenu-list a:visited{
    color: #232323;
}

body .mgmenu-blc .mgmenu-list a:hover{
    text-decoration: underline;
}

/*body .mgmenu-blc a:hover{
    text-decoration: underline;
}

.mgmenu-blc:hover::before {
    right:16px;
}
*/

/* =============== フッター =============== */
.flex_footer>.pbNested {
    display: flex;
    justify-content: space-between;
}

.flex_footer>.pbNested:after{
    display:none;
}

.box_footer_menu>.pbNested {
    display: flex;
    justify-content: space-between;
	column-gap: 20px;
}

.box_footer_menu>.pbNested:after{
    display:none;
}


/* =============== スマホ版ボタン =============== */
.stViewMode dt,
.stViewMode dd.stLast { 
	display: none; 
}

.stViewMode a::before{
    background-image: url(../sp/icon_sp.svg);
    background-size: 16px;
    width: 23px;
    height: 30px;
    top: calc(50% - 11px);
    left: calc(50% - 136px);
}

/* =============== メニューブロック =============== */


/* =============== 右メニュー =============== */
.side_menu{
    /*border:solid 1px #e6e6e6;
	background:#f6f6f6;
	padding: 20px;*/
}

.side_menu .ttl_menu{
    border-left:solid 6px #ee883c;
    font-weight: bold;
    padding: 0 15px;
    font-size: 1.25rem;
	margin-bottom: 12px;
}

.side_menu .pbBlockMenu{
    position: relative;
    line-height: 1.3;
}

.side_menu .pbBlockMenu a{
    display: block;
    padding: 15px 10px 15px 31px;
    text-decoration: none;
    font-weight:500;
    position: relative;
	border-bottom:dotted 1px #d1d1d1;
	font-size: 0.875em;
}

.side_menu .icon_arrow2 .pbBlockMenu a::before {
	background-image: url(../common/arrow_lightblue.svg);
	background-size: 13px;
    top: 18px;
    left:9px;
}

body .side_menu .pbBlockMenu a:link,
body .side_menu .pbBlockMenu a:visited{
    color:#232323;
}

body .side_menu .pbBlockMenu a:hover{
    text-decoration: underline;
}

.flex_sidemenu{
	margin-bottom: 30px;
}

/* =============== 各種問い合わせ =============== */
.box_officetel.kaigohoken{
	text-align: left;
	padding:20px 50px;
}