@charset "UTF-8";
/*-----------------------------------------
	ヘッダー
-----------------------------------------*/
@media screen and (max-width: 1300px) { #head_menu .hd_text, #head_menu #hm_wrap { padding: 0 40px; } }
/*1300px*/
@media screen and (max-width: 1100px) { #head_menu .hd_text, #head_menu #hm_wrap { padding: 0 10px; } }
/*1100px*/
/*900px*/
@media screen and (max-width: 640px) { #head_menu { padding: 8px 0; }
  #head_menu .hd_text { margin: 0 auto 3px auto; line-height: 1.3; font-size: 10px; }
  #head_menu #hm_wrap { margin: 0 auto; padding: 0 10px; }
  #head_menu #hm_wrap #hm_left .logo { width: 183px; }
  #head_menu #hm_wrap #hm_right { max-width: 400px; text-align: right; }
  #head_menu #hm_wrap #hm_right #hm_r_box ul.tel_contact li.tel { display: none; }
  #head_menu #hm_wrap #hm_right #hm_r_box ul.tel_contact li.contact { display: none; }
  #head_menu #hm_wrap #hm_right #hm_r_box ul.tel_contact li.sp_btn { display: block; width: 28px; height: 28px; position: relative; cursor: pointer; }
  #head_menu #hm_wrap #hm_right #hm_r_box ul.tel_contact li.sp_btn span { border-top: 2px solid #524b49; display: inline-block; font-size: 0; line-height: 0; position: absolute; left: 0; width: 28px; top: calc(50% - 4px); margin: -17px 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 #524b49; content: ""; display: inline-block; position: absolute; left: 0; width: 28px; transition: all 0.2s ease 0s; }
  #head_menu #hm_wrap #hm_right #hm_r_box ul.tel_contact li.sp_btn span::before { margin: 24px 0 0 0; }
  #head_menu #hm_wrap #hm_right #hm_r_box ul.tel_contact li.sp_btn span::after { margin: 12px 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; } }
/*640px*/
/*-----------------------------------------
　フッター
-----------------------------------------*/
@media screen and (max-width: 900px) { footer .ft_frm .ft_menu .frm { max-width: 700px; flex-wrap: wrap; }
  footer .ft_frm .ft_menu .frm > div { padding: 0 20px 0 0; width: 50%; }
  footer .ft_frm .ft_menu .frm > div:nth-of-type(n+3) { padding: 40px 20px 0 0; }
  footer .ft_frm .ft_codata { max-width: 720px; } }
/*900px*/
/*768px*/
@media screen and (max-width: 640px) { footer { padding: 0 0 34px 0; /*FIXナビ*/ /*ページトップへ*/ }
  footer .ft_frm .ft_menu { display: none; }
  footer .ft_frm .ft_codata { padding: 18px 10px 25px 10px; text-align: center; max-width: 306px; }
  footer .ft_frm .ft_codata address { font-style: normal; }
  footer .ft_frm .ft_codata address .sign { margin: 0 0 20px 0; display: flex; }
  footer .ft_frm .ft_codata address .sign > span { width: 112px; }
  footer .ft_frm .ft_codata address .sign > span img { display: block; max-width: 112px; }
  footer .ft_frm .ft_codata address .sign p { margin: 0 0 0 20px; flex: 1; -webkit-flex: 1; text-align: left; }
  footer .ft_frm .ft_codata address .sign p span.co { margin: 0 0 2px 0; display: block; line-height: 1.2; font-size: 13px; }
  footer .ft_frm .ft_codata address .sign p span.main { display: block; line-height: 1.4; font-size: 27px; }
  footer .ft_frm .ft_codata address .data ul { font-size: 13px; }
  footer .ft_frm .ft_codata address .data ul li.add { margin: 0 0 3px 0; }
  footer .ft_frm .ft_codata address .data ul li.add span { margin: 0 0 7px 0; display: block; width: 100%; }
  footer .ft_frm .ft_codata address .data ul li.tel span.cap, footer .ft_frm .ft_codata address .data ul li.tel span.no, footer .ft_frm .ft_codata address .data ul li.fax span.cap, footer .ft_frm .ft_codata address .data ul li.fax span.no { font-size: 13px; }
  footer #copyright { padding: 10px 10px; line-height: 1.4; }
  footer #copyright.noFixnavi { margin: 0 0 20px 0; }
  footer #copyright > span { display: block; width: 100%; }
  footer #side_fix ul li a { height: 34px; font-size: 12px; }
  footer #side_fix ul li:nth-of-type(1) a img { max-width: 12px; }
  footer #side_fix ul li:nth-of-type(2) a > span > span { display: none; }
  footer #pagetop { background: url("../img/arrow_top.png") center center no-repeat #2c78aa; background-size: 22px auto; bottom: 94px; width: 60px; height: 60px; } }
/*640px*/
@media screen and (max-width: 480px) { footer { /*FIXナビ*/ }
  footer #side_fix ul li a { font-size: 11px; letter-spacing: 0; } }
/*480px*/

/*# sourceMappingURL=hf_block_sp.css.map */
