@charset "UTF-8";
/*-----------------------------------------
	ヘッダー
-----------------------------------------*/
header { z-index: 8500; position: fixed; top: 0; background: none; width: 100%; }

#head_menu { width: 100%; margin: 0 auto; }
#head_menu img { backface-visibility: hidden; -webkit-backface-visibility: hidden; }
#head_menu .pc_no { display: none; }
#head_menu #hm_wrap { margin: 0 auto; padding: 0 0 0 50px; display: flex; position: relative; width: 100%; max-width: 1680px; align-items: center; }
#head_menu #hm_wrap #hm_left { display: flex; align-items: center; flex: 1; -webkit-flex: 1; }
#head_menu #hm_wrap #hm_left .logo { margin: 0 30px 0 0; width: 270px; line-height: 1; order: 1; }
#head_menu #hm_wrap #hm_left .logo a { display: block; width: 100%; }
#head_menu #hm_wrap #hm_left .logo a img { max-width: 270px; }
#head_menu #hm_wrap #hm_left .hd_text { line-height: 1.3; font-weight: 500; font-size: 14px; align-self: flex-end; order: 2; flex: 1; -webkit-flex: 1; }
#head_menu #hm_wrap #hm_right { width: 540px; }
#head_menu #hm_wrap #hm_right #hm_r_box ul.tel_contact { line-height: 0; font-size: 0; text-align: right; }
#head_menu #hm_wrap #hm_right #hm_r_box ul.tel_contact li { display: inline-block; vertical-align: middle; font-size: 15px; }
#head_menu #hm_wrap #hm_right #hm_r_box ul.tel_contact li.tel { width: 285px; line-height: 1.4; font-size: 14px; text-align: left; }
#head_menu #hm_wrap #hm_right #hm_r_box ul.tel_contact li.tel a { margin: 0 0 2px 0; padding: 0 0 0 40px; display: block; width: 100%; background-position: left top -4px; background-repeat: no-repeat; background-size: 30px auto; font-size: 27px; font-weight: 700; letter-spacing: 0.03em; pointer-events: none; }
#head_menu #hm_wrap #hm_right #hm_r_box ul.tel_contact li.tel a:link, #head_menu #hm_wrap #hm_right #hm_r_box ul.tel_contact li.tel a:visited { color: #005dbc; background-image: url("../img/icon_free_off.png"); }
#head_menu #hm_wrap #hm_right #hm_r_box ul.tel_contact li.tel a:active, #head_menu #hm_wrap #hm_right #hm_r_box ul.tel_contact li.tel a:hover { color: #849cbb; background-image: url("../img/icon_free_on.png"); }
#head_menu #hm_wrap #hm_right #hm_r_box ul.tel_contact li.contact { padding: 0 15px; border-left: 1px solid #005dbc; width: 140px; line-height: 1.4; font-size: 14px; text-align: center; }
#head_menu #hm_wrap #hm_right #hm_r_box ul.tel_contact li.contact a { padding: 40px 0 0 0; display: inline-block; font-weight: 700; }
#head_menu #hm_wrap #hm_right #hm_r_box ul.tel_contact li.contact a:link, #head_menu #hm_wrap #hm_right #hm_r_box ul.tel_contact li.contact a:visited { color: #000; background: url("../img/icon_mail_off.png") no-repeat center top; background-size: 40px auto; }
#head_menu #hm_wrap #hm_right #hm_r_box ul.tel_contact li.contact a:active, #head_menu #hm_wrap #hm_right #hm_r_box ul.tel_contact li.contact a:hover { color: #849cbb; background: url("../img/icon_mail_on.png") no-repeat center top; background-size: 40px auto; }
#head_menu #hm_wrap #hm_right #hm_r_box ul.tel_contact li.sp_btn { position: relative; width: 90px; height: 90px; cursor: pointer; background: #005dbc; }
#head_menu #hm_wrap #hm_right #hm_r_box ul.tel_contact li.sp_btn span { border-top: 2px solid #fff; display: inline-block; font-size: 0; line-height: 0; position: absolute; left: 25px; width: 40px; top: calc(50% - 4px); margin: -14px 0 0; transition: all 0.2s ease 0s; }
#head_menu #hm_wrap #hm_right #hm_r_box ul.tel_contact li.sp_btn span::before, #head_menu #hm_wrap #hm_right #hm_r_box ul.tel_contact li.sp_btn span::after { border-top: 2px solid #fff; content: ""; display: inline-block; position: absolute; left: 0; width: 40px; transition: all 0.2s ease 0s; }
#head_menu #hm_wrap #hm_right #hm_r_box ul.tel_contact li.sp_btn span::before { margin: 32px 0 0 0; }
#head_menu #hm_wrap #hm_right #hm_r_box ul.tel_contact li.sp_btn span::after { margin: 15px 0 0 0; }
#head_menu #hm_wrap #hm_right #hm_r_box ul.tel_contact li.sp_btn:hover, #head_menu #hm_wrap #hm_right #hm_r_box ul.tel_contact li.sp_btn:active { opacity: 0.8; }
#head_menu #hm_wrap #hm_right #hm_r_box ul.tel_contact li.sp_btn.opened span { -moz-transform: rotate(45deg); -webkit-transform: rotate(45deg); -o-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); margin: 3px 0 0 0; }
#head_menu #hm_wrap #hm_right #hm_r_box ul.tel_contact li.sp_btn.opened span::before, #head_menu #hm_wrap #hm_right #hm_r_box ul.tel_contact li.sp_btn.opened span::after { content: ""; display: inline-block; position: absolute; }
#head_menu #hm_wrap #hm_right #hm_r_box ul.tel_contact li.sp_btn.opened span::before { -moz-transform: rotate(-90deg); -webkit-transform: rotate(-90deg); -o-transform: rotate(-90deg); -ms-transform: rotate(-90deg); transform: rotate(-90deg); margin: -2px 0 0 0px; }
#head_menu #hm_wrap #hm_right #hm_r_box ul.tel_contact li.sp_btn.opened span::after { opacity: 0; -moz-transform: none; -webkit-transform: none; -o-transform: none; -ms-transform: none; transform: none; }

/*----- スクロール時のheaderの動作 -----*/
header.filter { transition-property: background; transition-duration: 1s; }
header.filter.filter_on { background: rgba(255, 255, 255, 0); }
header.filter.filter_off { background: white; }

/*-----------------------------------------
　フッター
-----------------------------------------*/
footer { /*FIXナビ*/ /*ページトップへ*/ }
footer .ft_frm .ft_menu { padding: 45px 10px 50px 10px; color: #fff; background: #005dbc; }
footer .ft_frm .ft_menu .frm { margin: 0 auto; display: flex; width: 100%; max-width: 1160px; }
footer .ft_frm .ft_menu .frm > div { padding: 0 20px 0 0; width: 20%; }
footer .ft_frm .ft_menu .frm > div a:link, footer .ft_frm .ft_menu .frm > div a:visited { color: #fff; }
footer .ft_frm .ft_menu .frm > div a:active, footer .ft_frm .ft_menu .frm > div a:hover { color: #89b8de; }
footer .ft_frm .ft_menu .frm > div a span.cap { font-size: 13px; }
footer .ft_frm .ft_menu .frm > div p { padding: 0 0 22px 20px; line-height: 1.2; background: url("../img/foot_icon.png") no-repeat left top 3px; background-size: 4px auto; font-size: 15px; font-weight: 700; }
footer .ft_frm .ft_menu .frm > div ul li { margin: 14px 0 0 0; line-height: 1.4; font-size: 14px; }
footer .ft_frm .ft_menu .frm > div ul li:first-of-type { margin: 0; }
footer .ft_frm .ft_menu .frm > div ul li a span.window { padding: 0 24px 0 0; background: url("../img/link_w.png") no-repeat right top 3px; background-size: 15px auto; }
footer .ft_frm .ft_menu .frm > div ul li a span.cap { font-size: 13px; }
footer .ft_frm .ft_menu .frm > div ul + p { margin: 50px 0 0 0; }
footer .ft_frm .ft_codata { padding: 35px 10px 30px 10px; color: #fff; background: #005dbc; }
footer .ft_frm .ft_codata address { margin: 0 auto; display: block; width: 100%; font-style: normal; max-width: 1160px; }
footer .ft_frm .ft_codata address .sign { margin: 0 0 0 auto; display: flex; max-width: 400px; }
footer .ft_frm .ft_codata address .sign > span { width: 56px; }
footer .ft_frm .ft_codata address .sign > div { margin: 0 0 0 30px; flex: 1; -webkit-flex: 1; }
footer .ft_frm .ft_codata address .sign > div > p { line-height: 1.4; font-size: 20px; font-weight: 700; }
footer .ft_frm .ft_codata address .sign > div > ul { display: flex; display: -webkit-flex; width: 100%; font-size: 14px; flex-wrap: wrap; }
footer .ft_frm .ft_codata address .sign > div > ul li { line-height: 1.4; font-size: 14px; }
footer .ft_frm .ft_codata address .sign > div > ul li.tel, footer .ft_frm .ft_codata address .sign > div > ul li.fax { margin: 8px 0 0 0; }
footer .ft_frm .ft_codata address .sign > div > ul li.tel span, footer .ft_frm .ft_codata address .sign > div > ul li.fax span { display: inline-block; line-height: 0; vertical-align: middle; font-size: 0; }
footer .ft_frm .ft_codata address .sign > div > ul li.tel span.cap, footer .ft_frm .ft_codata address .sign > div > ul li.fax span.cap { line-height: 1.2; font-size: 14px; }
footer .ft_frm .ft_codata address .sign > div > ul li.tel span.no, footer .ft_frm .ft_codata address .sign > div > ul li.fax span.no { line-height: 1.2; font-size: 14px; }
footer .ft_frm .ft_codata address .sign > div > ul li.tel::after { margin: 0 1px; position: relative; top: 2px; line-height: 1.2; font-size: 12px; content: '／'; }
footer .ft_frm .ft_codata address .sign > div > ul li.add { margin: 10px 0 0 0; width: 100%; font-size: 14px; }
footer .ft_frm .ft_codata address .sign > div > ul li.add span { display: block; }
footer .ft_frm .ft_codata address .sign > div > ul li.add span.cap { margin: 0 20px 0 0; }
footer .ft_frm .ft_codata address .sign > div > ul li.add span.data > span:not(:first-of-type) { margin: 10px 0 0 0; }
footer #copyright { padding: 4px 10px; width: 100%; color: #fff; background: #005dbc; text-align: center; font-size: 11px; font-weight: 700; }
footer #copyright.noFixnavi { margin: 0 0 20px 0; }
footer #side_fix { display: none; position: fixed; bottom: 0; width: 100%; background-color: #333; z-index: 10000; }
footer #side_fix ul { margin: 0 auto; display: flex; display: -webkit-flex; width: 100%; max-width: 1100px; }
footer #side_fix ul li { border-left: 1px solid #fff; display: flex; display: -webkit-flex; width: 25%; text-align: center; }
footer #side_fix ul li a { display: flex; display: -webkit-flex; width: 100%; height: 50px; line-height: 1.2; color: #fff; background-color: #333; font-size: 14px; font-weight: 500; text-decoration: none; flex-direction: column; -webkit-box-orient: vertical; -webkit-box-direction: normal; justify-content: center; -webkit-box-pack: center; }
footer #side_fix ul li a:hover { background-color: #c69c6d; color: #fff; }
footer #side_fix ul li:first-of-type { border-left: none; }
footer #side_fix ul li:nth-of-type(1) a img { max-width: 18px; }
footer .not_fixlink { display: none; }
footer #pagetop { position: fixed; display: none; background: url("../img/arrow_top.png") center center no-repeat #89b8de; background-size: 22px auto; right: 20px; bottom: 100px; width: 60px; height: 60px; color: #fff; text-align: center; cursor: pointer; z-index: 8000; }
footer #pagetop:hover { opacity: 0.75; }
footer #pagetop.pagetop_active { display: block; }

/*# sourceMappingURL=hf_block.css.map */
